Schéma de partitionnement (de type MBR) d'un disque de 100 Go :
partition n°1 (primaire) : partition "linux" environ 85 Go (type : 83 + ext2 ou ext3) partition n°2 (primaire) : OpenBSD environ 15 Go (type : a6 + ffs)
Nous lançons le système Live depuis la clef USB insérée dans un port USB.
Lors de l'installation, nous créerons le schéma de partitionnement suivant (grâce au logiciel « fdisk » du projet OpenBSD) :
Nous allons installer OpenBSD depuis le système Live via « qemu ».
Remarque : Ce qui est présenté ci-dessous fonctionnerait directement depuis l'installateur OpenBSD mais ce serait moins fun !
Nous ouvrons un console virtuelle « Xterm ».
Après un
(debianlive)$ sudo su -
nous voilà le super-utilisateur « 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.
(debianlive)# mount /dev/sdb2 /mnt/
Nous lançons l’installation classique d’OpenBSD via « qemu ».
(debianlive)# qemu-system-x86_64 -k fr -m 512 -hda /dev/sda -cdrom /mnt/install60.iso -boot d -localtime
NB : Ici, vu de qemu, nous constatons que le disque est lié au fichier de périphérique wd0.
Welcome to the OpenBSD/amd64 X.X installation program. (I)nstall, (U)pgrade, (A)utoinstall or (S)hell?
choisir « (I)nstall » en écrivant « I » puis valider.
Ensuite choisir « fr » pour avoir le clavier en français et enfin quitter temporairement l'installation en validant « ! » après « System hostname? (short form, e.g. 'foo') ».
Source : https://www.openbsd.org/faq/faq4.html#site
La commande
# disklabel wd0
retourne
# /dev/rwd0c: type: ESDI disk: ESDI/IDE disk label: QEMU HARDDISK duid: 0000000000000000 flags: bytes/sector: 512 sectors/track: 63 tracks/cylinder: 255 sectors/cylinder: 16065 cylinders: 12161 total sectors: 195371568 boundstart: 153094144 boundend: 195371568 drivedata: 0 16 partitions: # size offset fstype [fsize bsize cpg] c: 195371568 0 unused
Nous allons mettre le « bazar » sur le disque en créant des données « aléatoires ». (Attention : Selon la taille du disque et de la puissance de votre CPU, cette manipulation peut prendre du temps !)
# dd if=/dev/random of=/dev/rwd0c bs=1m
Nous allons ré-initialiser le disque.
# fdisk -iy wd0
Puis, nous allons utiliser fdisk pour créer les deux partitions primaires.
# fdisk -e wd0 Enter 'help' for information fdisk: 1>
Nous détruisons la partition n°4 créer de façon automatique lors de la ré-initialisation du disque.
# fdisk -e wd0 Enter 'help' for information fdisk: 1> e 3 Starting Ending LBA Info: #: id C H S - C H S [ start: size ] ------------------------------------------------------------------------------- *3:00 0 1 2 - 519 127 63 [ 64: 4193216 ] OpenBSD Partition id ('0' to disable) [01 - FF]: [A6] (? for help) 0 Partition 3 is disabled. fdisk:*1>p g Disk: wd0 geometry: 520/128/63 [4194303 Sectors] Offset: 0 Signature: 0xAA55 Starting Ending LBA Info: #: id C H S - C H S [ start: size ] ------------------------------------------------------------------------------- 0: 00 0 0 0 - 0 0 0 [ 0: 0G ] unused 1: 00 0 0 0 - 0 0 0 [ 0: 0G ] unused 2: 00 0 0 0 - 0 0 0 [ 0: 0G ] unused 3: 00 0 0 0 - 0 0 0 [ 0: 0G ] unused
Nous allons créer la partition primaire n°1 (de 85 Go) qui accueillera les données (et notamment les images disque de notre futur système OpenBSD -current) :
fdisk:*1> e 0 Starting Ending LBA Info: #: id C H S - C H S [ start: size ] ------------------------------------------------------------------------------- 0: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused Partition id ('0' to disable) [01 - FF]: [0] (? for help) 83 Do you wish to edit in CHS mode? [n] Partition offset [0 - 4194304]: [0] 64 Partition size [1 - 4194240]: [1] 85G fdisk:*1>
Regardons de plus près :
fdisk:*1>p g Disk: wd0 geometry: 520/128/63 [4194303 Sectors] Offset: 0 Signature: 0xAA55 Starting Ending LBA Info: #: id C H S - C H S [ start: size ] ------------------------------------------------------------------------------- 0: 83 0 1 2 - 260 9 9 [ 64: 85G ] Linux files* 1: 00 0 0 0 - 0 0 0 [ 0: 0G ] unused 2: 00 0 0 0 - 0 0 0 [ 0: 0G ] unused 3: 00 0 0 0 - 0 0 0 [ 0: 0G ] unused fdisk:*1>p Disk: wd0 geometry: 520/128/63 [4194303 Sectors] Offset: 0 Signature: 0xAA55 Starting Ending LBA Info: #: id C H S - C H S [ start: size ] ------------------------------------------------------------------------------- 0: 83 0 1 2 - 260 9 9 [ 64: 2097152 ] Linux files* 1: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused 2: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused 3: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused fdisk:*1>
Remarques :
Nous allons créer la partition n°2 sur le reste du disque (environ 15 Go) qui accueillera le système OpenBSD.
fdisk:1*>e 1 Starting Ending LBA Info: #: id C H S - C H S [ start: size ] ------------------------------------------------------------------------------- 1: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused Partition id ('0' to disable) [01 - FF]: [0] (? for help) a6 Do you wish to edit in CHS mode? [n] Partition offset [0 - 4194304]: [0] 2097216 Partition size [1 - 4194240]: [1] * fdisk:1*>
Remarques :
Regardons de plus près :
fdisk:*1>p g Disk: wd0 geometry: 520/128/63 [4194303 Sectors] Offset: 0 Signature: 0xAA55 Starting Ending LBA Info: #: id C H S - C H S [ start: size ] ------------------------------------------------------------------------------- 0: 83 0 1 2 - 260 9 9 [ 64: 85G ] Linux files* 1: A6 260 9 10 - 520 16 16 [ 2097216: 15G ] OpenBSD 2: 00 0 0 0 - 0 0 0 [ 0: 0G ] unused 3: 00 0 0 0 - 0 0 0 [ 0: 0G ] unused fdisk:*1>p Disk: wd0 geometry: 520/128/63 [4194303 Sectors] Offset: 0 Signature: 0xAA55 Starting Ending LBA Info: #: id C H S - C H S [ start: size ] ------------------------------------------------------------------------------- 0: 83 0 1 2 - 260 9 9 [ 64: 2097152 ] Linux files* 1: A6 260 9 10 - 520 16 16 [ 2097216: 2097088 ] OpenBSD 2: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused 3: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused fdisk:*1>
Ci-dessous, nous allons écrire la nouvelle table de partition (commande « u ») puis nous rendons la partition n°2 amorçable (commande « f 1 » car la numérotation des partitions démarre de « 0 » avec « fdisk ») et enfin nous quittons « fdisk » en sauvegardant nos modifications dans le MBR.
fdisk:*1> u Machine code updated. fdisk:*1> f 1 Partition 1 marked active. fdisk:*1> q Writing MBR at offset 0.
Une nouvelle petite vérification :
# disklabel wd0 # /dev/rwd0c: type: ESDI disk: ESDI/IDE disk label: QEMU HARDDISK duid: 0000000000000000 flags: bytes/sector: 512 sectors/track: 63 tracks/cylinder: 255 sectors/cylinder: 16065 cylinders: 12161 total sectors: 195371568 boundstart: 153094144 boundend: 195371568 drivedata: 0 16 partitions: # size offset fstype [fsize bsize cpg] c: 195371568 0 unused i: 153092096 2048 ext2fs
Ensuite, nous allons créer la partition « disklabel » chiffrée qui va accueillir OpenBSD.
# disklabel -E wd0 Label editor (enter '?' for help at any prompt) > a a offset: [64] size: [39825135] FS type: [4.2BSD] RAID > q Write new label?: [y]
Après une petite vérification
# disklabel wd0 # /dev/rwd0c: type: ESDI disk: ESDI/IDE disk label: QEMU HARDDISK duid: 9ba67620fc42347a flags: bytes/sector: 512 sectors/track: 63 tracks/cylinder: 255 sectors/cylinder: 16065 cylinders: 12161 total sectors: 195371568 boundstart: 153094144 boundend: 195371568 drivedata: 0 16 partitions: # size offset fstype [fsize bsize cpg] a: 42277424 153094144 RAID c: 195371568 0 unused i: 153092096 2048 ext2fs
nous créons le disque « virtuel » (sd0) chiffré « au dessus » de la partition physique (wd0a) (une sorte d'« abstraction » logicielle) :
# bioctl -c C -l wd0a softraid0 New passphrase: Re-type passphrase: sd1 at scsibus2 targ 1 lun 0: <OPENBSD, SR CRYPTO, 005> SCSI2 0/direct fixed sd1: 19445MB, 512 bytes/sector, 39824607 sectors softraid0: CRYPTO volume attached as sd0
Remarques :
La commande
# disklabel sd0
retourne
# /dev/rsd0c: type: SCSI disk: SCSI disk label: SR CRYPTO duid: 0000000000000000 flags: bytes/sector: 512 sectors/track: 63 tracks/cylinder: 255 sectors/cylinder: 16065 cylinders: 2631 total sectors: 42276896 boundstart: 64 boundend: 42267015 drivedata: 0 16 partitions: # size offset fstype [fsize bsize cpg] c: 42276896 0 unused
et la commande
# disklabel -E sd0
retourne
Label editor (enter '?' for help at any prompt) > p g OpenBSD area: 64-42267015; size: 15.2G; free: 15.2G # size offset fstype [fsize bsize cpg] c: 15.2G 0 unused > q No label changes.
Voici les étapes suivantes : (source : http://www.openbsd.org/faq/faq14.html#softraidFDE)
Nous créons les fichiers de périphériques liés au nouveau « disque ».
# cd /dev && sh MAKEDEV sd0
puis nous écrivons des zéros sur le premier secteur d'amorçage du nouveau « disque ».
# dd if=/dev/zero of=/dev/rsd0c bs=1m count=1
Remarque : Hors de qemu, le disque physique sera sd0 et le disque chiffré sera sd1. A priori, je pense que le noyau openbsd crée les fichiers de périphériques liés à sd2 lors du premier démarrage sur la machine physique.
Nous allons reprendre l'installation classique.
# exit
Nous pouvons miantenant formater la partition n°1 ainsi :
# newfs_ext2fs /dev/wd0i
C'est tout ! Par contre, le système de fichier est ext2. (A priori, le logiciel « newfs » ne sait pas formater en ext3.)
Remarque : Après avoir installé OpenBSD sur sa partition chiffrée, nous pourrions tout aussi bien formater en ext3 cette première partition du système Debian Live. Comment ?
Ainsi :
(debianlive)# mkfs -t ext3 /dev/sda1
La seule question que nous devons nous poser est la suivante : Avons-nous réellement besoin d'un système de fichiers journalisé pour sauvegarder nos données (comme les images disque du système OpenBSD) ?
Nous revenons sur
System hostname? (short form, e.g. 'foo')
La suite de l'installation est classique. Il faut juste faire attention à l'étape suivante
Available disks are: wd0 sd0. Which disk is the root disk? ('?' for details) [wd0] sd0
où nous choisissons « sd0 » puis
Use (W)hole disk MBR, whole disk (G)PT or (E)dit? [whole]
où nous validons le choix par défaut « whole ».
Puis nous poursuivons avec l’installation classique. (Choisir le choix par défaut : « (A)uto layout »… ou pas ! )
À 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 ».
Pour effectuer une image disque du système OpenBSD, nous allons procéder comme suit :
(1) Nous lançons le système Debian Live.
(2) Nous devenons le super-utilisateur « root » du système Debian Live.
$ sudo su - #
(3) Nous montons le système de fichiers lié à la partition n°1.
# mount /dev/sda1 /mnt/ && cd /mnt/
(4) Nous utilisons le logiciel dd pour construire une image disque du système OpenBSD puis nous demandons le redémarrage automatique lorsque cette image a été effectuée.
# dd if=/dev/sda2 of=openbsd-current_sda2-20161022.img && cd && umount /mnt && reboot
Contribut(rice|eur)s :