Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

recompilation noyau problematique

12 réponses
Avatar
Bernard
Bonjour à tous,

je suis sous Debian 3.1 (Sarge), et j'ai besoin de recompiler mon noyau,
afin d'en éliminer les fonctionalités audio incluses, lesquelles
m'empèchent de compiler sans erreur une nouvelle architecture audio (OSS
pour remplacer ALSA, je veux parler du nouvel OSS, pas de celui qui a
été abandonné il y a quelques années).

Pour cette recompilation, j'ai de sérieux problèmes, et ce, bien
qu'autrefois j'avais plusieurs fois pratiqué cela sous RedHat 5.2, 6.0
puis 7.2 sans échec.

A la lueur des infos recueillies ici et là (pas de possibilité de
recompiler les noyaux antérieurs à 2.6.20 avec les outils récents),
j'aimerais tenter une démarche assez simple - j'espère qu'elle n'est pas
trop naïve - mais pour laquelle j'ai besoin de vos conseils, s'agissant
d'une liste de packages utiles.

1ère étape :
apt-get purge kernel-utils make gcc build-utils etc...

2 ième étape :
vi /etc/apt/sources.list
modifier ce fichier de façon à désactiver les liens vers des
répertoires contenant des packages récents (stable, lenny, testing),
ré-activer uniquement les répertoires de packages anciens (sarge)

3 ième étape :
apt-get install kernel-utils make gcc build-utils etc...

4 ième étape :
avec ces nouveaux (anciens) outils, essayer la recompilation de mon noyau
actuel (2.6.20-16-386) afin d'en exclure les fonctionalités audio
incluses (c'est le but initial de la manip)

Mais j'ai besoin de connaître la liste de tous les nouveaux packages que
je dois désactiver et remplacer par les anciens.

Merci d'avance pour votre contribution.

10 réponses

1 2
Avatar
Mélodie
On Sun, 23 Aug 2009 15:23:33 +0200
Bernard wrote:

1ère étape :
apt-get purge kernel-utils make gcc build-utils etc...



Bonjour,

Je propose à la place : « apt-get remove --purge kernel-utils make gcc
build-utils etc... »

(Si c'est cette démarche qui doit être suivie)
Avatar
Eric Dorino
On Sun, 23 Aug 2009 15:23:33 +0200, Bernard wrote:

Bonjour à tous,



Bonjour,


je suis sous Debian 3.1 (Sarge), et j'ai besoin de recompiler mon noyau,
afin d'en éliminer les fonctionalités audio incluses, lesquelles
m'empèchent de compiler sans erreur une nouvelle architecture audio (OSS
pour remplacer ALSA, je veux parler du nouvel OSS, pas de celui qui a
été abandonné il y a quelques années).



Je suppose que c'est OSS 4.1 qui vient d'ici
<http://www.4front-tech.com/developer/sources/stable/gpl/>
(puisque vous semblez ne pas vouloir utiliser les deb tout fait avec
licence commerciale une année gratuite).

Deux remarques:
- sarge, ce n'est plus maintenu.
- pourquoi recompiler un noyau? normalement tout alsa est en modules: ne
pas les charger doit être suffisant.


Pour cette recompilation, j'ai de sérieux problèmes, et ce, bien
qu'autrefois j'avais plusieurs fois pratiqué cela sous RedHat 5.2, 6.0
puis 7.2 sans échec.



Quels problèmes précisément?


A la lueur des infos recueillies ici et là (pas de possibilité de
recompiler les noyaux antérieurs à 2.6.20 avec les outils récents),



Quels outils précisément?

j'aimerais tenter une démarche assez simple - j'espère qu'elle n'est pas
trop naïve - mais pour laquelle j'ai besoin de vos conseils, s'agissant
d'une liste de packages utiles.

1ère étape :
apt-get purge kernel-utils make gcc build-utils etc...

2 ième étape :
vi /etc/apt/sources.list
modifier ce fichier de façon à désactiver les liens vers des répertoires
contenant des packages récents (stable, lenny, testing), ré-activer
uniquement les répertoires de packages anciens (sarge)

3 ième étape :
apt-get install kernel-utils make gcc build-utils etc...

4 ième étape :
avec ces nouveaux (anciens) outils, essayer la recompilation de mon
noyau actuel (2.6.20-16-386) afin d'en exclure les fonctionalités audio
incluses (c'est le but initial de la manip)



Deux autres:
- 2.6.20-16 n'est pas un noyau proposé par sarge (ni par debian
d'ailleurs, si je ne m'abuse): est-ce du kernel.org?
- vous dites être en sarge et avoir déclaré des dépôts lenny et squeeze
dans le sources.list: je suis un peu perdu. Peut-on avoir le contenu du
sources.list, de /etc/apt/apt.conf et /etc/apt/preferences, s'ils
existent.


Mais j'ai besoin de connaître la liste de tous les nouveaux packages que
je dois désactiver et remplacer par les anciens.



Vous essayez de downgrader une distribution. Ca peut éventuellement
marcher mais c'est osé.

Pourquoi ne pas:
- upgrader vers une debian stable, y compris le noyau; puis blacklister
alsa (ou recompîler le noyau sans alsa), et compiler oss.
ou bien:
- récupérer un noyau de kernel.org, le configurer, le compiler,
l'installer, compiler oss.



Merci d'avance pour votre contribution.



--
Eric
Avatar
Bernard
Le Mon, 24 Aug 2009 00:07:42 +0000, Eric Dorino a écrit :

On Sun, 23 Aug 2009 15:23:33 +0200, Bernard wrote:

Bonjour à tous,



Bonjour,


je suis sous Debian 3.1 (Sarge), et j'ai besoin de recompiler mon noyau,
afin d'en éliminer les fonctionalités audio incluses, lesquelles
m'empèchent de compiler sans erreur une nouvelle architecture audio
(OSS pour remplacer ALSA, je veux parler du nouvel OSS, pas de celui qui
a été abandonné il y a quelques années).



Je suppose que c'est OSS 4.1 qui vient d'ici
<http://www.4front-tech.com/developer/sources/stable/gpl/> (puisque vous
semblez ne pas vouloir utiliser les deb tout fait avec licence commerciale
une année gratuite).



Mais si, c'est le deb tout fait que j'ai téléchargé chez 4front-tech.
'dpkg -i' me l'installe avec des messages d'erreur :

'unable to eliminate conflicting devices... Make sure that your kernel
was not compiled with built-in sound functions' (ou quelque chose de ce
genre). Cà fonctionne tout de même, mais je ne suis pas certain que ce
soit dans de bonnes conditions.

(Au fait, comment mesure-t-on la latence ?)

Quant aux fonctionalités audio, en effet cela fait partie de mon ancienne
config file, mon noyau en comporte donc, et pas seulement en tant que
modules.


2.6.20.16, en effet, n'est pas le noyau originel de Sarge. C'était
2.6.12-6-686. Un jour, par erreur, il y a de cela environ 18 mois, j'ai
tapé par erreur 'apt-get upgrade', voulant taper 'apt-get update'. Une
mise à jour s'est déclenchée, qui a duré plus de 4 heures, à la suite
de laquelle j'avais dû upgrader pas mal de packages, lesquels demandaient
eux mêmes d'autres mises à jour, et ainsi de suite. A la fin, il restait
encore quelque chose qui ne fonctionnait pas, je ne sais plus bien quoi.
Alors quelqu'un m'a aidé à améliorer mon système, et, parmi les
conseils reçus, il y avait l'installation d'un noyau plus récent, fait
pour 'ubuntu'. C'est le 2.6.20-16. A l'époque, j'avais pu le compiler
sans problème. La consultation de la liste de diffusion Debian m'informe
que, désormais, les nouveaux outils ne permettent plus la compil de
2.6.20 et antérieurs, les nouvelles versions du compilateur c (gcc)
exigeant des déclarations de fonctions qui n'étaient pas nécessaires
auparavant. C'est pourquoi je n'arrive pas à recompiler mon noyau actuel,
sauf à revenir aux packages antérieurs, ce que je ne sais pas faire.

A partir d'un noyau plus récent (2.6.26), la compilation fonctionne
sans erreur... mais alors le noyau que j'obtiens ne boote pas : 'kernel
panic...' . Voici des images d'écran au moment des crash :

http://www.teaser.fr/~bdebreil/bootcrash1.jpg

http://www.teaser.fr/~bdebreil/bootcrash2.jpg

C'est sans doute
parce que je n'ai pas une initrd.img qui convienne. Il faut dire que j'ai
un système RAID1, et que cela ne simplifie pas les choses.
Bien évidemment, j'ai déclaré les fonctionalités raid, lvm
etc dans la config du noyau avant compilation, j'ai essayé
tour à tour sous forme de modules ou dans le noyau. Apparemment, les
options que j'ai dans mon /etc/mkinitrd/mkinitrd.conf ne sont pas les
bonnes pour l'obtention d'une initrd.img qui convienne au noyau 2.6.26 sur
mon système. Cà fonctionnait il y a 18 mois, mais depuis lors j'ai fait
un certain nombre d'"updates de packages", pour utiliser les néologismes
les plus actuels.






Quels problèmes précisément?



Je résume ce que j'ai dit plus haut : compilation impossible pour 2.6.20,
possible avec 2.6.26 mais pas moyen de faire booter le noyau ainsi obtenu.

pas de possibilité de
recompiler les noyaux antérieurs à 2.6.20 avec les outils récents),



Quels outils précisément?



/usr/src/linux-2.6.20.2$ make

===> 'undeclared function such and such...' des dizaines ou centaines de
lignes de ce genre d'erreurs



Peut-on avoir le contenu du
sources.list, de /etc/apt/apt.conf et /etc/apt/preferences, s'ils
existent.



mon /etc/apt/apt.conf ne comporte qu'une seule ligne :
"
Acquire::http:;
"

Ci-après mon sources.list. On n'y trouve actuellement que 2 lignes
décochées, mais toutes les autres m'ont servi à un moment où à un
autre, et j'avoue que c'était sans doute une erreur que d'essayer
d'installer des packages qui n'étaient pas testés pour mon système. Mes
binutils, kernel-packages et autres ont bien évidemment été installées
à partir de répertoires maintenant désactivés, tels 'stable' ou
'testing'.

"
#deb file:///cdrom/ sarge main

# deb http://old-releases.ubuntu.com/ubuntu/ feisty main
# deb-src http://old-releases.ubuntu.com/ubuntu/ feisty main

deb http://archive.debian.org/debian/ sarge contrib main non-free
deb-src http://archive.debian.org/debian/ sarge contrib main non-free

# deb http://ftp.u-strasbg.fr/debian/ stable main contrib non-free
# deb-src http://ftp.u-strasbg.fr/debian/ stable main contrib non-free
#deb http://http.us.debian.org/debian sarge main

# deb http://ftp.u-strasbg.fr/debian/ testing main contrib non-free
# deb-src http://ftp.u-strasbg.fr/debian/ testing main contrib non-free

#deb http://security.debian.org/ stable/updates main


#deb http://debian.mines.inpl-nancy.fr/debian/ sarge main contrib non-free
#deb-src http://debian.mines.inpl-nancy.fr/debian/ sarge main contrib non-free
#deb http://ftp2.fr.debian.org/debian/ stable main contrib non-free backports
#deb-src http://ftp2.fr.debian.org/debian/ stable main contrib non-free backports
#deb http://debian.mines.inpl-nancy.fr/debian/ sarge-proposed-updates main
contrib non-free
#deb http://ftp2.fr.debian.org/debian/ stable-proposed-updates main contrib non-free
#deb-src http://ftp2.fr.debian.org/debian/ stable-proposed-updates main contrib non-free
#deb http://debian.mines.inpl-nancy.fr/debian-non-US sarge/non-US main contrib non-free
#deb http://ftp2.fr.debian.org/debian-non-US stable/non-US main contrib non-free
#deb-src http://ftp2.fr.debian.org/debian-non-US stable/non-US main contrib non-free

# security
#deb http://rfc822.debian.org/ stable/updates main contrib non-free
#deb http://security.debian.org/ stable/updates main contrib non-free
#deb-src http://security.debian.org/ stable/updates main contrib non-free

# mplayer
# deb http://itp.tugraz.at/Comp/debian/ sarge main

# backports pour mp3blaster 3.2.2 et openoffice2
# deb http://www.backports.org/debian sarge-backports main contrib non-fr

"

Pourquoi ne pas:
- upgrader vers une debian stable, y compris le noyau; puis blacklister
alsa (ou recompîler le noyau sans alsa), et compiler oss.



Upgrader vers Lenny... D'abord ce n'est apparemment pas possible à faire
directement. Il me faudra tout sauvegarder, installer Lenny en
reformatant, puis récupérer mes données depuis la sauvegarde. On verra
çà lorsque je pourrai prévoir quinze jours de disponibilité. J'espère
que cela pourra attendre que j'achète un nouveau PC, sans doute dans 2
ans ou environ :=). Recompiler un noyau, ce n'est pas la même chose, car
l'on peut toujours rebooter sur l'ancien, alors que là, je ne sais pas
combien de temps mon système sera partiellement ou
totalement indisponible. J'ai déjà donné pour passer de RedHat 7.2 à
Debian... :=)


ou bien: -
récupérer un noyau de kernel.org, le configurer, le compiler,
l'installer,



C'est exactement ce que j'ai fait avec 2.6.26, mais, comme précisé plus
haut, je n'arrive pas à booter ce noyau, faute d'une initrd image valide.
Même résultat avec 2.6.30.4.

compiler oss.



c'est ce qui était prévu.
Avatar
Eric Dorino
On Mon, 24 Aug 2009 20:20:05 +0200, Bernard wrote:

Le Mon, 24 Aug 2009 00:07:42 +0000, Eric Dorino a écrit :

On Sun, 23 Aug 2009 15:23:33 +0200, Bernard wrote:

Bonjour à tous,



Bonjour,






[snip]
'dpkg -i' me l'installe avec des messages d'erreur :

'unable to eliminate conflicting devices... Make sure that your kernel
was not compiled with built-in sound functions' (ou quelque chose de ce
genre). Cà fonctionne tout de même, mais je ne suis pas certain que ce
soit dans de bonnes conditions.

(Au fait, comment mesure-t-on la latence ?)

Quant aux fonctionalités audio, en effet cela fait partie de mon
ancienne config file, mon noyau en comporte donc, et pas seulement en
tant que modules.




Que veut dire "ça fonctionne"? les modules OSS se chargent? il y a du son?
autre chose?



2.6.20.16, en effet, n'est pas le noyau originel de Sarge. C'était
2.6.12-6-686. Un jour, par erreur, il y a de cela environ 18 mois, j'ai


[snip]
revenir aux packages antérieurs, ce que je ne sais pas faire.

A partir d'un noyau plus récent (2.6.26), la compilation fonctionne sans
erreur... mais alors le noyau que j'obtiens ne boote pas : 'kernel
panic...' . Voici des images d'écran au moment des crash :

http://www.teaser.fr/~bdebreil/bootcrash1.jpg



C'est un noyau 2.6.30.4 (et non pas 2.6.26) qui ne trouve pas /dev/*, ni
ses modules.


http://www.teaser.fr/~bdebreil/bootcrash2.jpg



Un noyau indéterminé qui détecte un raid et tente de créer un dir sous
"/devfs"(?).


C'est sans doute
parce que je n'ai pas une initrd.img qui convienne. Il faut dire que
j'ai un système RAID1, et que cela ne simplifie pas les choses. Bien
évidemment, j'ai déclaré les fonctionalités raid, lvm etc dans la config
du noyau avant compilation, j'ai essayé tour à tour sous forme de
modules ou dans le noyau. Apparemment, les options que j'ai dans mon
/etc/mkinitrd/mkinitrd.conf ne sont pas les bonnes pour l'obtention
d'une initrd.img qui convienne au noyau 2.6.26 sur mon système. Cà
fonctionnait il y a 18 mois, mais depuis lors j'ai fait un certain
nombre d'"updates de packages", pour utiliser les néologismes les plus
actuels.



Ou bien la conséquence de la transition devfs vers udev, qui a du
apparaître avec etch, si je me souviens bien; ou bien autre chose.







Quels problèmes précisément?



Je résume ce que j'ai dit plus haut : compilation impossible pour
2.6.20, possible avec 2.6.26 mais pas moyen de faire booter le noyau
ainsi obtenu.

pas de possibilité de
recompiler les noyaux antérieurs à 2.6.20 avec les outils récents),



Quels outils précisément?



/usr/src/linux-2.6.20.2$ make

===> 'undeclared function such and such...' des dizaines ou centaines de
lignes de ce genre d'erreurs



Un extrait aurait été le bienvenue.




Peut-on avoir le contenu du
sources.list, de /etc/apt/apt.conf et /etc/apt/preferences, s'ils
existent.



mon /etc/apt/apt.conf ne comporte qu'une seule ligne : "
Acquire::http:;
"

Ci-après mon sources.list. On n'y trouve actuellement que 2 lignes
décochées, mais toutes les autres m'ont servi à un moment où à un autre,
et j'avoue que c'était sans doute une erreur que d'essayer d'installer
des packages qui n'étaient pas testés pour mon système. Mes binutils,
kernel-packages et autres ont bien évidemment été installées à partir de
répertoires maintenant désactivés, tels 'stable' ou 'testing'.




Bon.


Pourquoi ne pas:
- upgrader vers une debian stable, y compris le noyau; puis blacklister
alsa (ou recompîler le noyau sans alsa), et compiler oss.



Upgrader vers Lenny... D'abord ce n'est apparemment pas possible à faire
directement.



Ah bon? Pourquoi cela?
Si vous appréhendez le saut de version, Etch est toujours dans les dépots.
Qu'est-ce qui s'oppose à
- [truc qui ressemble de loin à sarge]
- etch
- lenny.

Il me faudra tout sauvegarder, installer Lenny en
reformatant, puis récupérer mes données depuis la sauvegarde. On verra
çà lorsque je pourrai prévoir quinze jours de disponibilité. J'espère
que cela pourra attendre que j'achète un nouveau PC, sans doute dans 2
ans ou environ :=). Recompiler un noyau, ce n'est pas la même chose, car
l'on peut toujours rebooter sur l'ancien, alors que là, je ne sais pas
combien de temps mon système sera partiellement ou totalement
indisponible. J'ai déjà donné pour passer de RedHat 7.2 à Debian... :=)



J'ai bien peur que vous n'avanciez pas en continuant à recompiler des
noyaux au petit bonheur, et en vous obligeant à ajuster les outils de
compilation et le runtime au fur et à mesure.
Vous êtes dans une situation dans laquelle
- vous ne pouvez plus recompiler votre propre noyau,
- vous ne pouvez pas exécuter un noyau plus récent, parce que
l'environnement ne le permet pas.

Il va être nécessaire de toute façon de resynchroniser l'ensemble sur un
niveau de la distribution.



ou bien: -
récupérer un noyau de kernel.org, le configurer, le compiler,
l'installer,



C'est exactement ce que j'ai fait avec 2.6.26, mais, comme précisé plus
haut, je n'arrive pas à booter ce noyau, faute d'une initrd image
valide. Même résultat avec 2.6.30.4.

compiler oss.



c'est ce qui était prévu.





--
Eric
Avatar
Bernard
Le Tue, 25 Aug 2009 01:34:22 +0000, Eric Dorino a écrit :

On Mon, 24 Aug 2009 20:20:05 +0200, Bernard wrote:

Le Mon, 24 Aug 2009 00:07:42 +0000, Eric Dorino a écrit :

On Sun, 23 Aug 2009 15:23:33 +0200, Bernard wrote:

Bonjour à tous,



Bonjour,






[snip]
'dpkg -i' me l'installe avec des messages d'erreur :

'unable to eliminate conflicting devices... Make sure that your kernel
was not compiled with built-in sound functions' (ou quelque chose de ce
genre). Cà fonctionne tout de même, mais je ne suis pas certain que ce
soit dans de bonnes conditions.

(Au fait, comment mesure-t-on la latence ?)

Quant aux fonctionalités audio, en effet cela fait partie de mon
ancienne config file, mon noyau en comporte donc, et pas seulement en
tant que modules.




Que veut dire "ça fonctionne"? les modules OSS se chargent? il y a du
son? autre chose?



Oui. Après reboot, OSS se charge sans mot dire, le test 'osstest'
génère les sons prévus, ossrecord enregistre bien, et même c'est de
meilleure qualité que ce que j'enregistre avec audacity 1.2.3, ossplay
marche etc. Il y a tout de même bien des chances pour que la présence
d'autres modules - et notamment des kernel modules - pour le son, donne au
final une latence bien supérieure à ce qu'elle devrait être (mais je ne
sais pas la mesurer)






2.6.20.16, en effet, n'est pas le noyau originel de Sarge. C'était
2.6.12-6-686. Un jour, par erreur, il y a de cela environ 18 mois, j'ai


[snip]
revenir aux packages antérieurs, ce que je ne sais pas faire.

A partir d'un noyau plus récent (2.6.26), la compilation fonctionne
sans erreur... mais alors le noyau que j'obtiens ne boote pas : 'kernel
panic...' . Voici des images d'écran au moment des crash :

http://www.teaser.fr/~bdebreil/bootcrash1.jpg



C'est un noyau 2.6.30.4 (et non pas 2.6.26) qui ne trouve pas /dev/*, ni
ses modules.



oui, comme précisé, j'ai fait des essais avec les deux, et celui qui a
fait l'objet de ces photos était 2.6.34



http://www.teaser.fr/~bdebreil/bootcrash2.jpg



Un noyau indéterminé qui détecte un raid et tente de créer un dir
sous "/devfs"(?).


C'est sans doute
parce que je n'ai pas une initrd.img qui convienne. Il faut dire que
j'ai un système RAID1, et que cela ne simplifie pas les choses. Bien
évidemment, j'ai déclaré les fonctionalités raid, lvm etc dans la
config du noyau avant compilation, j'ai essayé tour à tour sous forme
de modules ou dans le noyau. Apparemment, les options que j'ai dans mon
/etc/mkinitrd/mkinitrd.conf ne sont pas les bonnes pour l'obtention
d'une initrd.img qui convienne au noyau 2.6.26 sur mon système. Cà
fonctionnait il y a 18 mois, mais depuis lors j'ai fait un certain
nombre d'"updates de packages", pour utiliser les néologismes les plus
actuels.



Ou bien la conséquence de la transition devfs vers udev, qui a du
apparaître avec etch, si je me souviens bien; ou bien autre chose.





Quels problèmes précisément?



Je résume ce que j'ai dit plus haut : compilation impossible pour
2.6.20, possible avec 2.6.26 mais pas moyen de faire booter le noyau
ainsi obtenu.

pas de possibilité de
recompiler les noyaux antérieurs à 2.6.20 avec les outils
récents),



Quels outils précisément?



/usr/src/linux-2.6.20.2$ make

===> 'undeclared function such and such...' des dizaines ou centaines
de lignes de ce genre d'erreurs



Un extrait aurait été le bienvenue.



Voici :

:/usr/src/linux-2.6.20.17# make
CHK include/linux/version.h
CHK include/linux/utsrelease.h
HOSTCC scripts/mod/sumversion.o
scripts/mod/sumversion.c: In function 'get_src_version':
scripts/mod/sumversion.c:384: error: 'PATH_MAX' undeclared (first use in this function)
scripts/mod/sumversion.c:384: error: (Each undeclared identifier is reported only once
scripts/mod/sumversion.c:384: error: for each function it appears in.)
scripts/mod/sumversion.c:384: warning: unused variable 'filelist'
make[2]: *** [scripts/mod/sumversion.o] Erreur 1
make[1]: *** [scripts/mod] Erreur 2
make: *** [scripts] Erreur 2





Peut-on avoir le contenu du
sources.list, de /etc/apt/apt.conf et /etc/apt/preferences, s'ils
existent.



mon /etc/apt/apt.conf ne comporte qu'une seule ligne : " Acquire::http:;
"

Ci-après mon sources.list. On n'y trouve actuellement que 2 lignes
décochées, mais toutes les autres m'ont servi à un moment où à un
autre, et j'avoue que c'était sans doute une erreur que d'essayer
d'installer des packages qui n'étaient pas testés pour mon système.
Mes binutils, kernel-packages et autres ont bien évidemment été
installées à partir de répertoires maintenant désactivés, tels
'stable' ou 'testing'.




Bon.


Pourquoi ne pas:
- upgrader vers une debian stable, y compris le noyau; puis blacklister
alsa (ou recompîler le noyau sans alsa), et compiler oss.



Upgrader vers Lenny... D'abord ce n'est apparemment pas possible à
faire directement.



Ah bon? Pourquoi cela?
Si vous appréhendez le saut de version, Etch est toujours dans les
dépots. Qu'est-ce qui s'oppose à
- [truc qui ressemble de loin à sarge] - etch
- lenny.

Il me faudra tout sauvegarder, installer Lenny en reformatant, puis
récupérer mes données depuis la sauvegarde. On verra çà lorsque je
pourrai prévoir quinze jours de disponibilité. J'espère que cela
pourra attendre que j'achète un nouveau PC, sans doute dans 2 ans ou
environ :=). Recompiler un noyau, ce n'est pas la même chose, car l'on
peut toujours rebooter sur l'ancien, alors que là, je ne sais pas
combien de temps mon système sera partiellement ou totalement
indisponible. J'ai déjà donné pour passer de RedHat 7.2 à Debian...
:=)



J'ai bien peur que vous n'avanciez pas en continuant à recompiler des
noyaux au petit bonheur, et en vous obligeant à ajuster les outils de
compilation et le runtime au fur et à mesure. Vous êtes dans une
situation dans laquelle - vous ne pouvez plus recompiler votre propre
noyau, - vous ne pouvez pas exécuter un noyau plus récent, parce que
l'environnement ne le permet pas.

Il va être nécessaire de toute façon de resynchroniser l'ensemble sur
un niveau de la distribution.



Je crois bien que je vais devoir en arriver là. Mais ce ne sera pas de
tout repos et pas sans risque. Je ne puis faire de sauvegarde de mes
partitions raid, étant donné que 'partimage' ne gère pas le lvm. J'ai
bien fait un truc énorme à l'aide de 'dd', mais j'ignore si çà
restaurerait convenablement. A part cela, j'ai sauvegardé un à un les
grands répertoires sur des disques durs externes... et je vais sans doute
faire le grand saut dans le vide... J'espère que la configuration d'un
nouveau RAID ne va pas poser problème... et que je pourrai également
installer fvwm, car je n'aime pas gnome ni kde





ou bien: -
récupérer un noyau de kernel.org, le configurer, le compiler,
l'installer,



C'est exactement ce que j'ai fait avec 2.6.26, mais, comme précisé
plus haut, je n'arrive pas à booter ce noyau, faute d'une initrd image
valide. Même résultat avec 2.6.30.4.

compiler oss.



c'est ce qui était prévu.




Avatar
Eric Dorino
On Tue, 25 Aug 2009 11:06:08 +0200, Bernard wrote:


/usr/src/linux-2.6.20.2$ make

===> 'undeclared function such and such...' des dizaines ou centaines
de lignes de ce genre d'erreurs



Un extrait aurait été le bienvenue.



Voici :

:/usr/src/linux-2.6.20.17# make
CHK include/linux/version.h
CHK include/linux/utsrelease.h
HOSTCC scripts/mod/sumversion.o
scripts/mod/sumversion.c: In function 'get_src_version':
scripts/mod/sumversion.c:384: error: 'PATH_MAX' undeclared (first use in
this function) scripts/mod/sumversion.c:384: error: (Each undeclared
identifier is reported only once scripts/mod/sumversion.c:384: error:
for each function it appears in.) scripts/mod/sumversion.c:384: warning:
unused variable 'filelist' make[2]: *** [scripts/mod/sumversion.o]
Erreur 1 make[1]: *** [scripts/mod] Erreur 2
make: *** [scripts] Erreur 2




:/usr/src/linux-2.6.20.17$ uname -a
Linux neptun 2.6.26-2-amd64 #1 SMP Sun Jun 21 04:47:08 UTC 2009 x86_64
GNU/Linux
:/usr/src/linux-2.6.20.17$ cat /etc/debian_version
squeeze/sid

Voyons voir:

:/usr/src/linux-2.6.20.17$ sudo make oldconfig
[snip]
:/usr/src/linux-2.6.20.17$ sudo make clean && sudo make
CLEAN /usr/src/linux-2.6.20.17
[snip]
scripts/mod/modpost.c: In function ‘check_sec_ref’:
scripts/mod/modpost.c:821: warning: ‘r.r_info’ may be used uninitialized
in this function
HOSTCC scripts/mod/sumversion.o
scripts/mod/sumversion.c: In function ‘get_src_version’:
scripts/mod/sumversion.c:384: error: ‘PATH_MAX’ undeclared (first use in
this function)
scripts/mod/sumversion.c:384: error: (Each undeclared identifier is
reported only once
scripts/mod/sumversion.c:384: error: for each function it appears in.)
scripts/mod/sumversion.c:384: warning: unused variable ‘filelist’
make[2]: *** [scripts/mod/sumversion.o] Error 1
make[1]: *** [scripts/mod] Error 2
make: *** [scripts] Error 2

:/usr/src/linux-2.6.20.17$ grep -r PATH_MAX include/linux/*
include/linux/limits.h:#define PATH_MAX 4096 /* # chars in a
path name including nul */
include/linux/nfs3.h:#define NFS3_MAXPATHLEN PATH_MAX
include/linux/nfs4.h:#define NFS4_MAXPATHLEN PATH_MAX
include/linux/sysctl.h: NET_SCTP_PATH_MAX_RETRANS = 8,
include/linux/un.h:#define UNIX_PATH_MAX 108
include/linux/un.h: char sun_path[UNIX_PATH_MAX]; /* pathname */

:/usr/src/linux-2.6.20.17$ diff -u scripts/mod/sumversion.c ../
linux-2.6.29.6/scripts/mod/sumversion.c
--- scripts/mod/sumversion.c 2007-08-25 17:24:47.000000000 +0200
+++ ../linux-2.6.29.6/scripts/mod/sumversion.c 2009-07-03
01:41:20.000000000 +0200
@@ -7,6 +7,7 @@
#include <ctype.h>
#include <errno.h>
#include <string.h>
+#include <limits.h>
#include "modpost.h"

/*
@@ -289,6 +290,15 @@
release_file(file, len);
[snip]
:/usr/src/linux-2.6.20.17$ cd ../linux-2.6.29.6/
:/usr/src/linux-2.6.29.6$ sudo make clean && sudo make
CHK include/linux/version.h
[snip]
HOSTCC scripts/mod/file2alias.o
HOSTCC scripts/mod/modpost.o
HOSTCC scripts/mod/sumversion.o
HOSTLD scripts/mod/modpost
HOSTCC scripts/selinux/mdp/mdp
HOSTCC scripts/ihex2fw
[snip]
:/usr/src/linux-2.6.29.6$

Le 2.6.20.17 est un noyau de kernel.org.
Le 2.6.29.6 est un noyau de kernel.org + patch basse latence.

Conclusion: Le 2.6.20.17 n'est pas très coopératif, et vous n'êtes pas
chanceux.



Il va être nécessaire de toute façon de resynchroniser l'ensemble sur
un niveau de la distribution.



Je crois bien que je vais devoir en arriver là. Mais ce ne sera pas de
tout repos et pas sans risque. Je ne puis faire de sauvegarde de mes
partitions raid, étant donné que 'partimage' ne gère pas le lvm. J'ai
bien fait un truc énorme à l'aide de 'dd', mais j'ignore si çà
restaurerait convenablement. A part cela, j'ai sauvegardé un à un les
grands répertoires sur des disques durs externes... et je vais sans
doute faire le grand saut dans le vide... J'espère que la configuration
d'un nouveau RAID ne va pas poser problème... et que je pourrai
également installer fvwm, car je n'aime pas gnome ni kde




apt-get doit pouvoir faire le job, peut-être avec une étape (après
sauvegardes, bien entendu):
<http://tcweb.org/mediawiki/index.php/Sauver_restaurer_une_debian>
et, oui, il y a une toujours une place pour les inconditionnels de fvwm.

--
Eric
Avatar
Bernard
Le Tue, 25 Aug 2009 12:37:12 +0000, Eric Dorino a écrit :

On Tue, 25 Aug 2009 11:06:08 +0200, Bernard wrote:


/usr/src/linux-2.6.20.2$ make

===> 'undeclared function such and such...' des dizaines ou centaines
de lignes de ce genre d'erreurs



Un extrait aurait été le bienvenue.



Voici :

:/usr/src/linux-2.6.20.17# make
CHK include/linux/version.h
CHK include/linux/utsrelease.h
HOSTCC scripts/mod/sumversion.o
scripts/mod/sumversion.c: In function 'get_src_version':
scripts/mod/sumversion.c:384: error: 'PATH_MAX' undeclared (first use in
this function) scripts/mod/sumversion.c:384: error: (Each undeclared
identifier is reported only once scripts/mod/sumversion.c:384: error:
for each function it appears in.) scripts/mod/sumversion.c:384: warning:
unused variable 'filelist' make[2]: *** [scripts/mod/sumversion.o]
Erreur 1 make[1]: *** [scripts/mod] Erreur 2 make: *** [scripts] Erreur
2




:/usr/src/linux-2.6.20.17$ uname -a Linux neptun 2.6.26-2-amd64
#1 SMP Sun Jun 21 04:47:08 UTC 2009 x86_64 GNU/Linux
:/usr/src/linux-2.6.20.17$ cat /etc/debian_version squeeze/sid

Voyons voir:

:/usr/src/linux-2.6.20.17$ sudo make oldconfig [snip]
:/usr/src/linux-2.6.20.17$ sudo make clean && sudo make
CLEAN /usr/src/linux-2.6.20.17
[snip]
scripts/mod/modpost.c: In function 'check_sec_ref':
scripts/mod/modpost.c:821: warning: 'r.r_info' may be used
uninitialized in this function
HOSTCC scripts/mod/sumversion.o
scripts/mod/sumversion.c: In function 'get_src_version':
scripts/mod/sumversion.c:384: error: 'PATH_MAX' undeclared (first use
in this function)
scripts/mod/sumversion.c:384: error: (Each undeclared identifier is
reported only once
scripts/mod/sumversion.c:384: error: for each function it appears in.)
scripts/mod/sumversion.c:384: warning: unused variable 'filelist'
make[2]: *** [scripts/mod/sumversion.o] Error 1 make[1]: *** [scripts/mod]
Error 2
make: *** [scripts] Error 2

:/usr/src/linux-2.6.20.17$ grep -r PATH_MAX include/linux/*
include/linux/limits.h:#define PATH_MAX 4096 /* # chars in a path
name including nul */
include/linux/nfs3.h:#define NFS3_MAXPATHLEN PATH_MAX
include/linux/nfs4.h:#define NFS4_MAXPATHLEN PATH_MAX
include/linux/sysctl.h: NET_SCTP_PATH_MAX_RETRANS = 8,
include/linux/un.h:#define UNIX_PATH_MAX 108 include/linux/un.h: char
sun_path[UNIX_PATH_MAX]; /* pathname */

:/usr/src/linux-2.6.20.17$ diff -u scripts/mod/sumversion.c ../
linux-2.6.29.6/scripts/mod/sumversion.c --- scripts/mod/sumversion.c
2007-08-25 17:24:47.000000000 +0200 +++
../linux-2.6.29.6/scripts/mod/sumversion.c 2009-07-03 01:41:20.000000000
+0200
@@ -7,6 +7,7 @@
#include <ctype.h>
#include <errno.h>
#include <string.h>
+#include <limits.h>
#include "modpost.h"

/*
@@ -289,6 +290,15 @@
release_file(file, len);
[snip]
:/usr/src/linux-2.6.20.17$ cd ../linux-2.6.29.6/
:/usr/src/linux-2.6.29.6$ sudo make clean && sudo make
CHK include/linux/version.h
[snip]
HOSTCC scripts/mod/file2alias.o
HOSTCC scripts/mod/modpost.o
HOSTCC scripts/mod/sumversion.o
HOSTLD scripts/mod/modpost
HOSTCC scripts/selinux/mdp/mdp
HOSTCC scripts/ihex2fw
[snip]
:/usr/src/linux-2.6.29.6$

Le 2.6.20.17 est un noyau de kernel.org. Le 2.6.29.6 est un noyau de
kernel.org + patch basse latence.

Conclusion: Le 2.6.20.17 n'est pas très coopératif, et vous n'êtes pas
chanceux.



Mais ici aussi çà compile sans erreur à partir de 2.6.26... mais alors
les images que j'obtiens refusent de booter sur mon système... I y a
toutes les chances pour que 2.6.29.6 donne le même résultat...
Patch Basse latence ? Pour les fonctionalités audio ? Mais de toutes
façons, si cela ne boote pas... ==)

A ce stade, je prépare mon grand ménage (install de Lenny)
Avatar
Eric Dorino
On Tue, 25 Aug 2009 15:25:52 +0200, Bernard wrote:


Mais ici aussi çà compile sans erreur à partir de 2.6.26... mais alors
les images que j'obtiens refusent de booter sur mon système... I y a
toutes les chances pour que 2.6.29.6 donne le même résultat... Patch
Basse latence ? Pour les fonctionalités audio ? Mais de toutes
façons, si cela ne boote pas... ==)



<http://rt.wiki.kernel.org/index.php/Main_Page>


A ce stade, je prépare mon grand ménage (install de Lenny)



Une chose à la fois.
Bon courage.

--
Eric
Avatar
Bernard
Le Tue, 25 Aug 2009 13:44:43 +0000, Eric Dorino a écrit :

On Tue, 25 Aug 2009 15:25:52 +0200, Bernard wrote:


Mais ici aussi çà compile sans erreur à partir de 2.6.26... mais alors
les images que j'obtiens refusent de booter sur mon système... I y a
toutes les chances pour que 2.6.29.6 donne le même résultat... Patch
Basse latence ? Pour les fonctionalités audio ? Mais de toutes
façons, si cela ne boote pas... ==)



<http://rt.wiki.kernel.org/index.php/Main_Page>


A ce stade, je prépare mon grand ménage (install de Lenny)



Une chose à la fois.
Bon courage.



Merci pour le lien, dommage que je n'aie pas lu ceci plus tôt. Car j'ai
déjà fait le grand saut !

Actuellement, je vous parle depuis mon portable DELL sous Ubuntu 8.04
(Hardy Heron)

Car, sur mon PC de bureau... Hum... Y-a du boulot ! C'est le moins qu'on
puisse dire !

J'ai donc téléchargé une iso image de Debian Lenny, ai gravé un CD, et
Hop !

Les choses ne se passent jamais comme on le prévoyait !

J'avais déjà installé Etch sur un vieux portable (pas celui là, il
s'agissait d'un vieux Thinkpad 600), mais çà n'a rien à voir dès lors
qu'il s'agit d'un appareil autre que celui qui sert tous les jours, car
alors, si cela ne fonctionne pas, on réinstalle autre chose, ou on change
les options. Et puis, entre l'installation de Etch et celle de Lenny, il
y a pas mal de différences, ne serait-ce que dans le programme
d'installation lui même, au point qu'on n'y trouve plus ses repères.

Alors, déjà, l'installation a duré à peu près 4 heures ! Eh oui ! Je
crois me souvenir que c'était bien moins pour Sarge et pour Etch. Par
ailleurs, le programme d'installation, passé l'étape du partitionnement,
ne m'a posé pratiquement aucune question, contrairement aux précédentes
expériences. Il est vrai que j'avais opté pour l'installation
"custom" (j'ai oublié le terme exact), mais tout de même. Ah si, on m'a
tout de même demandé de choisir la configuration du clavier : j'ai opté
évidemment pour le clavier Fr... et pourtant çà n'a pas marché ! Mon
azerty, les caractères accentués et spéciaux, ne sont pris en compte que
lorsque je suis sur la console, mais pas dans Gnome ni dans aucune des
applications sous Gnome ! Encore ai-je passé pas mal de temps, sous
Gnome, pour trouver comment sortir de cet environnement (CTRL-ALT-F1). En
fait, je voudrais virer Gnome pour le remplacer par fvwm, mais je ne sais
pas comment faire. J'ai fait 'apt-get install fvwm' et çà m'a bien
installé quelque chose, mais lorsque, sous la console, je tape 'startx',
çà m'envoie promener :

'FATAL SERVER ERROR. Server is already active for display 0. If this
server is no longer runnning, remove /tmp/.XO-lock and start again'

J'ai donc fait: rm /tmp/.XO-lock et refait startx :

'FATAL SERVER ERROR... Make sure another server is not running'

Je retourne donc sous Gnome avec CTRL-ALT-F7.

Sous RedHat 7.2, il existait une commande pour choisir le desk du boot,
c'était 'switchdesk' ou 'switchdesks'. Cà n'existe pas ici. Je ne sais
comment m'y prendre pour virer Gnome si possible, tout au moins ne pas
l'utiliser et lancer fvwm à la place, avec 'startx' et non point
automatiquement au boot.

Par ailleurs, toutes les n minutes, si je reste sur la console sans rien
faire, une commande s'affiche automatiquement, même en mode 'user'

[ 5749.798148] phy0 ==> rt2x00lib_request_firmware: ERROR - Failed to
request firmware.

C'est toujours la même chose qui s'affiche, sauf que les chiffres entre
crochets changent chaque fois. Je ne sais pas ce dont il s'agit, c'est la
première fois que je constate pareille chose.

Je n'ai pas encore eu le temps de vérifier grand chose : l'azerty qui
devient querty sous gnome est déjà très handicapant, et cette commande
bizarre qui indique que quelque chose ne tourne pas rond, tout cela ne
dit rien qui vaille. J'ai quand même fait un vague essai de ce qui est
sensé remplacer Firefox (car Firefox n'est apparemment pas disponible, et
un apt-get firefox répond que ce package n'existe pas !). Il s'agit de
'Epiphany'. Déjà, les fonctionalités JAVA n'apparaissent pas
disponibles : je n'arrive pas à faire fonctionner un site dépendant de
JAVA, lequel fonctionnait avec mon ancienne installation firefox. Et,
dans 'edit/préférences', il n'y a presque rien, et pas question de Java,
pas plus que dans 'tools'.

Il semblerait que, plus on va vers les versions récentes, plus les
logiciels Debian sont simplifiés, et les outils classiques de moins en
moins disponibles. Ainsi, ici, sur mon laptop sous Ubuntu 8.04, Firefox
ne venait pas par défaut, mais il m'a été possible de l'installer
postérieurement avec apt-get install, alors que cette possibilité
n'existe apparemment pas sous Lenny. De même, 'pan' ici sous Ubuntu,
n'est disponible que dans une version 'light', sans les 'dossiers' et
sans les filtres programmables, ce qui est bien dommage. Revenons à
Lenny : openoffice 2.4 ne propose pas grand chose comme polices de
caractères... J'imagine qu'on doit pouvoir installer msttcorefonts... on
verra cela en temps utiles.

Mais bon, pour commencer, si quelqu'un pouvait me dire comment virer
gnome et le remplacer par fvwm, et comment faire prendre en compte les
caractères azerty sous X, ce serait déjà un bon début.

Au fait, pour l'anecdote, et pour que vous en sachiez davantage sur le
programme d'installation de Lenny : Après la fin de l'installation, au
reboot final, çà a planté exactement comme cela plantait avec mon Debian
Sarge lorsque je voulais booter l'un des kernels nouvellement compilés
(voir mes précédents posts). J'ai cru rèver... et je me demandais si,
durant les quatre heures d'installation, quelque chose avait été
réellement effectué !!! Après coupure du courant (pas d'autre moyen
pour sortir de là) et reboot, un rapide examen de l'affichage du menu de
grub m'a permis de constater que mon ancien menu.lst avait été conservé
et que des ajouts y avaient été faits... Mais le boot par défaut pointait
encore sur l'un de mes anciens noyaux, lequel n'avait pas été effacé de /
boot. En fait, le nouveau noyau était l'un de ceux que j'avais
précédemment testés sous Debian, avec un nom légèrement différent.
C'était 2.6.26-2-686 au lieu de 2.6.26.2. Il m'a fallu faire plusieurs
boot tests avec chacun des noyaux présents dans mon /boot/grub/menu.lst,
avec coupure électrique après chaque crash, avant que de trouver que seul
le 2.6.26-2-686 bootait. Ah si, un très ancien noyau Sarge, que j'avais
abandonné il y a environ 18 mois (2.6.12) bootait également (mais avec ce
boot là, pas de prise en compte de la souris... et sans doute d'autres
choses également...)

Pour le reste, un 'df' m'a révélé que mon système raid avait bien été
pris en compte (défini au début du programme d'installation, lors des
choix de partitionnement), de la même façon qu'avec mon ancienne
architecture sous Sarge. La partition Windows XP a bien été conservée, et
j'ai vérifié que je pouvais la booter, et aussi la 'monter' sous Lenny.

Merci d'avance pour votre aide
Avatar
Eric Dorino
On Tue, 25 Aug 2009 22:25:30 +0000, Bernard wrote:


évidemment pour le clavier Fr... et pourtant çà n'a pas marché ! Mon
azerty, les caractères accentués et spéciaux, ne sont pris en compte que
lorsque je suis sur la console, mais pas dans Gnome ni dans aucune des
applications sous Gnome !



Normalement, c'est automatique avec les versions actuelles de X, sans
besoin de /etc/X11/xorg.conf.
Mais là, je ne suis pas trop sûr des mécanismes actuels.
Peut-être supprimer le xorg.conf existant?
Dans tous les cas, cat /var/log/Xorg.0.log doit donner des informations.

Encore ai-je passé pas mal de temps, sous
Gnome, pour trouver comment sortir de cet environnement (CTRL-ALT-F1).
En fait, je voudrais virer Gnome pour le remplacer par fvwm, mais je ne
sais pas comment faire. J'ai fait 'apt-get install fvwm' et çà m'a bien
installé quelque chose, mais lorsque, sous la console, je tape 'startx',
çà m'envoie promener :

'FATAL SERVER ERROR. Server is already active for display 0. If this
server is no longer runnning, remove /tmp/.XO-lock and start again'

J'ai donc fait: rm /tmp/.XO-lock et refait startx :

'FATAL SERVER ERROR... Make sure another server is not running'

Je retourne donc sous Gnome avec CTRL-ALT-F7.



"So, another server is running."

Pour virer Gnome, le plus simple est de ne pas l'installer.
Comme c'est manifestement trop tard:
il faut arrêter le serveur:
:~$ sudo /etc/init.d/gdm stop
ou
:~$ ps ax | grep tty7
:~$ sudo kill <le_pid>
désinstaller gnome et ses dépendances
:~$ sudo aptitude
<section gnome, ils sont nombreux>

Pour utiliser startx:
:~$ echo "exec fvwm" > .xsession

sinon installer le login graphique xdm.


Par ailleurs, toutes les n minutes, si je reste sur la console sans rien
faire, une commande s'affiche automatiquement, même en mode 'user'

[ 5749.798148] phy0 ==> rt2x00lib_request_firmware: ERROR - Failed to
request firmware.



Vous avez un bidule wifi ralink qui réclame un firmware; c'est véniel.
Si vous comptez l'utiliser il faudra installer le package firmware-ralink,
sinon, blacklister le module.


C'est toujours la même chose qui s'affiche, sauf que les chiffres entre
crochets changent chaque fois. Je ne sais pas ce dont il s'agit, c'est
la première fois que je constate pareille chose.



C'est un horodatage.


Je n'ai pas encore eu le temps de vérifier grand chose : l'azerty qui
devient querty sous gnome est déjà très handicapant, et cette commande
bizarre qui indique que quelque chose ne tourne pas rond, tout cela ne
dit rien qui vaille. J'ai quand même fait un vague essai de ce qui est
sensé remplacer Firefox (car Firefox n'est apparemment pas disponible,
et un apt-get firefox répond que ce package n'existe pas !). Il s'agit
de 'Epiphany'. Déjà, les fonctionalités JAVA n'apparaissent pas
disponibles : je n'arrive pas à faire fonctionner un site dépendant de
JAVA, lequel fonctionnait avec mon ancienne installation firefox. Et,
dans 'edit/préférences', il n'y a presque rien, et pas question de Java,
pas plus que dans 'tools'.



firefox s'appelle iceweasel (et thunderbird s'appelle icedove), pour des
problèmes de licence.
Tout ce qui concerne java doit être installé explicitement par apt-get.

pour sortir de là) et reboot, un rapide examen de l'affichage du menu de
grub m'a permis de constater que mon ancien menu.lst avait été conservé
et que des ajouts y avaient été faits... Mais le boot par défaut
pointait encore sur l'un de mes anciens noyaux,



Le menu.lst, s'il existe, n'est pas écrasé normalement (en fait, le
contenu de boot). Ca permet d'avoir une seule partition de boot et
plusieurs instances différentes en multiboot.

Pour le reste, un 'df' m'a révélé que mon système raid avait bien été
pris en compte (défini au début du programme d'installation, lors des
choix de partitionnement), de la même façon qu'avec mon ancienne
architecture sous Sarge. La partition Windows XP a bien été conservée,
et j'ai vérifié que je pouvais la booter, et aussi la 'monter' sous
Lenny.



Comment, Windows XP a été conservé?
Ah ça, un rapport de bug immédiat s'impose.


Merci d'avance pour votre aide







--
Eric
1 2