Skip to content
Snippets Groups Projects
Commit 556a05a6 authored by Anas Sibarni's avatar Anas Sibarni
Browse files

commencement partie 5

parent 966ca57c
Branches
No related tags found
No related merge requests found
--iprt-iso-maker-file-marker-bourne-sh=@@UUID@@
--volume-id=S203-viso --file-mode=0444 --dir-mode=0555 --no-file-mode --no-dir-mode
--import-iso=/home/public/r205/debian-12.9.0-amd64-netinst.iso --file-mode=0444 --dir-mode=0555
isolinux/isolinux.cfg=:must-remove: 'isolinux/isolinux.cfg=isolinux-isolinux.cfg'
/isolinux/txt.cfg=:must-remove: '/isolinux/txt.cfg=isolinux-txt-fr.cfg'
'/preseed.cfg=preseed-fr.cfg'
'/vboxpostinstall.sh=vboxpostinstall.sh' --push-iso=/usr/share/virtualbox/VBoxGuestAdditions.iso /vboxadditions=/
--pop
# D-I config version 2.0
# search path for the c32 support libraries (libcom32, libutil etc.)
path
include txt.cfg
default vesamenu.c32
prompt 0
timeout 3
label SAE203VBoxAutoInstallGFX
menu label ^Installation graphique
kernel /install.amd/vmlinuz
append auto=true priority=critical vga=788 initrd=/install.amd/gtk/initrd.gz locale=fr_FR.UTF-8 --- quiet file=/cdrom/preseed.cfg splash noprompt noshell automatic-ubiquity --
label SAE203VBoxAutoInstallTXT
menu label Installation texte
kernel /install.amd/vmlinuz
append auto=true priority=critical vga=788 initrd=/install.amd/initrd.gz locale=fr_FR.UTF-8 --- quiet file=/cdrom/preseed.cfg splash noprompt noshell automatic-ubiquity --
default SAE203VBoxAutoInstallGFX
### Partition
## Configuration
d-i partman-auto/disk string /dev/sda
d-i partman-auto/method string regular
d-i partman-auto/choose_recipe select atomic
d-i partman-lvm/device_remove_lvm boolean true
d-i partman-md/device_remove_md boolean true
## Validation automatique
d-i partman-partitioning/confirm_write_new_label boolean true
d-i partman/choose_partition select finish
d-i partman/confirm boolean true
d-i partman/confirm_nooverwrite boolean true
### Localisation
# Préconfigurer la locale seule définit la langue, le pays et la locale.
d-i debian-installer/locale string fr_FR.UTF-8
# On peut aussi demander la création d'autres locales.
#d-i localechooser/supported-locales multiselect en_US.UTF-8, …
## Clavier
d-i console-setup/ask_detect boolean false
d-i console-keymaps-at/keymap select fr-latin9
d-i keyboard-configuration/xkb-keymap select fr(latin9)
### Réseau
d-i netcfg/get_hostname string S203
d-i netcfg/get_domain string unassigned-domain
# Netcfg choisira une interface connectée si possible. Cela empêchera
# d'afficher une liste s'il y a plusieurs interfaces.
d-i netcfg/choose_interface select auto
# WIFI : Désactiver dialogue clé WEP
#d-i netcfg/wireless_wep string
### Horloge
d-i clock-setup/utc-auto boolean true
d-i clock-setup/ntp boolean false
d-i time/zone string Europe/Paris
### Ajout des comptes root et user
d-i user-setup/allow-password-weak boolean true
## root
d-i passwd/root-login boolean true
d-i passwd/root-password password root
d-i passwd/root-password-again password root
## Utilisateur standard
d-i passwd/user-fullname string User
d-i passwd/username string user
d-i passwd/user-password password user
d-i passwd/user-password-again password user
d-i passwd/user-default-groups string audio cdrom video
### Packages, Mirrors, Image
## Proxy : Obligatoire à l'université
d-i mirror/http/proxy string http://cache.univ-lille.fr:3128
#d-i base-installer/kernel/override-image string linux-server
#d-i base-installer/kernel/override-image string linux-image-amd64
d-i pkgsel/install-language-support boolean false
### Apt setup
# Pas de media supplémentaire sur cdrom
d-i apt-setup/disable-cdrom-entries boolean true
# Téléchargement de firmware non-libres, si nécessaire, sans demander
#d-i hw-detect/load_firmware boolean true
d-i apt-setup/contrib boolean true
d-i apt-setup/non-free boolean true
d-i apt-setup/services-select multiselect security, updates
#d-i apt-setup/restricted boolean true
#d-i apt-setup/universe boolean true
## Installation meta-paquetages
# Tâches à installer (via des méta-paquetages)
# Lister les possibilités : tasksel --list-task (en ligne de commande)
# Utiliser au minimum "standard" est une bonne idée
tasksel tasksel/first multiselect standard ssh-server
### Suivi statistiques paquets installés
popularity-contest popularity-contest/participate boolean false
### Grub
d-i grub-installer/grub2_instead_of_grub_legacy boolean true
d-i grub-installer/only_debian boolean true
d-i grub-installer/timeout string 2
# To install to the first device (assuming it is not a USB stick):
d-i grub-installer/bootdev string default
d-i finish-install/reboot_in_progress note
### Custom Commands.
# Note! Debian netboot images use busybox, so no bash.
# Tell script to use target bash.
# Adding Virtualbox GuestAdditions (implies VBoxGuestAdditions.iso defined)
d-i preseed/late_command string cp /cdrom/vboxpostinstall.sh /target/root/vboxpostinstall.sh \
&& chmod +x /target/root/vboxpostinstall.sh \
&& /bin/sh /target/root/vboxpostinstall.sh --need-target-bash --preseed-late-command
#!/bin/bash
## @file
# Post installation script template for debian-like distros.
#
# Note! This script expects to be running w/o chroot.
# Note! When using ubiquity, this is run after installation logs have
# been copied to /var/log/installation.
#
#
# Copyright (C) 2017-2022 Oracle and/or its affiliates.
#
# This file is part of VirtualBox base platform packages, as
# available from https://www.virtualbox.org.
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation, in version 3 of the
# License.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, see <https://www.gnu.org/licenses>.
#
# SPDX-License-Identifier: GPL-3.0-only
#
#
# Globals.
#
MY_TARGET="/target"
MY_LOGFILE="${MY_TARGET}/var/log/vboxpostinstall.log"
MY_CHROOT_CDROM="/cdrom"
MY_CDROM_NOCHROOT="/cdrom"
MY_EXITCODE=0
MY_DEBUG="" # "yes"
#
# Do we need to exec using target bash? If so, we must do that early
# or ash will bark 'bad substitution' and fail.
#
if [ "$1" = "--need-target-bash" ]; then
# Try figure out which directories we might need in the library path.
if [ -z "${LD_LIBRARY_PATH}" ]; then
LD_LIBRARY_PATH="${MY_TARGET}/lib"
fi
for x in \
${MY_TARGET}/lib \
${MY_TARGET}/usr/lib \
${MY_TARGET}/lib/*linux-gnu/ \
${MY_TARGET}/lib32/ \
${MY_TARGET}/lib64/ \
${MY_TARGET}/usr/lib/*linux-gnu/ \
${MY_TARGET}/usr/lib32/ \
${MY_TARGET}/usr/lib64/ \
;
do
if [ -e "$x" ]; then LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${x}"; fi;
done
export LD_LIBRARY_PATH
# Append target bin directories to the PATH as busybox may not have tee.
PATH="${PATH}:${MY_TARGET}/bin:${MY_TARGET}/usr/bin:${MY_TARGET}/sbin:${MY_TARGET}/usr/sbin"
export PATH
# Drop the --need-target-bash argument and re-exec.
shift
echo "******************************************************************************" >> "${MY_LOGFILE}"
echo "** Relaunching using ${MY_TARGET}/bin/bash $0 $*" >> "${MY_LOGFILE}"
echo "** LD_LIBRARY_PATH=${LD_LIBRARY_PATH}" >> "${MY_LOGFILE}"
echo "** PATH=${PATH}" >> "${MY_LOGFILE}"
exec "${MY_TARGET}/bin/bash" "$0" "$@"
fi
#
# Commands.
#
# Logs execution of a command.
log_command()
{
echo "--------------------------------------------------" >> "${MY_LOGFILE}"
echo "** Date: `date -R`" >> "${MY_LOGFILE}"
echo "** Executing: $*" >> "${MY_LOGFILE}"
"$@" 2>&1 | tee -a "${MY_LOGFILE}"
MY_TMP_EXITCODE="${PIPESTATUS[0]}"
if [ "${MY_TMP_EXITCODE}" != "0" ]; then
if [ "${MY_TMP_EXITCODE}" != "${MY_IGNORE_EXITCODE}" ]; then
echo "** exit code: ${MY_TMP_EXITCODE}" | tee -a "${MY_LOGFILE}"
MY_EXITCODE=1;
else
echo "** exit code: ${MY_TMP_EXITCODE} (ignored)" | tee -a "${MY_LOGFILE}"
fi
fi
}
# Logs execution of a command inside the target.
log_command_in_target()
{
#
# We should be using in-target here, however we don't get any stderr output
# from it because of log-output. We can get stdout by --pass-stdout, but
# that's not helpful for failures.
#
# So, we try do the chroot prepping that in-target does at the start of the
# script (see below) and just use chroot here.
#
log_command chroot "${MY_TARGET}" "$@"
# log_command in-target --pass-stdout "$@" # No stderr output... :-(
}
# Checks if $1 is a command on the PATH inside the target jail.
chroot_which()
{
for dir in /bin /usr/bin /sbin /usr/sbin;
do
if [ -x "${MY_TARGET}${dir}/$1" ]; then
return 0;
fi
done
return 1;
}
#
# Log header.
#
echo "******************************************************************************" >> "${MY_LOGFILE}"
echo "** VirtualBox Unattended Guest Installation - Late installation actions" >> "${MY_LOGFILE}"
echo "** Date: `date -R`" >> "${MY_LOGFILE}"
echo "** Started: $0 $*" >> "${MY_LOGFILE}"
#
# Setup the target jail ourselves since in-target steals all the output.
#
if [ -f /lib/chroot-setup.sh ]; then
MY_HAVE_CHROOT_SETUP="yes"
. /lib/chroot-setup.sh
if chroot_setup; then
echo "** chroot_setup: done" | tee -a "${MY_LOGFILE}"
else
echo "** chroot_setup: failed $?" | tee -a "${MY_LOGFILE}"
fi
else
MY_HAVE_CHROOT_SETUP=""
fi
#
# We want the ISO available inside the target jail.
#
if [ -d "${MY_TARGET}${MY_CHROOT_CDROM}" ]; then
MY_RMDIR_TARGET_CDROM=
else
MY_RMDIR_TARGET_CDROM="yes"
log_command mkdir -p ${MY_TARGET}${MY_CHROOT_CDROM}
fi
if [ -f "${MY_TARGET}${MY_CHROOT_CDROM}/vboxpostinstall.sh" ]; then
MY_UNMOUNT_TARGET_CDROM=
echo "** binding cdrom into jail: already done" | tee -a "${MY_LOGFILE}"
else
MY_UNMOUNT_TARGET_CDROM="yes"
log_command mount -o bind "${MY_CDROM_NOCHROOT}" "${MY_TARGET}${MY_CHROOT_CDROM}"
if [ -f "${MY_TARGET}${MY_CHROOT_CDROM}/vboxpostinstall.sh" ]; then
echo "** binding cdrom into jail: success" | tee -a "${MY_LOGFILE}"
else
echo "** binding cdrom into jail: failed" | tee -a "${MY_LOGFILE}"
fi
if [ "${MY_DEBUG}" = "yes" ]; then
log_command find "${MY_TARGET}${MY_CHROOT_CDROM}"
fi
fi
#
# Debug
#
if [ "${MY_DEBUG}" = "yes" ]; then
log_command id
log_command ps
log_command ps auxwwwf
log_command env
log_command df
log_command mount
log_command_in_target df
log_command_in_target mount
#log_command find /
MY_EXITCODE=0
fi
#
# Packages needed for GAs.
#
echo "--------------------------------------------------" >> "${MY_LOGFILE}"
echo '** Installing packages for building kernel modules...' | tee -a "${MY_LOGFILE}"
log_command_in_target apt-get -y install build-essential
log_command_in_target apt-get -y install linux-headers-$(uname -r)
#
# GAs
#
echo "--------------------------------------------------" >> "${MY_LOGFILE}"
echo '** Installing VirtualBox Guest Additions...' | tee -a "${MY_LOGFILE}"
MY_IGNORE_EXITCODE=2 # returned if modules already loaded and reboot required.
log_command_in_target /bin/bash "${MY_CHROOT_CDROM}/vboxadditions/VBoxLinuxAdditions.run" --nox11
log_command_in_target /bin/bash -c "udevadm control --reload-rules" # GAs doesn't yet do this.
log_command_in_target /bin/bash -c "udevadm trigger" # (ditto)
MY_IGNORE_EXITCODE=
log_command_in_target usermod -a -G vboxsf "user"
#
# Test Execution Service.
#
#
# Run user command.
#
#
# Unmount the cdrom if we bound it and clean up the chroot if we set it up.
#
if [ -n "${MY_UNMOUNT_TARGET_CDROM}" ]; then
echo "** unbinding cdrom from jail..." | tee -a "${MY_LOGFILE}"
log_command umount "${MY_TARGET}${MY_CHROOT_CDROM}"
fi
if [ -n "${MY_RMDIR_TARGET_CDROM}" ]; then
log_command rmdir "${MY_TARGET}${MY_CHROOT_CDROM}"
fi
if [ -n "${MY_HAVE_CHROOT_SETUP}" ]; then
if chroot_cleanup; then
echo "** chroot_cleanup: done" | tee -a "${MY_LOGFILE}"
else
echo "** chroot_cleanup: failed $?" | tee -a "${MY_LOGFILE}"
fi
fi
#
# Log footer.
#
echo "******************************************************************************" >> "${MY_LOGFILE}"
echo "** Date: `date -R`" >> "${MY_LOGFILE}"
echo "** Final exit code: ${MY_EXITCODE}" >> "${MY_LOGFILE}"
echo "******************************************************************************" >> "${MY_LOGFILE}"
exit ${MY_EXITCODE}
images/confifuration-vm-5.png

111 KiB

images/config-vm-memoire.png

79.4 KiB

images/config-vm-stockage1.png

94.4 KiB

images/recapitulatif-5.png

105 KiB

......@@ -147,3 +147,16 @@ Visualiser tous les group du pc : `getent group`
>◦ Quel est le dernier nom de code annoncé à ce jour ? bookworm
◦ Quand a-t-il été annoncé ? 10 juin 2023
◦ Quelle est la version de cette distribution ? 12
### Installation préconfigurée
#### Récupérer et préparer les fichiers nécessaires
Faire une nouvelle machine avec les caractéristiques suivantes :
- Nom de la machine dans VirtualBox : *sae203*
- Dossier de la machine : /usr/local/virtual_machine/infoetu/*login* | Bien entendu, login est à remplacer par votre login.
- Type : Linux
- Version : *Debian 64-bit *
- Mémoire vive (RAM) : *2048 Mo*
- Disque dur : *20 Go* (nous feront une seule partition), ne pas cocher la case "Pre-allocate Full Size"
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment