Passage de FreeBSD-8.2-STABLE a FreeBSD-9.0-BETA1
Adaptation de la configuration du noyau
Après avoir effectué la procédure classique:
[root@morzine ~]# cd /usr/src [root@morzine src]# rm -r .svn * [root@morzine src]# svn co http://svn.freebsd.org/base/head /usr/src A /tmp/src/usr.bin A /tmp/src/usr.bin/lastcomm A /tmp/src/usr.bin/lastcomm/lastcomm.c A /tmp/src/usr.bin/lastcomm/pathnames.h A /tmp/src/usr.bin/lastcomm/readrec.c A /tmp/src/usr.bin/lastcomm/Makefile A /tmp/src/usr.bin/lastcomm/lastcomm.1 A /tmp/src/usr.bin/kdump ... [root@morzine src]# mergemaster -p ... [root@morzine src]# make -s buildworld ... [root@morzine src]# make -s kernel ... [root@morzine src]# make -s installworld ... [root@morzine src]# mergemaster -Fi ... [root@morzine src]# shutdown -r now
Le système redémarre avec le nouveau noyau, mais s'arrête avec l'erreur Fatal trap 12: page fault while in kernel mode. En redémarrant avec le nouveau zfsloader le noyau 8.2-STABLE, le système s'arrête avec la même erreur! :-O
Après quelques recherches, je constate qu'en version 9.0 le module acpi n'existe plus et que donc le nouveau zfsloader ne le charge plus. Il s'agit là de la cause qui entraîne, aussi bien en 8.2-STABLE qu'en 9.0-BETA1, le Fatal trap 12 si l'acpi n'est pas activé pour la configuration particulière de mon système.
En ajoutant device acpi à la configuration de mon noyau, tout rentre dans l'ordre.
Hélas, la carte WiFi Atheros 5424/2424 n'est plus reconnue. Ce problème est provoqué par l'introduction en FreeBSD 9.0 du nouveau module ath_pci. En ajoutant device ath_pci à la configuration du noyau, la carte est à nouveau correctement détectée.
Démarrage avec zfsboot
Sur un de mes systèmes, le disque est partagé entre Windows 7 et FreeBSD. FreeBSD est sur un pool ZFS:
[root@meribel ~]# gpart show => 63 312581745 ada0 MBR (149G) 63 167782797 1 ntfs (80G) 167782860 144798948 2 freebsd [active] (69G) => 0 144798948 ada0s2 BSD (69G) 0 144798948 1 freebsd-zfs (69G)
Il faut donc, pour pouvoir mettre à niveau la version du pool ZFS, préalablement mettre à niveau le zfsboot de la partition FreeBSD (/dev/ada0s2a):
/bin/dd if=/boot/zfsboot of=/dev/ada0s2a bs=512 count=1 1+0 records in 1+0 records out 512 bytes transferred in 0.016262 secs (31484 bytes/sec) /bin/dd if=/boot/zfsboot of=/dev/ada0s2a bs=512 skip=1 seek=1024 128+0 records in 128+0 records out 65536 bytes transferred in 0.012285 secs (5334638 bytes/sec)
Cette mise à jour se fait en démarrant le système à l'aide d'une clé USB (par exemple mfsBSD) pour que l'accès à la partition ne soit pas protégé.
Mais comme j'avais déjà recompilé tous le système à l'aide du nouveau compilateur clang, j'ai constaté que le démarrage du système se bloque lors de l'affichage de la barre tournante par zfsboot. Après avoir compilé zfsboot avec le compilateur classique gcc, tout rentre dans l'ordre.
Adaptation des ports
A suivre ...
préférence ipv6 / ipv4
A suivre ...