__mfsBSD__ peut être considéré comme une alternative pour pouvoir installer FreeBSD en console $$[sysinstall(8)|http://www.freebsd.org/cgi/man.cgi?query=sysinstall&apropos=0&sektion=8&manpath=FreeBSD+8.3-RELEASE&arch=default&format=html] ne fournit pas de « vrai » »shell ».$$.
Le but est d’utiliser, l’utilitaire [gpart(8)|http://www.freebsd.org/cgi/man.cgi?query=gpart&apropos=0&sektion=8&manpath=FreeBSD+8.3-RELEASE&arch=default&format=html].
~livecd~
!!!!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|http://fr.wikipedia.org/wiki/Master_boot_record]. On sera donc limité à __quatre partitions__. Pour contourner cette restriction, FreeBSD utilise un partitionnement particulier (par rapport à Linux, à l’exception de [LVM|http://fr.wikipedia.org/wiki/Gestion_par_volumes_logiques]).
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.
* @@/@@ -> 4G
* @@swap@@ -> 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 (??ufs|Unix File System??2).
///
# 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|http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/mirrors-ftp.html].
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)|http://www.freebsd.org/cgi/man.cgi?query=chroot&apropos=0&sektion=0&manpath=FreeBSD+8.3-RELEASE&arch=default&format=html].
///
# chroot /mnt /bin/csh
///