Jump to content

Archived

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

tuXXX

[Tuto][Initié] Noyau linux

Recommended Posts

avec un peu de chance, tu as dans ton /proc un config.gz, qui contient la config du noyau en train de tourner.

auquel cas, pur la récupérer, tu fais un simple

zcat /proc/config.gz > mon_ancienne_config_de_noyau

que tu peux déplacer/ouvrir à souhait pour faire la config de ton nouveau noyau.

compiler un nouveau noyau ne risque en rien ton systeme, à partir du moment ou tu n'efface pas l'ancien (dans /boot/) et que tu ne supprime pas l'entrée qui te permet de booter dessus dans grub/lilo :roll:

Link to post
Share on other sites

Bonjour

depuis cette nuit je n'arrive plus a recompiler mon kernel al'aide de:

genkernel --menuconfig --install all

*        >> Compiling 2.6.10-gentoo-r6 bzImage...

* ERROR: Failed to compile the "bzImage" target...

* -- Grepping log... --

  SCSI generic support (CHR_DEV_SG) [Y/n/m/?] y

  *

  * Some SCSI devices (e.g. CD jukebox) support multiple LUNs

  *

  Probe all LUNs on each SCSI device (SCSI_MULTI_LUN) [N/y/?] n

  Verbose SCSI error reporting (kernel size +=12K) (SCSI_CONSTANTS) [N/y/?] n

--

  CC      init/version.o

  LD      init/mounts.o

  LD      init/built-in.o

* Gentoo Linux Genkernel; Version 3.1.0h

* ERROR: Failed to compile the "bzImage" target...

* -- End log... --

j'ai essayé de les activer et desactiver mais rien a faire :s

le pire c'est que avant que ca merde je n'y ais pas touché

j'etais dans les options grafique pour trouver comment faire fonctionner mon bootsplash :s

Link to post
Share on other sites
avec un peu de chance, tu as dans ton /proc un config.gz, qui contient la config du noyau en train de tourner.

auquel cas, pur la récupérer, tu fais un simple

zcat /proc/config.gz > mon_ancienne_config_de_noyau

que tu peux déplacer/ouvrir à souhait pour faire la config de ton nouveau noyau.

compiler un nouveau noyau ne risque en rien ton systeme, à partir du moment ou tu n'efface pas l'ancien (dans /boot/) et que tu ne supprime pas l'entrée qui te permet de booter dessus dans grub/lilo :eeek2:

Pas de chance, je n'ai pas de config.gz dans /proc :roll: Une autre idée ?

Quelques questions qui sont restées en suspens :

- Avant tout, j'aimerais savoir s'il est possible de vérifier qu'une fonction est bien intégrée dans le kernel, et comment.

- Dans les commentaires d'un tuto, j'ai vu qu'il valait mieux récupérer le .config qui se trouve dans /boot quand on débutait. C'est bien le fichier config-2.6.8-2-686 ? Je demande parce que dans mon /boot je n'ai rien d'autre qui ressemble à .config.

- Lorsqu'on fait make oldconfig, ça fait quoi exactement ? Et make-kpkg clean ?

LES REPONSES :

Pour les nioobs comme moi :

Pour garder la config de son ancien noyau en compilant avec les sources de la nouvelle version du noyau, il suffit de copier le fichier config qui se trouve dans /boot (config-2.6.8-2-686 par exemple), le coller dans le repertoire où sont décompressées les sources du nouveau noyau, et de le renommer en .config, puis de se lancer dans le make menuconfig.

De là on peut déduire les réponses (attention c'est moi qui aie dédui ça, donc à prendre avec des pincettes...) :

- Avant tout, j'aimerais savoir s'il est possible de vérifier qu'une fonction est bien intégrée dans le kernel, et comment.

Suffit de faire la manip juste au-dessus, et defaire un make menuconfig pour voir ce qui est configurer.

- Dans les commentaires d'un tuto, j'ai vu qu'il valait mieux récupérer le .config qui se trouve dans /boot quand on débutait. C'est bien le fichier config-2.6.8-2-686 ? Je demande parce que dans mon /boot je n'ai rien d'autre qui ressemble à .config.

Oui c'est bien ce fichier.

- Lorsqu'on fait make oldconfig, ça fait quoi exactement ? Et make-kpkg clean ?

make oldconfig te permet de te baser sur le .config deja existant dans le répertoire et de ne répondre aux questions qui sont nouvelles par rapport a la config de l'ancien kernel.
Link to post
Share on other sites

make oldconfig te permet de te baser sur le .config deja existant dans le répertoire et de ne répondre aux questions qui sont nouvelles par rapport a la config de l'ancien kernel.

Par contre, j'ai aussi 2 questions :

- a quoi sert make-kpkg vraiment. J'ai lu une partie du man et je crois que c en relation avec le noyau, mais je ne vois pas la différence avec un make tout court ...

- lors de mes compils, pour compiler avec les modules, il a fallu que je fasse

make && make modules_install install

J'ai pas compris l'interet du install a la fin, mais sans ca, j'avais des erreurs a la compil..

En tout cas, c vrai que de faire sa config de kernel, c pas du plaisir... Mais on apprends pas mal de trucs :)

EDIT : meme d'autres questions :

Le framebuffer est il necessaire pour jouer sous linux ?

Qu'est ce que le framebuffer apporte au noyau ? (je crois une couche d'abstraction supplémentaire pour que les programmes ne tape pas dans le registre de la memoire video, mais dans ce cas, si on utilise pas de framebuffer et en passant par un drivers bien reglé pour notre carte video, c pas plus rapide? )

Link to post
Share on other sites

aucune idée, j'ai toujours fait make puis make modules_install et copier mes noyaux à la main sans image d'init...

franchement, ça vaut le coup de tenter sa chance. au début, tu vas mettre plein de trucs, puis petit-à-petit tu en enleves, et tu apprends ce qui est inutile de ce qui ne l'est pas :chinois:

Link to post
Share on other sites
aucune idée, j'ai toujours fait make puis make modules_install et copier mes noyaux à la main sans image d'init...

franchement, ça vaut le coup de tenter sa chance. au début, tu vas mettre plein de trucs, puis petit-à-petit tu en enleves, et tu apprends ce qui est inutile de ce qui ne l'est pas :transpi:

Le probleme c'est que j'ai besoin du initrd vu que mon root est monté sur un LVM.

Mais le probleme que j'avais ct pas le

make && make modules_install

Mais plutot le

make && make modules_install install

Car sans le 2 eme "install", j'avais des erreurs.

Link to post
Share on other sites
C'est ce que je pensais, mais ce qui m'étonne, c'est qu'avec le noyau d'origine de la Debian ( 2.6.8.1), il n'y a pas de problèmes, mais à partir du 2.6.9 ou 2.6.10 (téléchargé depuis www.kernel.org), il n'y a plus moyen, k3b me reconnait mon graveur seulement en temps que lecteur. Mais en root, tout rentre en ordre  :francais:

c'est normal les distribes patchent

Link to post
Share on other sites
D'où ma question: pourquoi les sources idsponibles sur kernel.org n'incorporent pas ces patchs, par exemple pour la gravure?

Car tu n'as pas besoin de patch :chinois: : la preuve je grave via un 2.6.10-ac8 (qui n'a pas le hack de CK pour info).

cf ce topic.

édit : un peu grillé par lorinc :chinois:.

Link to post
Share on other sites
parce que le poblème vient de cdrecord, pas du noyau, et que c'est aux devs de cdrecord de s'adapter, pas au kernel...

Sometime soon after 2.6.7, it was decided that allowing users to execute SCSI commands was a big security issue (even though they are usually connected through IDE/ATAPI, cd writers use SCSI commands for CD writing).

2.6.8 came out with a security fix, which was too restrictive and mostly broke cd writing. 2.6.9 improved upon this and has solved the problem (I think!).

The thing is, gentoo-dev-sources and ck-sources (probably others too) include a patch in the 2.6.8 and 2.6.9 releases, which completely bypasses the security fix. So these issues probably weren't visible anyway.

tiré de : http://forums.gentoo.org/viewtopic.php?t=2...fe847a9ee596951

Il semble que cela vient du noyau, (pour une question de sécurité).

@ j_c_p: J'avais juste essayé avec le 2.6.9, et le 2.6.10: peut-être l'on t'il corrigé depuis.

neo

Link to post
Share on other sites

ben y'a cdrdao... mais je connais pas trop... faudrait regarder plus attendtivement... sur leur site, ils disent que c'est pour les CDs... je sais pas si ça marche pour les DVDs, mais ça à l'air pas mal...

Link to post
Share on other sites

J'ai un problème mais je ne saurais dire si ça vient du noyau ou si j'ai oublié de faire quelque chose :

# mkraid /dev/md0

cannot determine md version: no MD device file in /dev.

Or voici ma config (j'ai 2 disques durs en SATA) :

# fdisk /dev/sda

[...]

Command (m for help): p

Disk /dev/sda: 122.9 GB, 122942324736 bytes

255 heads, 63 sectors/track, 14946 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

  Device Boot      Start        End      Blocks  Id  System

/dev/sda1              1        122      979933+  82  Linux swap

/dev/sda2  *        123        730    4883760  83  Linux

/dev/sda3            731      14946  114190020  83  Linux

# fdisk /dev/sdb

[...]

Command (m for help): p

Disk /dev/sdb: 122.9 GB, 122942324736 bytes

255 heads, 63 sectors/track, 14946 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

  Device Boot      Start        End      Blocks  Id  System

/dev/sdb1              1        122      979933+  82  Linux swap

/dev/sdb2            123        730    4883760  fd  Linux raid autodetect

/dev/sdb3            731      14946  114190020  fd  Linux raid autodetect

# more raidtab

raiddev /dev/md0

        raid-level 1

          nr-raid-disks 2

          persistent-superblock 1

          chunk-size 16

        device /dev/sda2

          raid-disk 0

        device /dev/sdb2

          raid-disk 1

raiddev /dev/md1

        raid-level 1

          nr-raid-disks 2

          persistent-superblock 1

          chunk-size 16

        device /dev/sda3

          raid-disk 0

        device /dev/sdb3

          raid-disk 1

A part ça, j'essaye en faisant (ça ne marche pas pour autant) :

# modprobe raid1

# cat /proc/mdstat

Personalities : [raid1]

unused devices: <none>

C'est peut-être un détail, mais si je reboot :

# cat /proc/mdstat

Personalities :

unused devices: <none>

Quelqu'un voit d'où vient le problème "cannot determine md version: no MD device file in /dev." ? Ca se trouve ça n'a rien à voir avec le noyau.

Link to post
Share on other sites

heu ton sda2 ca serait pas ton / par hasard ??

comment tu fais pour faire le raid alors que le disque posséde des données / est utilisé ?

je pense que meme en raid 1 faut passer par une partition d'échange le temps de monter le raid

sinon pourquoi sda2 et sda3 est pas de type fd ?

Link to post
Share on other sites

sda2 est la partition system en effet... mais à la limite c'est pas un problème. Normalement lorsque je fais mkraid /etc/md0 il doit m'afficher un message d'erreur, après quoi je passe sda 2 en failed via /etc/raitab. Mais je doute que le problème vienne de là.

sda2 et sda3 en type raid, j'ai modifié le type après (actuellement en fd donc) mais ça ne changeait rien.

Sinon j'ai trouvé ça dans un tuto anglais :

Download a clean kernel, raidtools-0.90 (or the most recent version), and the kernel patch to upgrade the kernel to 0.90 raid.

Compile and install the raidtools and READ the documentation.

Compile and install the kernel to support all the flavors (0/1/4/5 ?) of raid that you will be using. Make sure to specify autostart of raid devices in the kernel configuration. Test that the kernel boots properly and examine /proc/mdstat to see that the raid flavors you will use are supported by the new kernel.

Mais si je compile un nouveau noyau, j'ai peu d'oublier des drivers ou autres, c'est obligé ? :s

Link to post
Share on other sites

Bon, toujours pas de resier4...

Par contre, des améliorations un peu partout...

bon, j'essaie de compiler avec le resier4 du dernier mm... :transpi:

EDIT : bon ben évidemment ça marche pas...va falloir trouver un autre moyen :-/

EDIT2 : en fait, si, après quelques modifications à la main... :p reste plus qu'à tester :copain:

EDIT3 : ça marchais presque :ouioui: boot normal, puis bloque au remount ro... bob ben tant pis... j'attendrais le mm :eeek2:

Link to post
Share on other sites
Bonjour,

Lorsqu'on télécharge un nouveau noyau, il y a des options qui sont déjà mises par défaut. Ou sont enregistrées ces options?

dans le .config du repertoire des sources :

/usr/src/linux/.config

A moins que ca n'ai récupéré ton .config de ta ram ou de ton /boot/ auquel cas, c le .config généré lors de ton install de linux :)

Mais je ne suis pas sur :)

Link to post
Share on other sites

Salut à tous, pour l'instant je n'y connait rien en Linux, en tout cas pas assez à mon gout pour me lancer dans une recompilation de noyau.

Je voudrais savoir un truc con qui peut paraitre basique mais comment fait-on pour telecharger le kernel (si vous pouviez me dire ce que c'est), et après comment accède-t-on à l'endroit où l'on rentre la commande. Je rajoute que sur IPCOP, si j'allume l'écran je peux ecrire ce que je veux, enfin presque, car pour cette manipulation je pense qu'il faut ètre logger en root, non?

Merci d'avance por vos réponses.

Link to post
Share on other sites


×
×
  • Create New...