Installation automatisée d’une Debian Squeeze avec un fichier Preseed.cfg


Bonjour à tous,

Aujourd’hui je vais vous faire partager la manipulation à suivre afin de créer une image de Debian entièrement automatisée (enfin presque, puisque seul le nom du serveur sera demandé).

Quelques petites précisions :

  • Espace disque : Cette installation est valable pour une installation sur un disque de 10Go. Si vous souhaitez créer votre table de partition manuellement, vous pouvez supprimer les lignes en rapport avec les FS.
  • Durée de l’installation : Entre le moment où vous appuyez sur « Lancer l’installation » et le moment où apparait le prompt pour le login/pass, il s’est passé 4m40s, pas mal non ? ^_^


Dans un premier temps, il faut créer le fichier preseed.cfg suivant :

# Locales
d-i debian-installer/locale select fr_FR.UTF-8

# Keyboard
d-i console-keymaps-at/keymap select fr-latin9
d-i keyboard-configuration/xkb-keymap select fr(latin9)

# Network
d-i netcfg/choose_interface select auto
d-i netcfg/get_domain string unassigned-domain

# Miroir + Proxy
d-i mirror/country string manual
d-i mirror/http/hostname string mymirror.domain.tld
d-i mirror/http/directory string /debian
d-i mirror/http/proxy string

# Distribution a installer.
d-i mirror/suite string squeeze
d-i mirror/udeb/suite string squeeze

# Compte root + 1er compte utilisateur
d-i passwd/root-password-crypted password $1$qCP/fKPR$1234PZ39vnxJlWC0sqM76b0
d-i passwd/user-fullname string bonin
d-i passwd/username string bonin
d-i passwd/user-password-crypted password $1$lmSKuibG$cDMRxTiPUI1123tQM7igMQ1

# Clock
d-i clock-setup/utc boolean true
d-i time/zone string Europe/Paris
d-i clock-setup/ntp boolean true
d-i clock-setup/ntp-server string

# Partitionning
# Remove any existing LVM traces:
d-i partman-auto/method string lvm
d-i partman-lvm/device_remove_lvm boolean true
d-i partman-md/device_remove_md boolean true
d-i partman-lvm/confirm boolean true
d-i partman-lvm/confirm_nooverwrite boolean true

d-i partman-auto-lvm/new_vg_name string vg01

# Préparation du schéma de partitionnement avec une partition /boot de 256Mo,
# le reste de la partition en LVM, puis dans ce LVM : / de 4Go, /var de 4Go et le swap avec le reste
d-i partman-auto/expert_recipe string   \
boot-root ::                    \
256 1000000 256 ext3    \
$primary{ }             \
$bootable{ }            \
method{ format }        \
format{ }               \
use_filesystem{ }       \
filesystem{ ext3 }      \
mountpoint{ /boot }     \
.                       \
100 100000 10000000 lvm \
$primary{ }             \
$defaultignore{ }       \
method{ lvm }           \
vg_name{ vg01 }         \
.                       \
4352 10000 4352 ext3    \
$lvmok{ }               \
in_vg{ vg01 }           \
lv_name{ racine }       \
method{ format }        \
format{ }               \
use_filesystem{ }       \
filesystem{ ext3 }      \
mountpoint{ / }         \
.                       \
4352 10000 4352 ext3    \
$lvmok{ }               \
in_vg{ vg01 }           \
lv_name{ var }          \
method{ format }        \
format{ }               \
use_filesystem{ }       \
filesystem{ ext3 }      \
mountpoint{ /var }      \
.                       \
100% 10000 100% linux-swap \
$lvmok{ }               \
in_vg{ vg01 }           \
lv_name{ swap }         \
method{ swap }          \
format{ }               \
.

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

# Apt
d-i apt-setup/services-select multiselect security
d-i apt-setup/non-free boolean true
d-i apt-setup/contrib boolean true
d-i apt-setup/security_host string mymirror.domain.tld/security

# Ne pas participer au programme de recolte d'informations
popularity-contest popularity-contest/participate boolean false

# Grub
# Auto install grub if this is the only one system.
d-i grub-installer/only_debian boolean true

# Standard minimal system
tasksel tasksel/first multiselect standard

# Ajout de paquets supplementaires
d-i pkgsel/include string openssh-server build-essential

# End
# Reboot automatically
d-i finish-install/reboot_in_progress note

Une fois ce fichier terminé, il faut reconstruire l’image (en supposant que votre image est la suivante debian-600-amd64-netinst.iso) :

$ mkdir debian-600-amd64
$ bsdtar -C ./debian-600-amd64 -xf ./debian-600-amd64-netinst.iso
$ cd debian-600-amd64
$ cp install.amd/initrd.gz install.amd/initrd.gz.old
$ mkdir initrd
$ cd initrd
$ gunzip -c ../install.amd/initrd.gz.old | cpio -id
$ cp /path/to/preseed.cfg .
$ find . | cpio --create --format='newc' | gzip  > ../initrd.gz
$ cd ..
$ mv initrd.gz install.amd/
$ rm -Rf initrd && rm -Rf install.amd/initrd.gz.old
$ md5sum `find ! -name "md5sum.txt" ! -path "./isolinux/*" ! -name "debian" -follow -type f` > ./md5sum.txt
$ cd ..
$ mkisofs -o  ./debian-600-amd64-netinst-custom.iso \
-V di`date -u +%m%d%H%M%S` \
-r -J -no-emul-boot -boot-load-size 4 -boot-info-table \
-b isolinux/isolinux.bin -c isolinux/boot.cat \
./debian-600-amd64

Et voilà le tour est joué! Vous avez une Debian automatisée 🙂

1 Star2 Stars3 Stars4 Stars5 Stars (1 votes, average: 5,00 out of 5)

Loading...

Une réflexion au sujet de « Installation automatisée d’une Debian Squeeze avec un fichier Preseed.cfg »

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *


*