User Tools

Site Tools


informatique:logiciels:debootstrap

logiciel linux debian

Debootstrap

Debootstrap est un outil pour créer une installation Debian (& consorts) minimaliste à chaud, c'est à dire avec un système qui tourne. La nouvelle installation se fait bien sur sur une autre partition.

Dans les notes suivantes nous allons, à partir d'une Ubuntu, créer une Debian Lenny minimaliste sur un nouveau disque récemment ajouté.

État de l'art

Voici un résumé de la configuration que nous avons :

  • Un HDD IDE (PATA) est branché en primaire (je boot dessus), le bootloader installé sur son MBR est Grub. / est sur /dev/hda3 ; la swap est sur /dev/hda5.
  • Je rajoute un nouveau HDD SATA (/dev/sda), j'ai créé 2 partitions dessus : /dev/sda1 pour accueillir mon futur / et /dev/sda2 pour la swap.

NB : J'ai partitionné mon disque avec gparted (graphique) et cfdisk (textuel).

NB' : Il faut activer le flag boot sur /dev/sda1 sinon le disque ne sera pas bootable (Manage flag sous gparted).

Pré-installation

Il faut juste monter /dev/sda1

sudo mkdir /media/disk
sudo mount /dev/sda1 /media/disk

Installation du système de base

Installation de debootstrap:

aptitude install debootstrap

Lancer debootstrap

sudo debootstrap lenny /media/disk
I: Retrieving Release
I: Retrieving Packages
I: Validating Packages
[..]
I: Base system installed successfully.

Vérification (ci dessous, résultat truqué :)):

ls /media/disk
bin    dev  home        initrd.img.old  lost+found  opt   sbin     sys  var
boot   etc  initrd      lib             media       proc  selinux  tmp  vmlinuz
cdrom  ftp  initrd.img  lib64           mnt         root  srv      usr  vmlinuz.old

Configuration du nouveau système

Conf des fichiers importants

vi  /media/disk/etc/fstab
 # <file system> <mount point>   <type>  <options>       <dump>  <pass>
 #proc            /proc           proc    defaults        0 0
 /dev/sda1       /               ext3    defaults,errors=remount-ro 0 1
 /dev/sda2       none            swap    sw              0 0
vi /media/disk/etc/network/interfaces
 auto lo
 iface lo inet loopback
 
 auto eth0
 iface eth0 inet static
  address 192.168.0.3
  netmask 255.255.255.0
  network 192.168.0.0
  gateway 192.168.0.1
 
 auto eth1
 iface eth1 inet dhcp
echo "nom_machine" > /media/disk/etc/hostname
vi /media/disk/etc/resolv/conf
 nameserver 192.168.0.1
vi /media/disk/etc/apt/sources.list
 deb http://ftp.debian.org/debian lenny main
 deb http://security.debian.org lenny/updates main

Détails pré-chroot

Pour le futur grub:

sudo mkdir /media/disk/boot/grub
sudo cp /boot/grub/stage* /media/disk/boot/grub/

Monter /proc et /dev

sudo mount -o bind /dev /media/disk/dev
sudo mount -o bind /proc /media/disk/proc

Chroot

On se “chroote” sur le nouveau système:

sudo chroot /media/disk
aptitude install locales

Si nécessaire faire ensuite un dpkg-reconfigure locales

Installer un noyau

Rechercher et installer le dernier noyau à la mode:

aptitude search linux-image
 [..]
 p   linux-image-2.6.24-1-686                  - Linux 2.6.24 image on PPro/Celeron/PII/PIII/P4
 [..]
 
 aptitude install linux-image-2.6.24-1-686

Ne pas tenir compte du message d'erreur qui vous indique qu'un booloader doit être installé.

Installer le bootloader

Installer le bootloader grub:

aptitude install grub
update-grub

Normalement à ce stade il suffit de faire grub-install pour que ça marche. Sauf que ça marche pas. Alors il faut rentrer dans le shell de grub:

grub
 grub> find /boot/grub/stage1
 (hd1,0)

Pour savoir le disque sur lequel il faut lui dire de s'installer. Ici, pour lui, /dev/sda1 c'est hd1,0.

On lui indique où est le “/”

grub> root (hd1,0)

Et on l'install sur le MBR du nouveau disque:

grub> setup (hd1)
quit

Il est possible que ça serve à quelque chose de mapper le disque comme-il-faut:

vi /boot/grub/device.map
 (fd0) /dev/fd0
 (hd0) /dev/dev/sda

(Si ça marche sans, ne le faites pas.)

Vérifier de la conf du menu de grub:

vi /boot/grub/menu/lst
 [..]
 title           Debian GNU/Linux, kernel 2.6.24-1-686
 root            (hd0,0)
 kernel          /boot/vmlinuz-2.6.24-1-686 root=/dev/sda1 ro single
 initrd          /boot/initrd.img-2.6.24-1-686

Si vous avez de la chance, en rebootant sur le disque seul ça marche. Penser à activer le boot dessus dans le BIOS !

Constat de la réussite

(en bootant sur le nouveau système) ça fait plaisir !

df -h
 Sys. de fich.         Tail. Occ. Disp. %Occ. Monté sur
 /dev/sda1             3,9G  311M  3,4G   9% /
 tmpfs                 220M     0  220M   0% /lib/init/rw
 udev                   10M   48K   10M   1% /dev
 tmpfs                 220M  4,0K  220M   1% /dev/shm

Bien sur maintenant il va falloir installer quelques logiciels de base pour exploiter la nouvelle distro !

Liens utiles

informatique/logiciels/debootstrap.txt · Last modified: 2013/10/14 20:45 by 127.0.0.1