Installer en dualboot Debian et OpenBSD depuis un LiveUSB Debian
Sources
Prérequis
- Avoir une clef USB sur laquelle a été copiée l’image iso d’un système Debian GNU/Linux 8 en mode Live (amd64) et personnalisé grâce à livebuild contenant notamment qemu.
- Avoir copié l’image iso d’un snapshot (amd64) d’OpenBSD sur la deuxième partition de la clef.
- Avoir une machine bien supportée par les systèmes alternatifs libres et open source et qui sait démarrer sur un port USB. Exemple : Lenovo ThinkPad X200s.
Schéma de partitionnement (de type MBR) :
partition n°1 (primaire) : racine / de Debian 20 Go ext4 partition n°2 (primaire) : swap 2 Go swap partition n°3 (primaire) : /home de Debian environ 256 Go ext3 partition n°4 (primaire) : OpenBSD environ 30 Go a6
Étape n°1 : Le système Live USB
Nous lançons le système Live depuis la clef USB insérée dans un port USB.
Étape n°2 : Installation du système Debian en utilisant le logiciel « debian-installer-launcher »
- Nous effectuons une installation classique en veillant à bien formater en « ext3 » la partition n°3 pour permettre le partage à venir entre les deux systèmes. (En effet, OpenBSD sait monter en lecture/écriture des systèmes de fichiers formatés en ext3.)
NB : Depuis le système OpenBSD :
- La partition n°1 (contenant la « racine » du système Debian) sera accessible grâce au fichier à « /dev/sd0i ».
- La partition n°3 (contenant le « home » du système Debian) sera accessible grâce au fichier « /dev/sd0k ».
- Je n’ai pas cherché à accéder à la partition n°4 (partition de type a6 « OpenBSD ») depuis le système Debian car je n’en vois pas trop l’intérêt !
- Créer la partition n°4 sans l’utiliser. (Pas de point de montage.)
Étape n°3 : Installation d'OpenBSD
Après l’installation, « debian-installer-launcher » nous rend la main. Nous allons donc installer OpenBSD depuis le système Live via « qemu ».
Nous ouvrons un console virtuelle « Xterm ».
Après un
$ sudo su -
nous voilà le super-administrateur « root » du système Live !
Nous montons la deuxième partition de la clef USB sur laquelle a été copiée l'image iso du snapshot d'OpenBSD.
# mount /dev/sdb2 /mnt/
Nous lançons l’installation classique d’OpenBSD via « qemu ».
# qemu-system-x86_64 -k fr -m 512 -hda /dev/sda -cdrom /mnt/install60.iso -boot d -localtime
Pour le passage de l’installation
Use (W)hole disk or (E)dit the MBR? [whole]
choisir « (E)dit » en écrivant « E » puis valider.
En ce qui concerne « fdisk » :
On édite la 4ème partition primaire pour y créer un système de fichier de type OpenBSD (« a6 »).
fdisk:1> e 3
Pour le passage de l’installation
Partition id ('0' to disable) [0 - FF]: [0] (? for help)
écrire « a6 » et valider tout ce qui est proposé par défaut. (En effet, cette partition a été construite lors de l’installation sur le disque du système Debian GNU/Linux lors de l’étape n°2.)
Enfin nous quittons « fdisk » en sauvegardant les changements.
fdisk:*1> q
NB : La partition amorçable est la partition n°1 (celle qui contient le système Debian). Par conséquent, nous n’avons pas effectué de manipulations concernant la partition d’amorçage. Par la suite, nous devrons tout de même faire apparaître le système « OpenBSD » dans l’invite du chargeur d’amorçage GRUB 2.
En ce qui concerne « disklabel » : Les slice (comprendre partitions étendues à la sauce « OpenBSD ») suivants sont créés dans la partition n°4.
Filesystem Size Used Avail Capacity Mounted on /dev/sd0a 1005M 108M 846M 11% / /dev/sd0o 7.9G 3.2M 7.5G 0% /home /dev/sd0d 1.8G 16.0K 1.7G 0% /tmp /dev/sd0f 1.9G 372M 1.4G 20% /usr /dev/sd0g 1005M 212M 742M 22% /usr/X11R6 /dev/sd0h 4.0G 2.3G 1.5G 61% /usr/local /dev/sd0m 2.0G 2.0K 1.9G 0% /usr/src /dev/sd0n 2.0G 2.0K 1.9G 0% /usr/ports /dev/sd0l 2.0G 2.0K 1.9G 0% /usr/obj /dev/sd0e 2.7G 16.1M 2.6G 1% /var
Pour ce faire nous éditons le schéma automatique proposé par l’installateur d’OpenBSD et nous allons le modifier comme suit :
> d l > d n > d m > a m offset: [???] Enter size: [???] 2G Rounding to nearest cylinder: ??? FS type: [4.2BSD] Enter mount point: [none] /usr/src > a n offset: [???] Enter size: [???] 2G Rounding to nearest cylinder: ??? FS type: [4.2BSD] Enter mount point: [none] /usr/ports > a l offset: [???] Enter size: [???] 2G Rounding to nearest cylinder: ??? FS type: [4.2BSD] Enter mount point: [none] /usr/obj > a o offset: [???] Enter size: [???] <LE RESTE> Rounding to nearest cylinder: ??? FS type: [4.2BSD] Enter mount point: [none] /home Nous quittons « disklabel ». > q Write new label?: [y] Enter''
Puis nous poursuivons avec l’installation classique.
À la fin, nous arrêtons le système avec la commande « halt -p -q ». Un redémarrage du système nous est alors proposé. Nous validons. Puis nous fermons « sauvagement » la console virtuelle dans laquelle a été lancée la commande « qemu ».
Étape n°4 : Le chargeur d’amorçage GRUB 2
Depuis le système Live, nous allons entrer dans le système Debian installé à l’étape n°2 via la commande « chroot ». Par conséquent, nous allons monter le nécessaire pour le bon fonctionnement du système chrooté.
# mount /dev/sda1 /mnt # mount -t proc none /mnt/proc # mount -t sysfs none /mnt/sys # mount -o bind /dev /mnt/dev # mount -o bind /tmp/ /mnt/tmp
Nous entrons dans la « cage ».
# chroot /mnt
Nous voilà dans le système Debian installé sur le disque à l’étape n°2.
(chroot)#
Nous allons éditer et modifier le fichier « /etc/grub.d/40_custom » ainsi (grâce à l’éditeur de texte « vi »).
(chroot)# vi /etc/grub.d/40_custom [...] menuentry ''OpenBSD'' { set root=(hd0,4) chainloader +1 }
Après avoir tapé un « wq ! » dans « vi », nous quittons l’édition de ce fichier en sauvegardant les modifications apportées.
Nous ré-installons le chargeur d’amorçage GRUB 2 sur le secteur d’amorçage du disque.
(chroot)# grub-install --recheck /dev/sda
suivi d’un
(chroot)# update-grub2
Nous quittons l’environnement « chrooté ».
(chroot)# exit
Nous voilà de retour dans le système Live.
Étape n°5 : Redémarrage
Nous démontons tout ce qui doit l’être puis nous redémarrons la machine.
# umount /mnt/{proc,tmp,dev,sys} && umount /mnt && reboot
Si tout s’est bien déroulé, le chargeur d’amorçage GRUB 2 nous propose le système Debian (système par défaut) et le système OpenBSD.
Étape n°6 : Étape facultative si la version d’OpenBSD est OpenBSD CURRENT… ou pas d’ailleurs !
Après avoir bien configuré et mis à jour son système OpenBSD, nous pouvons amorcer le système Debian pour sauvegarder la partition numéro n°4 qui contient le système OpenBSD current (en plus de la mise en place de « altroot »). Nous ne sommes jamais assez prudents !
Nous ouvrons une session « root » sur le système Debian. Puis nous lançons les commandes suivantes :
# cd /home && mkdir .save && chown -R root:root .save && chmod 700 && cd .save/ # dd if=/dev/sda4 of=obsd_6.0-current_sda4-01.img bs=100M && init 0
Terminé !
tutoriel dualboot