Ceci est une ancienne révision du document !
Démarrer sur une architecture de type PC
Il s'agit des machines les plus communes, c'est à dire majoritairement basée sur des puces de type Intel x86 et x86_64. A opposer au machines PowerPC, ARM, RISC-V ou MIPS.
Sur cette architecture, un micrologiciel (firmware) va chercher à amorcer sur disque dur selon deux standards:
- BIOS, l'ancienne méthode cherche à lire les premiers secteurs du disque.
- UEFI , le dernier standard, parcours une hiérarchie de fichiers à partir de la première partition de type FAT trouvée.
Le partitionnement décrit dans cet article va vous permettre d'être à fois compatible UEFIet BIOS.
Disques
Trouvez les références des disques détectés sur votre machine:
root@machine $ geom disk list Geom name: ada0 Providers: 1. Name: ada0 Mediasize: 1000204886016 (932G) Sectorsize: 512 Stripesize: 4096 Stripeoffset: 0 Mode: r1w1e2 descr: WDC WD10EZEX-08WN4A0 lunid: 50014ee263369a74 ident: WD-WCC6Y1YZ7T6R rotationrate: 7200 fwsectors: 63 fwheads: 16
Le paramètre sector size est en général faux, pour des raisons de compatibilité.
Déterminez d'abord votre situation actuelle:
root@machine $ gpart show => 34 1953525101 ada0 GPT (932G) 34 999967 1 efi (488M) 1000001 1757172651 2 linux-data (838G) 1758172652 93389332 - free - (45G) 1851561984 101961728 3 linux-data (49G) 1953523712 1423 - free - (712K)
Si un partitionnement existe déjà comme ci dessus, détruisez le au préalable:
root@machine $ gpart destroy ada0
Schémas de partitionnement
La plupart des firmware reconnaissent le schémas de partitionnement GPT , successeur de MBR.
Au passage, assurons nous que geom(4) va calculer les alignements au préalable.
root@machine $ sysctl kern.geom.part.mbr.enforce_chs=0 root@machine $ gpart create -s gpt ada0
Partitions
Amorces
En règle générale, il es préférable d'assurer les alignement sur 4096 octets (4k). Les partitions seront numérotée dans l'ordre où on les créés.
Créons une première partition pour l'EFI, qui sera étiquetée efiboot0:
root@machine $ gpart add -a 4k -t efi -s 200M -l efiboot0 ada0
Copions le micro-code que va lire le bios pour amorcer, ici, un saut vers la partition EFI.
root@machine $ gpart bootcode -p /boot/boot1.efifat -i 1 ada0
Un firmware EFI sera capable de monter cette partition et d' exécuter le bootloader qu'elle contient.
Dans le cas du BIOS, il faut ruser.
Ajoutons une partition pour le BIOS:
root@machine $ gpart add -a 4k -t freebsd-boot -s 512k -l gptboot0 ada0 root@machine $ gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 2 ada0
le premier bootcode va s'inscrire dans le schéma GPT lui même pour aider la machine à trouver la partition freebsd-boot et y exécuter le deuxième.
FreeBSD
Passons à FreeBSD en lui même, soit une partition pour le swap et le reste du disque pour un système ZFS.
root@machine $ gpart add -a 1m -s 2G -t freebsd-swap -l swap0 ada0 root@machine $ gpart add -a 1m -t freebsd-zfs -l zfs0 ada0
Et pour finir, déclarons ce disque actif:
root@machine $ gpart set -a active ada0
Resultat
Voyons ce que ça donne:
root@machine $ gpart show => 40 5860533088 ada0 GPT (2.7T) 40 409600 1 efi (200M) 409640 1024 2 freebsd-boot (512K) 410664 984 - free - (492K) 411648 4194304 3 freebsd-swap (2.0G) 4605952 5855926272 4 freebsd-zfs (2.7T) 5860532224 904 - free - (452K)
root@machine gpart list -a
vous donnera plus de détails.
Réplication
Les commande backup
et restore
de gpart(8) vous aideront à reproduire le schéma de partition d'un disque à l'autre.Et si vous utilisez ZFS, vous pouvez ajouter de nouveaux disques après la mise en service de votre machine.