Installer FreeBSD, avec mfsBSD [part. 2]

logo FreeBSD

Ce billet est la suite du précédent.

Cette fois-ci, nous allons utilisé une table de partitionnement de type GPT.

Ce schéma de partitionnement est accessible à partir de la version 9.0, grâce notamment au nouvel « installateur », bsdinstall(8).

Comment faire si l'on souhaite l'utiliser avec les dernières versions de la branche 8 ou 7 ?

Nous allons encore une fois utiliser mfsBSD.

Note : Pour les paramètres, reportez-vous au billet précédent.

Les étapes

1. Définition du type de table de partition.

# gpart create -s gpt ad0
ad0 created

2. Création de la partition de boot (c'est propre à GPT).

# gpart add -t freebsd-boot -l boot -s 512K ad0
ad0p1 added

3. Installation du chargeur d'amorçage.

gpart bootcode -b /boot/pmbr -p /boot/gptboot -i 1 ad0
bootcode written to ad0

4. Création des différentes partitions (/, swap, /var, etc.).

  • / -> 4G
  • swap -> 1G
  • /var -> 1.5G
  • /usr -> 12G
  • /home -> reste du disque dur
# gpart add -t freebsd-ufs -l root -s 4G ad0
ad0p2 added
# gpart add -t freebsd-swap -l swap -s 1G ad0
ad0p3 added
# gpart add -t freebsd-ufs -l var -s 1536M ad0
ad0p4 added
# gpart add -t freebsd-ufs -l usr -s 12G ad0
ad0p5 added
# gpart add -t freebsd-ufs -l home ad0
ad0p6 added
# gpart show -l ad0
=>       34  52428733  ad0  GPT  (25G)
         34      1024    1  boot  (512k)
       1058   8388608    2  root  (4.0k)
    8389666   2097152    3  swap  (1.0G)
   10486818   3145728    4  var  (1.5G)
   13632546  25165824    5  usr  (12G)
   38798370  13630397    6  home  (6.5G)

GPT permet de définir un nom (label) pour chacune des partitions, c'est très pratique lors de l'élaboration du fichier /etc/fstab.

5. Système de fichiers (ufs2).

# newfs ad0p2
# newfs -U -n ad0p4
# newfs -U -n ad0p5
# newfs -U -n ad0p6

6. Installation du système.

On « monte » l'arborescence du futur système.

# swapon /dev/gpt/swap
# mount /dev/gpt/root /mnt
# mkdir /mnt/var
# mount /dev/gpt/var /mnt/var
# mkdir /mnt/usr
# mount /dev/gpt/usr /mnt/usr
# mkdir /mnt/home
# mount /dev/gpt/home /mnt/home

Nous allons télécharger une image .iso correspondant à la version de FreeBSD qui nous intéresse. Cela sera plus rapide.

On choisit un miroir.

Dans mon cas

# fetch ftp://ftp.fr.freebsd.org/pub/FreeBSD/ISO-IMAGES-i386/8.3/FreeBSD-8.3-RELEASE-i386-disc1.iso

On va « monter » cette image .iso dans la session du live CD.

# mdconfig -a -t vnode -f FreeBSD-8.3-RELEASE-i386-disc1.iso
md1
# mount -t cd9660 /dev/md1 /cdrom

Nous allons installé le contenu des dossiers base/, kernels/, et manpages/.

# cd /cdrom/8.3-RELEASE/base
# pwd
/cdrom/8.3-RELEASE/base
# echo $SHELL
/bin/csh
# setenv DESTDIR /mnt
# ./install.sh
You are about to extract the base distribution into /mnt - are you SURE
you want to do this over your installed system (y/n)? y
# cd ../kernels
# pwd
/cdrom/8.3-RELEASE/kernels
# ./install.sh GENERIC
# cd ../manpages/
# pwd
/cdrom/8.3-RELEASE/manpages
# ./install.sh

On démonte l'image .iso, et on supprime le périphérique virtuel.

# umount /cdrom
# mdconfig -d -u 1
# ls -l /dev/md1
ls: /dev/md1: No such file or directory
#

Il nous faut maintenant déplacer les modules du noyau, pour les copier dans /mnt/boot/kernel/

# mv /mnt/boot/GENERIC/* /mnt/boot/kernel

7. Configuration.

À FAIRE OBLIGATOIREMENT

  • création du fichier /mnt/etc/fstab (Cf. annexe)
  • création du fichier /mnt/etc/rc.conf

Voilà, avec ces deux billets, nous avons vu comment installer FreeBSD en console, et de manière assez rapide.