Compiler son noyau

Bonsoir, je souhaite compiler mon propre noyau, cependant, je ne sais pas qu’elles sont les options à garder (pilote, driver…) lors du paramétrage, pouvez vous m’aidez svp.


je vois …

que tu peux faire un
lsmod
lscpi
donner le type de carte mère, sata, ide?
c’est très vaste comme sujet :mrgreen:
falkotimme.com/howtos/debian … 6_compile/

J’ai regarder le résultat des 2 commandes. C’est du chinoix pour moi, tu pourrais m’aider à compiler le noyau ?

publie le lsmod et lcpci pour qu’on t’aide pour le minimum
et le lien c’est pour télécharger et commencer la compil

Il te faut reconnaitre ton matériel, tes besoins, lire l’aide fournie sur chaque option du noyau afin de savoir si cette option t’es utile (dans le doute, conserver le réglage par défaut) et tester ton noyau. Si c’est trop compliqué, alors utilise un noyau pré-compilé, compiler un noyau sans rien comprendre ou utiliser un noyau générique debian revient au même.

Voici le lsmod :

[quote]Module Size Used by
ppdev 6468 0
lp 8164 0
ipv6 235396 14
powernow_k8 12036 0
cpufreq_ondemand 6476 1
cpufreq_userspace 3172 0
cpufreq_stats 3776 0
freq_table 4224 3 powernow_k8,cpufreq_ondemand,cpufreq_stats
cpufreq_powersave 1856 0
cpufreq_conservative 5960 0
sbp2 18572 0
loop 12748 0
sd_mod 22200 0
psmouse 32336 0
parport_pc 22500 1
parport 30988 3 ppdev,lp,parport_pc
serio_raw 4740 0
k8temp 4064 0
snd_via82xx 20664 1
gameport 10700 1 snd_via82xx
snd_mpu401_uart 6368 1 snd_via82xx
snd_seq_midi 5728 0
snd_seq_midi_event 6432 1 snd_seq_midi
snd_via82xx_modem 10120 0
snd_ac97_codec 88452 2 snd_via82xx,snd_via82xx_modem
snd_rawmidi 18496 2 snd_mpu401_uart,snd_seq_midi
ac97_bus 1728 1 snd_ac97_codec
snd_pcm 62660 3 snd_via82xx,snd_via82xx_modem,snd_ac97_codec
pcspkr 2432 0
snd_seq 41456 2 snd_seq_midi,snd_seq_midi_event
snd_timer 17800 2 snd_pcm,snd_seq
snd_seq_device 6380 3 snd_seq_midi,snd_rawmidi,snd_seq
snd 45636 11 snd_via82xx,snd_mpu401_uart,snd_via82xx_modem,snd_ac97_codec,snd_rawmidi,snd_pcm,snd_seq,snd_timer,snd_seq_device
snd_page_alloc 7816 3 snd_via82xx,snd_via82xx_modem,snd_pcm
soundcore 6368 1 snd
i2c_viapro 6836 0
i2c_core 19828 1 i2c_viapro
arc4 1824 2
ecb 2624 2
crypto_blkcipher 15236 1 ecb
button 6096 0
via_ircc 15732 0
irda 95512 1 via_ircc
crc_ccitt 2080 1 irda
ath5k 87648 0
mac80211 139776 1 ath5k
cfg80211 21608 2 ath5k,mac80211
shpchp 25528 0
pci_hotplug 23460 1 shpchp
amd64_agp 8772 1
agpgart 28808 1 amd64_agp
evdev 8000 3
ext3 105576 2
jbd 39476 1 ext3
mbcache 7108 1 ext3
ide_cd_mod 27684 0
cdrom 30176 1 ide_cd_mod
ide_disk 10496 4
8139cp 16800 0
ata_generic 4676 0
libata 140448 1 ata_generic
dock 8304 1 libata
usb_storage 77120 0
scsi_mod 129548 4 sbp2,sd_mod,libata,usb_storage
floppy 47716 0
ohci1394 24976 0
ieee1394 75832 2 sbp2,ohci1394
8139too 20384 0
mii 4896 2 8139cp,8139too
via82cxxx 6948 0 [permanent]
ide_pci_generic 3908 0 [permanent]
ide_core 96168 4 ide_cd_mod,ide_disk,via82cxxx,ide_pci_generic
ehci_hcd 28428 0
uhci_hcd 18672 0
usbcore 118192 4 usb_storage,ehci_hcd,uhci_hcd
thermal 15228 0
processor 32576 2 powernow_k8,thermal
fan 4196 0
thermal_sys 10856 3 thermal,processor,fan
[/quote]

La commande lspci :

[quote]00:00.0 Host bridge: VIA Technologies, Inc. VT8385 [K8T800 AGP] Host Bridge (rev 01)
00:01.0 PCI bridge: VIA Technologies, Inc. VT8237 PCI bridge [K8T800/K8T890 South]
00:0a.0 Ethernet controller: Atheros Communications Inc. Atheros AR5001X+ Wireless Network Adapter (rev 01)
00:10.0 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 80)
00:10.1 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 80)
00:10.2 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 80)
00:10.3 USB Controller: VIA Technologies, Inc. USB 2.0 (rev 82)
00:11.0 ISA bridge: VIA Technologies, Inc. VT8235 ISA Bridge
00:11.1 IDE interface: VIA Technologies, Inc. VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (rev 06)
00:11.5 Multimedia audio controller: VIA Technologies, Inc. VT8233/A/8235/8237 AC97 Audio Controller (rev 50)
00:11.6 Communication controller: VIA Technologies, Inc. AC’97 Modem Controller (rev 80)
00:13.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)
00:14.0 FireWire (IEEE 1394): VIA Technologies, Inc. VT6306 Fire II IEEE 1394 OHCI Link Layer Controller (rev 80)
00:18.0 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] HyperTransport Technology Configuration
00:18.1 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Address Map
00:18.2 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] DRAM Controller
00:18.3 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Miscellaneous Control
01:00.0 VGA compatible controller: ATI Technologies Inc RV 630 XT AGP [Radeon HD 2600 XT AGP][/quote]

Bonne chance :mrgreen: et merci pour ton aide. :wink:

en gros (tu as un lien pour plus de précision)
tu télécharge la source du kernel et dans le dossier /usr/src/linux-sourceXXXX
tu fait:
make menuconfig ET:

active
processeur amd 64

active pci

(le plus important gestion ide, ata chispset via82xx, si non tu ne démarre pas)
ide_pci_generic 3908 0 [permanent]ide_core 96168 4 ide_cd_mod,ide_disk,via82cxxx,ide_pci_genericide_disk 10496 4
ata_generic 4676 0
libata 140448 1 ata_generic
chipset VT82C586A/B/VT82C686/A/B/VT823x/A/C

  • ext3 en dur (minimum)

le son via82xx (t’enleve les autres, inutile) (sauf codecs ac97 , recherche mpu401…)

carte réseau tu trouve la ligne RTL-8139 (t’enlève les autres, inutile)

dans acpi active la geston proc, acpi, event, sensor

ps2 pour la souris
carte wifi atheros (comme d’hab enlève le autres)

usb_storage scsi_mod 129548 4 sbp2,sd_mod,libata,usb_storagett ça pour avoir les disques usb

Tu devrais facilement reconnaître le ligne qui correspond aux modules dans le menuconfig (partie drivers)

viewtopic.php?f=3&t=23431&start=25&hilit=wimax

Ok merci, je verrai ça plus tard, je te tiens au courant.

La première question à laquelle tu dois répondre est : pourquoi veux-tu compiler un noyau ?
Pour apprendre ?
Pour activer des options qui te manquent et sont désactivées dans les noyaux précompilés ?
Pour désactiver des options qui ne te servent pas ?
Pour disposer d’une version plus récente ?
Pour appliquer des patches ?
Autre raison ?

Bonjours, après avoir fait “make menuconfig”, j’ai cherché les options ci dessus.
Cependant, je n’en ai touvé aucune ( :neutral_face: ), pouvez vous m’aider svp car là je suis perdus, j’ai pourtant tout regardé.

bon, il y a des centaines de lignes … on ne peux pas t’indiquer la totalité.
ça dépend de tes motivations pour compiler le kernel.

1er chose ça prend énormément de temps et je te donne une piste.

Device Drivers
-->
ATA/ATAPI/MFM… -->
*generic ata
*ATA disk support
*VIA82CXXX chipset support

Sound Card Support --> Advanced Linux Sound …–> PCI sound …–>
*VIA 82C686A/C 8233 (enleve les autres…)

File System –> *Ext3
FAt + Ntfs si besoin …

Bonjours, je viens de terminer la configuration du noyau, comment je dois faire pour ensuite le compiler, l’installer svp ?

T’abuserais pas un chouilla là :mrgreen:

search.php
google.com/coop/cse?cx=00812 … zvzw&hl=fr
google.com/coop/cse?cx=00967 … bgbc&hl=fr

Edit : Aller, je viens de le faire : ashgenesis.developpez.com/linux/kernel-debian/

Bonsoir, Merci lol et désolé de ne pas avoir cherché avant :blush:

Après avoir vérifier la configuration du noyau, j’ai suivis ce tuto pour compiler et configurer le démarrage.

Lorsque je boot sur le nouveau noyau, j’ai malheureusement un kernel panic :

Kernel panic - not syncing : VFS : Unable to mount root fs on unknow-block(0,0)
root (hd0,1)
Filesystem type is ext2fs, partition type 0x83
Kernel /boot/vmlinux-2.6.31.6 root=/dev/hda2 ro quiet
[Linux-bzImage, setup=0x3400, size=0x1a9ed0]
initrd /boot/initre.img-2.6.26-286
[Linux-initrd @ 0x37a01000, 0x5ee6c2 bytes]

Pouvez vous m’aider svp.

[quote=“PascalHambourg”]pourquoi veux-tu compiler un noyau ?
[/quote]

[quote=“antiheros”][quote=“PascalHambourg”]pourquoi veux-tu compiler un noyau ?
[/quote][/quote]

Je souhaite compiler un noyau pour apprendre, optimiser, alléger, avoir le plus recent noyau installé.

unknow-block(0,0)

il manque probablement une option dans le kernel
active les options générique dans pci ide, bus, block, ata support generic, pata support,
(hda? , si u n’a pas de sata…)

copie ton .config dans
binpaste.com/

[quote=“Marvin_R”]Bonsoir, Merci lol et désolé de ne pas avoir cherché avant :blush:

Après avoir vérifier la configuration du noyau, j’ai suivis ce tuto pour compiler et configurer le démarrage.

Lorsque je boot sur le nouveau noyau, j’ai malheureusement un kernel panic :

Kernel panic - not syncing : VFS : Unable to mount root fs on unknow-block(0,0)
root (hd0,1)
Filesystem type is ext2fs, partition type 0x83
Kernel /boot/vmlinux-2.6.31.6 root=/dev/hda2 ro quiet
[Linux-bzImage, setup=0x3400, size=0x1a9ed0]
initrd /boot/initre.img-2.6.26-286
[Linux-initrd @ 0x37a01000, 0x5ee6c2 bytes]

Pouvez vous m’aider svp.[/quote]

Salut :wink:

Tu ne peux pas booter un kernel et utiliser l’initial ram disk d’un autre :wink:
voir:

Et s’assurer que le nom donné à l’initrd correspond au nom du répertoire situé désormais dans:
/lib/modules
Après le make modules_install

Si le répertoire s’appelle /2.6.31.6
C’est ce répertoire qu’il faut utiliser pour créer l’initrd.img

un exemple:(après avoir copié le bzImage, le .config et le System.map

Si tu galère trop avec la configuration rien ne t’empêche de commencer avec celle de l’ancien noyau:
Quand tu te trouve dans le répertoire de compilation du noyau:

make mrproper cp -v /boot/config-$(uname -r) .config
Et quand tu fera le make menuconfig tu n’aura plus qu’a ajouter quelques options minimes :slightly_smiling:

Bonjours, merci dchost99, Mr Blue pour vos réponses.

[quote]Quand tu te trouve dans le répertoire de compilation du noyau:
Code:
make mrproper
cp -v /boot/config-$(uname -r) .config[/quote]

De quel est le répertoire de compilation ? /lib/modules ? /lib/modules/2.6.31.6 ?

A quoi servent les 2 lignes de commandes ci dessus ? Je ne comprend pas trop leur utilité.

Tu veux apprendre mais tu veux qu’on te donne tout prémaché! Compiler un noyau n’est pas si simple surtout dans le choix des modules (le kernel panic est le grand début classique, tu n’as pas fini de compiler avant de le voir disparaitre). Il te faut lire avant de faire cette compilation: as tu une idée claire de ce que fait le noyau, des fichiers le composant, du fonctionnement du boot, de la signification des messages du boot?
Tu veux apprendre alors prend le noyau standard debian et regarde les messages de démarrage, tous, cherche qui les a émis et ce qu’ils signifient exactement. Cherche quand le processus init a pris la main, puis de nouveau la signification des messages d’après notamment ceux correspondant à un chargement d’un module. Quand tu auras compris tout ça, tu compileras ton noyau les doigts dans le nez. On ne conduit pas une voiture quand on ne sait pas où est la pédale de frein.