« Passage de FreeBSD-8.2-STABLE a FreeBSD-9.0-BETA1 » : différence entre les versions
Aucun résumé des modifications |
Aucun résumé des modifications |
||
Ligne 27 : | Ligne 27 : | ||
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 loader 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 | ||
Après quelques recherches, je constate qu'en version 9.0 le module '''<tt>acpi</tt>''' n'existe | Après quelques recherches, je constate qu'en version 9.0 le module '''<tt>acpi</tt>''' n'existe | ||
plus et que donc le nouveau loader ne le charge plus. Il s'agit là du problème qui entraîne | plus et que donc le nouveau loader ne le charge plus. Il s'agit là du problème qui entraîne, | ||
aussi bien en 8. | aussi bien en 8.2-STABLE qu'en 9.0-BETA1, le <tt>Fatal trap 12</tt>; vraisemblablement du à la configuration particulière de mon système. | ||
En ajoutant '''<tt>device acpi</tt>''' à la configuration de mon noyau, tout rentre dans l'ordre. | En ajoutant '''<tt>device acpi</tt>''' à la configuration de mon noyau, tout rentre dans l'ordre. | ||
Hélas, la carte wifi <tt>Atheros 5424/2424</tt> n'est plus reconnue. Ce problème est provoqué | Hélas, la carte wifi <tt>Atheros 5424/2424</tt> n'est plus reconnue. Ce problème est provoqué | ||
par l' | par l'introduction en FreeBSD 9.0 du nouveau module <tt>ath_pci</tt>. En ajoutant | ||
'''<tt>device ath_pci</tt>''' à la configuration du noyau, | '''<tt>device ath_pci</tt>''' à la configuration du noyau, la carte est à nouveau correctement | ||
détectée. | |||
==Adaptation des ports== | ==Adaptation des ports== | ||
A suivre ... | A suivre ... | ||
==Démarrage avec zfsboot== | |||
Sur un de mes systèmes, le disque est partagé entre <tt>Windows 7</tt> et <tt>FreeBSD</tt>. <tt>FreeBSD</tt> est sur un pool <tt>ZFS</tt>: | |||
[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 <tt>zfsboot</tt> de la partition <tt>FreeBSD</tt> (<tt>/dev/ada0s2a</tt>): | |||
/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) | |||
Mais comme j'avais déjà recompilé tous le système à l'aide du nouveau compilateur <tt>clang</tt>, | |||
j'ai constaté que le démarrage du système se bloque lors de l'affichage de la barre tournante | |||
par <tt>zfsboot</tt>. | |||
Après avoir compilé <tt>zfsboot<>tt> avec le compilateur classique <tt>gcc</tt>, tout | |||
est rentré dans l'ordre. |
Version du 31 juillet 2011 à 17:22
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 loader 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 loader ne le charge plus. Il s'agit là du problème qui entraîne, aussi bien en 8.2-STABLE qu'en 9.0-BETA1, le Fatal trap 12; vraisemblablement du à 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)
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<>tt> avec le compilateur classique gcc, tout est rentré dans l'ordre.