Compilation noyau 1er jour

Bonjour, je vais donc faire comme tout bon debianeux, compiler mon noyau,
je recupére ma config actuelle, et je fait un make menuconfig
j’usqu’a la ca marche, ensuite je m’apercois qu’il y a plein de truc qui ne me sont pas utile, alors je decoche,
et j’aurais donc un noyau aléger avec ma config actuelle, jusqu’a la si je ne decoche pas quelques chose d’utile pour ma machine (l’uhci pour un disque sata par exemple) tout remarchera apres compilation,
mais faut t’il que je reconfigure mon driver nvidia comme d’habitude. ou sera t’il inclus dans le noyau compilé. vu que je recupére l’ancienne config.
ca n’a pas l’air d’etre bien compliqué au premier aborb, mais faut travailler sur ce qu’il y a dans la machine, (tiens j’ai pas de wifi) donc je vais decocher tout ce qui a rapport avec le wireless. par contre j’ai une carte reseau athl2 quelques chose comme ca, qui n’était pas inclut dans les noyau 18 par exemple. dans le menuconfig j’ai rien vu sur ce choix de carte reseau.
j’arrete la, d’apres vous je suis dans la bonne voie.

viewtopic.php?f=8&t=27712&p=275038#p275038
viewtopic.php?f=8&t=1806

non je pense qu’il faut re-compiler le nvidia à la fin avec le nouveau noyau

athl2 je ne connais pas
donne nous le lspci et la réf de la carte mère.

De mémoire ( vite fait comme ça ) il y a des options pour intégrer le driver au noyau mais ce serai bête quand même de le compiler en dur alors qu’il change de version assez fréquemment :wink:

euh en dure tu dit ?
perso si oui je voudrai bien savoire :slight_smile: parce que la seul chose que tu peu faire c’est compiler nvidia avec ,en fait il est compiler juste après et tu te retrouve avec un nvidia.deb dans le même répertoire que ce qui a été compiler. il suffi donc de l’installer en même temps que le noyaux :slight_smile:

Ouf !! Il me semblait qu’avec --added_module /chemin/module-proprio il était possible de l’intégrer au kernel. Je ne retrouve plus le lien mais c’est rassurant quand même :slight_smile: Ca me semblait extrême ce que je disait
[size=85]Edit= T’façon je suis acroc a m-a ( mort a dkms ) [/size]

Je ne sais pas de quoi je parle effectivement avec athl2, en tout cas des noyau anterrieur ne prenait pas en charge ma carte reseau intégré, il m’avai fallut installer une pci pour pouvoir me depetrer.
Je voit donc 2 fois ethernet,
02:00.0 Ethernet controller: Attansic
et
05:02.0 Ethernet controller: Davicom
J’en voit pourtant qu’une sur le pc.

00:00.0 Host bridge: Intel Corporation 4 Series Chipset DRAM Controller (rev 03) 00:01.0 PCI bridge: Intel Corporation 4 Series Chipset PCI Express Root Port (rev 03) 00:1a.0 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #4 00:1a.1 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #5 00:1a.2 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #6 00:1a.7 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB2 EHCI Controller #2 00:1b.0 Audio device: Intel Corporation 82801JI (ICH10 Family) HD Audio Controller 00:1c.0 PCI bridge: Intel Corporation 82801JI (ICH10 Family) PCI Express Port 1 00:1c.4 PCI bridge: Intel Corporation 82801JI (ICH10 Family) PCI Express Port 5 00:1c.5 PCI bridge: Intel Corporation 82801JI (ICH10 Family) PCI Express Port 6 00:1d.0 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #1 00:1d.1 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #2 00:1d.2 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #3 00:1d.7 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB2 EHCI Controller #1 00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev 90) 00:1f.0 ISA bridge: Intel Corporation 82801JIR (ICH10R) LPC Interface Controller 00:1f.2 IDE interface: Intel Corporation 82801JI (ICH10 Family) 4 port SATA IDE Controller 00:1f.3 SMBus: Intel Corporation 82801JI (ICH10 Family) SMBus Controller 00:1f.5 IDE interface: Intel Corporation 82801JI (ICH10 Family) 2 port SATA IDE Controller 01:00.0 VGA compatible controller: nVidia Corporation GeForce 8500 GT (rev a1) 02:00.0 Ethernet controller: Attansic Technology Corp. L1 Gigabit Ethernet Adapter (rev b0) 03:00.0 SATA controller: JMicron Technologies, Inc. JMicron 20360/20363 AHCI Controller (rev 03) 03:00.1 IDE interface: JMicron Technologies, Inc. JMicron 20360/20363 AHCI Controller (rev 03) 05:00.0 Multimedia controller: Philips Semiconductors SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (rev d1) 05:01.0 Communication controller: Conexant HSF 56k HSFi Data/Fax (rev 01) 05:02.0 Ethernet controller: Davicom Semiconductor, Inc. 21x4x DEC-Tulip compatible 10/100 Ethernet (rev 31) 05:03.0 FireWire (IEEE 1394): Agere Systems FW323 (rev 70)
par exemple dans menuconfig je ne coche que tcp/ip et ipv6

[quote][ ] Packet socket │ │
│ │ [ ] Unix domain sockets │ │
│ │ [ ] Transformation user configuration interface │ │
│ │ [ ] PF_KEY sockets │ │
│ │ [] TCP/IP networking │ │
│ │ [ ] IP: multicasting │ │
│ │ [ ] IP: advanced router │ │
│ │ [ ] IP: kernel level autoconfiguration │ │
│ │ [ ] IP: tunneling │ │
│ │ [ ] IP: GRE tunnels over IP │ │
│ │ [ ] IP: ARP daemon support │ │
│ │ [ ] IP: TCP syncookie support (disabled per default) │ │
│ │ [ ] IP: AH transformation │ │
│ │ [ ] IP: ESP transformation │ │
│ │ [ ] IP: IPComp transformation │ │
│ │ [ ] IP: IPsec transport mode │ │
│ │ [ ] IP: IPsec tunnel mode │ │
│ │ [ ] IP: IPsec BEET mode │ │
│ │ [ ] Large Receive Offload (ipv4/tcp) │ │
│ │ [ ] INET: socket monitoring interface │ │
│ │ [ ] TCP: advanced congestion control —> │ │
│ │ [
] The IPv6 protocol —> │ │
│ │ [ ] NetLabel subsystem support │ │
│ │ [ ] Security Marking │ │
│ │ [ ] Network packet filtering framework (Netfilter) —> │ │
│ │ [ ] Asynchronous Transfer Mode (ATM) │ │
│ │ [ ] 802.1d Ethernet Bridging │ │
│ │ [ ] 802.1Q VLAN Support │ │
│ │ [ ] DECnet Support │ │
│ │ [ ] ANSI/IEEE 802.2 LLC type 2 Support │ │
│ │ [ ] The IPX protocol [/quote]

Le plus important je pense, pour la suite tu peux toujours recompiler

Device Drivers --->
  Serial ATA(prod) and Parallel ATA (experimental) drivers --->
    <*>ATA device support
      <*> JMicron PATA support

Device Drivers ---> Serial ATA(prod) and Parallel ATA (experimental) drivers ---> <*>ATA device support AHCI <*> Intel ESB,ICH,PIIX3, PIIX4 PATA/SATA Support Jmicron PATA ?

-> Device Drivers │ -> Serial ATA (prod) and Parallel ATA (experimental) drivers (ATA [=y]) -> ATA SFF support (ATA_SFF [=y])
je crois

ext3 aussi (si ext3)

pci exress dans bus option (si carte graphique en pci express)

carte L1 Atheros/Attansic existe dans le 2.6.33

Ok je vais essayer d’aller plus loin.

J’y suis aller plus loin, mais pas si loin que ca.

Using mkinitramfs-kpkg to build the ramdisk. mkinitramfs-kpkg failed to create initrd image. Failed to create initrd image. dpkg : erreur de traitement de linux-image-2.6.32.13.config-kernel-perso (--install) :

Ca semblait etre bien parti pourtant. c’est suite a l’install du deb

je compile comme ca

pas de initrd si tu l’a désactivé dans .config
make-kpkg kernel_image (+“modules_image” si tu as des modules)

ok j’ai vraiment du decocher beaucoup trop de choses qui m’on semblé inutile, j’ai chercher pas trouvé ou j’ai décocher initrd, mais vite regarder seulement, donc je refait.

par contre pour ce qui est des modules je ne sais pas encore ce que c’est.
j’ai besoin d’un module pour la web cam pwc. (c pas ca un module ?).

En tout cas je trouve ca assez plaisant de faire un noyau, je m’y était jamais pencher.

mais quesque je vais me la peter si ca marche !!!

J’avais bien decommenter “initrd”

il est déjà décommenté
utilise juste
make-kpkg kernel_image

me revoila j’ai bien compile un noyau, rien d’extraordinaire, puisque j’ai compilé le config que j’avais dans boot, effectivement le initrd se crer bien c’est mon config perso qui est a revoir, j’avais perdu l’utilisation du clavier en aynat supprimé des paquet qui me semblait obsolete, on ne fait jamais deux chose a la fois. Je me retrouve par obligation avec une squeeze, et oui sans clavier en graphique et un mauvais en console et un vieux sources lits corrompu, on fait comme on peu.
voila que j’ai retrouvé mon ordi vais pouvoir refaire des tests.
le config que j’ai récupére dans le boot de mon ancienne 2.6.26 a mis 1/2 heure a se compilé, il y a beaucoup trop de choses inutile sans doute.
Il va falloir travailler vraiment sur chaque element du pc
"lspci -v" m’indique beaucoup de choses, trop en un coup.

le but c’est justement de mettre le mini nécessaire:
pas de initrd (pas besoin si tu as compilé le support disque…)
la page te donne vraiment le mini
avec clavier usb, disque, ext2/3, son, xorg, disque usb, wifi et réseau

je viens de le faire sur mon sata et mon kernel fait 2,3 Mo

make-kpkg kernel_image

compil moins de 5 min … (sur un p4)
EDIT: oups, j’avais pas fais un “clean” c’est pour ça que c’était rapide.

Je vais le refaire sur la base de ton tuto, mais si pas de initrd, je fait comment pour le grub;
Exemple pris de ma vrai install

kernel /boot/vmlinuz-2.6.26-2-amd64 root=/dev/sda3 ro quiet [b]initrd /boot/initrd.img-2.6.26-2-amd64[/b]

donc ta un noyau qui en principe permet a la machine de booter plus rapidement et peut a l’utilisation etre plus performante, n’est-ce pas ?

initrd c’est un espèce de micro-kernel chargé en mémoire pour pouvoir détecter le type de matériel, le type processeur, type de fichier système, type de mémoire/disque et monter le disque racine.

donc si le kernel dispose des drivers, ide/sata chipset et fichier système ext2/3 pas besoin du initrd

avantage du initrd: le kernel peut démarrer sur un grand nombre de machines (même sur un grille pain… :mrgreen: ).

donc oui pas besoin de la ligne initrd mais pour ça il faut être sur que ton chipset sata est intégré au kernel
aussi le ext2/3/4?, clavier usb/ps2, + vga text console