Jump to content

Archived

This topic is now archived and is closed to further replies.

-rem-

[Debian GNU/Linux] Recompiler son propre noyau

Recommended Posts

pour etre un peu plus clair :

Pour booter linux, il suffit d'avoir linux ( un noyau compile pour la machine ), eventuellement un fichier system.map ( marche mieux avec :reflechis: ) et dans des cas tres particuliers ( ramdisk pour l noyau ) un initrd. Apres, des que le noyau boot, il va chercher sa partition dite root, la partition montee en "/" .

donc, pour resumer il faut avoir :

* un noyau compile comprenant le support du fs sur laquelle est montee la partition root.

* un fichier system.map pour ce noyau

* une partition root "/" surlaquelle le systeme est installe

* un fichier /etc/fstab qui permet de monter le systeme de fichier root.

* un bootloader comportant les endroits ou se trouvent les 3 premiers * de mon enumeration.

avec ca, tu boot obligatoirement linux, apres, il se peut que tu aies un kernel panic parce que ton noyau est mal configure ou je ne sais quoi, mais deja, tu devrais pouvoir booter ca. Il y a donc de fortes chances pour que ton fichier de conf grub soit mal renseigne. Moi c'est marrant, grub il va chercher grub.conf et pas menu.lst mais bon, ca doit juste etre un reglage.

Après avoir valider les changements (:wq) dans /boot/grub/menu.lst, j'ai eu bizarrement (alors que j'étais bien en root) le message:

xlib: connection to ":0.0" refused by server

xlib: No protocol specified

tu as tres certainement du faire une fausse manip avec cet editeur genial qu'est vi !

Share this post


Link to post
Share on other sites
* un noyau compile comprenant le support du fs sur laquelle est montee la partition root.

* un fichier system.map pour ce noyau

* une partition root "/" surlaquelle le systeme est installe

* un fichier /etc/fstab qui permet de monter le systeme de fichier root.

* un bootloader comportant les endroits ou se trouvent les 3 premiers * de mon enumeration.

Bof, le system.map n'est pas utile (moi en tout cas, j'en ai pas...et ça marche du tonerre)

Share this post


Link to post
Share on other sites

tout d'abord bravo pour ce topic ! :gne:

très clair et très bien fait :craint:

cependant j'ai un petit soucis après ma compilation je boote sur le nouveau noyau 2.6.7

le serveur X se lance mais... la souris ne bouge plus et les boutons n'ont pas l'air de répondre non plus

je n'ai pas touché à la conf de X, j'ai la souris sur /dev/psaux, je n'utilise pas gpm

qd je reboote sur mon 2.6.7-1-k7 la souris fonctionne à nouveau

j'ai du avoir loupé une option dans le noyau mais j'ai beau regarder partout je ne vois absolument pas ce que ça pourrait être... :fou:

de plus il n'y rien de suspect dans dmesg, ni dans le log d'XFree

là je vient de recompiler un noyau avec le "Event Debugging" en module (c'est dans input devices) mais j'ai pas encore eu le temps de voir ce que ça donne...

En attendant si qq à une idée sur l'option que j'aurais pu oublier... je suis preneur :oui: !!!

merci pour votre aide !

Share this post


Link to post
Share on other sites

rassures moi...apres avoir rebooté... tu as bien recompiler le pilote nvidia 6111 quand meme ??? Tu as pensé aussi au lien /usr/src/linux ???

gcc -v

uname -a

Share this post


Link to post
Share on other sites
rassures moi...apres avoir rebooté... tu as bien recompiler le pilote nvidia 6111 quand meme ??? Tu as pensé aussi au lien /usr/src/linux ???

gcc -v

uname -a

uname -a

2.6.7

gcc -v

la version qui est inclus dans la unstable

à noter que je n'ai aucune erreur de compilation

j'ai bien le lien /usr/src/linux... mais je vois pas le rapport

et oui j'ai bien recompilé le module nvidia, sans ça de toutes facons le serveur X ne se lance pas ^^;

Share this post


Link to post
Share on other sites

oops...

excuse moi, j'etais un peu out.... Ce n'est pas un pb X, mais juste de souris...

Peut etre que dans ton noyau il y a des options concernant les /dev pour la souris...Je crois qu'il y a un ou deux truc a cocher, mais m'en souviens plus trop. Je t'invite a consulter le topic sur la configuration des noyaux, ecrit par mon ami tuxxx. ( Référencé dans les meilleurs topics forum linux )

Share this post


Link to post
Share on other sites

ben justement j'ai suivi son tuto :)

mais la partie sur les devices n'est pas trop détailée (ça se comprend vu toutes les options...)

je vous donnerai les logs du event debug ce sera surement plus explicite

merci !

bon apparemment : pb résolu mais je ne sais pas exactement j'ai juste rajouter qqs options dans le noyau mais je sais plus exactement lesquelles... en tt k ça venait bien de là...

Par contre j'ai remarqué que j'ai l'écran qui scintille très légèrement sous X avec ce noyau ! alors que quand je repasse sur le kernel-image de la debian c'est nikel...

(même conf d'Xfree, drivers nvidia recompilés) :keskidit:

Share this post


Link to post
Share on other sites

bon ok je me répond à moi même...

juste pour ajouter cette précision concernant ma souris qui ne répondait pas sous X

l'"option" du noyau en question est dans input device support

il ne faut pas oublier d'inclure Event interface si vous voulez que votre souris fonctionne sous xfree

vala vala :byebye:

Share this post


Link to post
Share on other sites

Je n'ai pas trouvé de réponse dans ce topic, ni dans le topic général de la Debian ...

J'ai installé une Debian testing ...

Et je voudrais compiler mon noyau avec la dernière version (en 2.6.10 ou 2.6.11).

J'ai donc fait :

apt-get update
apt-cache search kernel-source

Et il ne me propose que des noyaux en version 2.6.8 maximale ...

Ce n'est pas encore possible de télécharger les sources des noyaux en version 2.6.1x via ce système ? :incline:

Merci d'avance pour vos réponses :)

Share this post


Link to post
Share on other sites

Ben tu télécharge le noyau directement depuis kernel.org (wget de préférence...) et après, c'est comme marqué dans le tuto noyau

Share this post


Link to post
Share on other sites

Hmm remy conseillait d'utiliser l'autre méthode pour les débutants ...

Quoique je pourrais essayer avec ton tutoriel ...

Bon bon bon ... c'est parti ...

Si quelqu'un pourrait néanmoins répondre à ma question :cartonrouge:

Share this post


Link to post
Share on other sites

pour avoir le dernier noyau avec deb, il faut que tu ais un repro qui le possède et que quelqu'un se soit donné la peine d'en faire un paqckage...donc soit patient :modoreussi:

télécharge celui de kernel.org :cartonrouge:

en plus il faut savoir le faire, juste au cas où :incline:

Share this post


Link to post
Share on other sites

Ouille, ça commence mal ^^

Bon, j'ai tout d'abord installé un package :

apt-get install kernel-package

Ok pour celui-là.

C'est maintenant que les problèmes commencent :) Je fais :

dpkg - | grep module-init-tools

Ca n'affiche rien ! Du coup :

apt-get install module-init-tools
module-init-tools est déjà la plus récente version disponible.

Normal ?

2eme problème, avec make.

make clean
make: *** Pas de règle pour fabriquer la cible "clean". Arrêt.

J'obtiens le meme problème avec mrproper et makemenu.

Ca commence mal

:zarb:

Ptite remarque : j'ai télécharger le noyau 2.6.11.7. Le fichier "zippé" est en .bz2 et non pas en .tar.bz2. J'ai donc du installer bzip2 (apt-get install bzip2) et taper bzip2 -d filename.bz2 pour dézipper le fichier.

Share this post


Link to post
Share on other sites

Super! Je cherchais un tuto pour recompiler le noyau sous debian. Hier soir j'ai testé mais j'avais des problèmes, surement à cause des dépendances. Ce tuto est très bien fait, en plus tout est très bien expliqué; on sait ce que l'on fait. Je vais tester cela demain soir, c'est niquel! :) Bravo pour vos tutos! :)

Share this post


Link to post
Share on other sites
oui, sur la page principale de kernel.org, il n'y a plus que les patches... :cartonjaune:

c'est pour éviter une surcharge du server, donc tu va et tu prends celui-là:

http://www.kernel.org/pub/linux/kernel/v2.....6.11.7.tar.bz2 (35Mo le petiot)

tu ne t'es pas posé de question en voyant la taille du kernel estimée à 200ko :boulet:

:mdr:

Ben si je me disais bien que c'était vraiment petit comme truc ...

Je n'avais pas vu qu'il fallait cliquer sur le "f" pour avoir la source en entier ;- )

Bon ... reste plus qu'à m'y remettre ;-)

Merci

Share this post


Link to post
Share on other sites

Voila, j'ai réussi à compiler mon noyau ...

Mais je cale sur la modification du bootloader, Lilo dans mon cas.

En fait j'ai trouvé que Lilo bootait sur /vmlinuz.

Quand on fait un ls -l, on peut voir :

vmlinuz -> boot/vmlinuz-2.6.8-1-386.

Donc il boot sur ce noyau là.

Dans boot j'ai aussi mon nouveau noyau, à savoir : kernel-2.6.11.7.

Quelle est la meilleur façon de modifier son lilo ?

Dois-je crée un vmlinuz.old et le faire pointer vers boot/vmlinuz-2.6.8-1-386 ?

(Il me dit que le fichier est déjà existant quand je fais le lien :transpi: )

Et faire pointer le vmlinuz vers le nouveau noyau ?

(Même problème de fichier existant :/)

Merci d'avance pour votre aide :non:

Share this post


Link to post
Share on other sites
Hmm j'ai trouvé une réponse chez LeaLinux (http://lea-linux.org/kernel/kernel.html#installation_nouveau_noyau)

J'ai le choix pour booter ... Mais j'ai dû me tromper quelque part ...

J'ai testé les deux choix, et pour chacun il me charge le nouveau noyau ...

... et j'ai un kernel panic  :transpi:  :pleure:

Je suis bon pour tout réinstaller ? :|

Non surtout pas :zarb:

Si tu sais où tu as fait ton erreur, tu prends un livecd (knoppix ou autre) tu montes les partions adéquates (le /boot) tu modifies ton lilo.conf (ou j'sais pas comment il s'appelle) et ça devrait aller.

Par contre ne vire pas ton vieux noyau, apparemment c'est avec ton nouveau que tu as un kernel panic, c'est pas bien grave il lui manque juste un truc en dur (au hasard, un système de fichier ou un driver de carte SCSI/SATA; ça m'est arrivé hier...), ensuite tu reboot sous ton ancien noyau et tu en refais un joli tout propre en mettant en dur ce que tu as du oublié :D

Share this post


Link to post
Share on other sites

j'ai la flemme de chercher la réponse de rem à ce sujet, mais majoritairement le kernel panic vient de :

1. pas les bons FS en dur

2. pas le drivers du hdd en dur

:transpi:

Share this post


Link to post
Share on other sites
Non surtout pas :yes:

Si tu sais où tu as fait ton erreur, tu prends un livecd (knoppix ou autre) tu montes les partions adéquates (le /boot) tu modifies ton lilo.conf (ou j'sais pas comment il s'appelle) et ça devrait aller.

Par contre ne vire pas ton vieux noyau, apparemment c'est avec ton nouveau que tu as un kernel panic, c'est pas bien grave il lui manque juste un truc en dur (au hasard, un système de fichier ou un driver de carte SCSI/SATA; ça m'est arrivé hier...), ensuite tu reboot sous ton ancien noyau et tu en refais un joli tout propre en mettant en dur ce que tu as du oublié :-D

J'ai booter sur une Knoppix 3.3, mais je n'arrive pas à modifier le fichier lilo.conf.

Il me dit que le filesystem est en read-only, même quand je suis en root.

Ce me semble logique d'un coté ... mais comment contourner cette protection ? :byebye:

Merci pour vos réponses

Share this post


Link to post
Share on other sites

Ah j'suis content ça ne me le fait pas qu'à moi :yes:

Demonte le /boot et remonte-le, ça devrait aller. :byebye:

Share this post


Link to post
Share on other sites

demontes et remontes les partitions de ton système en lecture-écriture (rw)

Share this post


Link to post
Share on other sites

Hmm ... pourquoi faut-il démonter le /boot ? Pourquoi pas /mnt/hda2 (disque où se trouve tout mes répertoires de ma distribution, pas de knoppix) ?

Je n'arrive pas à démonter le /boot. J'ai un message me signalant qu'il n'est pas monté.

Si je tente de démonté le /mnt/hda2, il me dis "device is busy".

Je n'ai pas de /mnt/boot ...

Share this post


Link to post
Share on other sites

En effet, ça dépend bien évidemment de la configuration de ton disque, si tu n'as qu'une seule grosse partition montée en racine (/) alors c'est celle-là qu'il faut démonter/remonter.

Pour le device is busy ça veut dire que tu l'utilises ou qu'un programme en cours utilise un fichier qui est dessus (comme par exemple un éditeur de texte sur lequel est ouvert ton lilo.conf)

Share this post


Link to post
Share on other sites

×
×
  • Create New...