« Passage de FreeBSD-8.2-STABLE a FreeBSD-9.0-BETA1 » : différence entre les versions

De Memento
Aller à la navigation Aller à la recherche
Aucun résumé des modifications
mAucun résumé des modifications
Ligne 26 : Ligne 26 :
  [root@morzine src]# shutdown -r now
  [root@morzine src]# shutdown -r now


Le système redémarre avec le nouveau noyau, mais s'arrête avec l'erreur '''<tt>Fatal trap 12: page fault while in kernel mode</tt>'''. En redémarrant avec le nouveau loader le noyau
Le système redémarre avec le nouveau noyau, mais s'arrête avec l'erreur '''<tt>Fatal trap 12: page fault while in kernel mode</tt>'''. En redémarrant avec le nouveau <tt>zfsloader</tt> le noyau
8.2-STABLE, le système s'arrête avec la même erreur! :-O
8.2-STABLE, le système s'arrête avec la même erreur! :-O



Version du 31 juillet 2011 à 17:47

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.

Adaptation des ports

A suivre ...

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.