Installer FreeBSD, avec mfsBSD
Par olivier le dimanche 17 juin 2012, 11:06 - BSD - #
Dans ce billet, nous allons voir comment installer FreeBSD avec le live CD mfsBSD.
J'ai choisit la version 8.3.
mfsBSD peut être considéré comme une alternative pour pouvoir installer FreeBSD en console [1].
Le but est d'utiliser, l'utilitaire gpart(8).
Concernant le live CD
Le mot de passe est mfsroot.
Note : Le clavier est par défaut en qwerty.
Une fois la connexion établie, on va changer la disposition du clavier.
# kbdcontrol -l fr.iso.acc
L'installation
Nous allons partir sur une table de partition de type mbr. On sera donc limité à quatre partitions. Pour contourner cette restriction, FreeBSD utilise un partitionnement particulier (par rapport à Linux, à l'exception de LVM).
Le système occupera tout le disque dur.
Les différentes étapes
1. Définition du type de table de partition.
# gpart create -s mbr ad0 ad0 created
2. Création de la partition dédiée à FreeBSD.
# gpart add -b 63 -t freebsd ad0 ad0s1 added # gpart show => 63 52428737 ad0 MBR (25G) 63 52428726 1 freebsd (25G) 52428789 11 - free - (5.5k)
3. Définition du type de table de partition, à l'espace alloué à FreeBSD.
# gpart create -s bsd ad0s1 ad0s1 created # gpart show => 63 52428737 ad0 MBR (25G) 63 52428726 1 freebsd (25G) 52428789 11 - free - (5.5k) => 0 52428726 ad0s1 BSD (25G) 0 52428726 - free - (25G)
4. Création des divers partitions (tranches), /
, /var
, /usr
, /home
, swap
, etc.
/
-> 4Gswap
-> 1G/var
-> 1.5G/usr
-> 12G/home
-> reste du disque dur
# gpart add -s 4G -t freebsd-ufs ad0s1 ad0s1a added # gpart add -s 1G -t freebsd-swap ad0s1 ad0s1b added # gpart add -s 1536M -t freebsd-ufs ad0s1 ad0s1d added # gpart add -s 12G -t freebsd-ufs ad0s1 ad0s1e added # gpart add -t freebsd-ufs ad0s1 ad0s1f added # gpart show => 63 52428737 ad0 MBR (25G) 63 52428726 1 freebsd (25G) 52428789 11 - free - (5.5k) => 0 52428726 ad0s1 BSD (25G) 0 8388608 1 freebsd-ufs (4.0G) 8388608 2097152 2 freebsd-swap (1.0G) 10485760 3145728 4 freebsd-ufs (1.5G) 13631488 25165824 5 freebsd-ufs (12G) 38797312 13631414 6 freebsd-ufs (6.5G)
On remarque que le slice c n'existe pas, en réalité il correspond à l'ensemble du disque dur.
5. Installation du chargeur d'amorçage.
La machine hébergera uniquement FreeBSD, j'ai choisi celui qui correspond à Standard.
# gpart bootcode -b /boot/mbr ad0 bootcode written to ad0 # gpart set -a active -i 1 ad0 active set on ad0s1 # gpart bootcode -b /boot/boot ada0s1 bootcode written to ad0s1 # gpart show => 63 52428737 ad0 MBR (25G) 63 52428726 1 freebsd [active] (25G) 52428789 11 - free - (5.5k) => 0 52428726 ad0s1 BSD (25G) 0 8388608 1 freebsd-ufs (4.0G) 8388608 2097152 2 freebsd-swap (1.0G) 10485760 3145728 4 freebsd-ufs (1.5G) 13631488 25165824 5 freebsd-ufs (12G) 38797312 13631414 6 freebsd-ufs (6.5G)
6. Système de fichiers (ufs2).
# newfs -L root ad0s1a # newfs -L var -U -n ad0s1d # newfs -L usr -U -n ad0s1e # newfs -L home -U -n ad0s1f
Une explication concernant les différentes options :
- L, permet de donner un nom (label) à la partition
- U, permet d'activer les Soft Updates
Les ``Soft Updates'' améliorent de façon drastique les performances sur les méta-données, principalement la création et la suppression de fichier, par l'utilisation d'un cache mémoire.
- n, évite la création du dossier
.snap/
7. Installation du système
On « monte » l'arborescence du futur système.
# swapon /dev/ad0s1b # mount /dev/ad0s1a /mnt # mkdir /mnt/var # mount /dev/ad0s1d /mnt/var # mkdir /mnt/usr # mount /dev/ad0s1e /mnt/usr # mkdir /mnt/home # mount /dev/ad0s1f /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/
(il contient en réalité uniquement le noyau GENERIC
), 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
Il nous faut maintenant déplacer les modules du noyau, pour les copier dans /mnt/boot/kernel/
.
mv /mnt/boot/GENERIC/* /mnt/boot/kernel
On peut maintenant « démonter » l'image .iso.
# umount /cdrom # mdconfig -d -u 1 # ls -l /dev/md1 ls: /dev/md1: No such file or directory #
8. Configuration
Il nous reste à configurer le système :
À FAIRE OBLIGATOIREMENT
- création du fichier
/mnt/etc/fstab
- création du fichier
/mnt/etc/rc.conf
Ils sont disponibles en annexe.
D'autres fichiers peuvent être modifiés, par exemple :
/mnt/root/.cshrc
/mnt/root/.login_conf
/mnt/etc/login.conf
On peut se connecter au nouveau système par chroot(8).
# chroot /mnt /bin/csh
Note
[1] sysinstall(8) ne fournit pas de « vrai » shell.