- Separare il markup dal codice PHP (2,938)
- GIMP: la libertà di fare grafica. (2,046)
- Le migliori foto del 2008 (2,019)
- Compilatevi il vostro Kernel! (1,646)
- Intese tra governo italiano e Microsoft secretate? (1,385)
- Bevenuti su SmartArt.it (1,382)
|
Inviato da ThePeach il Dom, 12/07/2009 - 15:08
Ora cercherò di fare un rapido riassunto delle sezioni più importanti del menu di configurazione del kernel, evitando di entrare troppo nello specifico, ma quantomeno cercando di dare un vago barlume di sensatezza qualora di primo acchito non ce ne fosse.
Scegliere i driver adeguatiPer meglio capire cosa abilitare o non abilitare relativamente all'hardware della propria macchina occorre avere a disposizione un paio di altri strumenti, visto che spesso l'help può non aiutarvi per niente. # lspci -nn 00:00.0 Host bridge [0600]: Motorola MPC8245 [Unity] [1057:0006] (rev 14) 00:0b.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL-8169 Gigabit Ethernet [10ec:8169] (rev 10) 00:0c.0 IDE interface [0101]: Silicon Image, Inc. PCI0680 Ultra ATA-133 Host Controller [1095:0680] (rev 02) 00:0e.0 USB Controller [0c03]: NEC Corporation USB [1033:0035] (rev 43) 00:0e.1 USB Controller [0c03]: NEC Corporation USB [1033:0035] (rev 43) 00:0e.2 USB Controller [0c03]: NEC Corporation USB 2.0 [1033:00e0] (rev 04) Esempio di output su un laptop x86: # lspci -nn 00:00.0 Host bridge [0600]: Intel Corporation Mobile 915GM/PM/GMS/910GML Express Processor to DRAM Controller [8086:2590] (rev 03) 00:01.0 PCI bridge [0604]: Intel Corporation Mobile 915GM/PM Express PCI Express Root Port [8086:2591] (rev 03) 00:1b.0 Audio device [0403]: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller [8086:2668] (rev 04) 00:1d.0 USB Controller [0c03]: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1 [8086:2658] (rev 04) 00:1d.1 USB Controller [0c03]: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #2 [8086:2659] (rev 04) 00:1d.2 USB Controller [0c03]: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #3 [8086:265a] (rev 04) 00:1d.3 USB Controller [0c03]: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #4 [8086:265b] (rev 04) 00:1d.7 USB Controller [0c03]: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller [8086:265c] (rev 04) 00:1e.0 PCI bridge [0604]: Intel Corporation 82801 Mobile PCI Bridge [8086:2448] (rev d4) 00:1f.0 ISA bridge [0601]: Intel Corporation 82801FBM (ICH6M) LPC Interface Bridge [8086:2641] (rev 04) 00:1f.1 IDE interface [0101]: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) IDE Controller [8086:266f] (rev 04) 00:1f.3 SMBus [0c05]: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) SMBus Controller [8086:266a] (rev 04) 01:00.0 VGA compatible controller [0300]: nVidia Corporation NV43 [GeForce Go 6200/6400] [10de:0167] (rev a1) 06:03.0 CardBus bridge [0607]: Texas Instruments PCI7420 CardBus Controller [104c:ac8e] 06:03.2 FireWire (IEEE 1394) [0c00]: Texas Instruments PCI7x20 1394a-2000 OHCI Two-Port PHY/Link-Layer Controller [104c:802e] 06:03.3 Mass storage controller [0180]: Texas Instruments PCI7420/7620 Combo CardBus, 1394a-2000 OHCI and SD/MS-Pro Controller [104c:ac8f] 06:04.0 Network controller [0280]: Intel Corporation PRO/Wireless 2200BG [Calexico2] Network Connection [8086:4220] (rev 05) 06:08.0 Ethernet controller [0200]: Intel Corporation 82562ET/EZ/GT/GZ - PRO/100 VE (LOM) Ethernet Controller Mobile [8086:1068] (rev 04) Come noterete, ogni riga inizia con un codice particolare, nella forma XX:YY.Z, che corrisponde alla posizione assegnata nel sistema (maggiori informazioni informazioni le potete trovare in qualche manuale del kernel relativo a sys e proc), mentre terminano con un numero tra parentesi quadre chiamato PCI-IDs, nel formato [XXXX:YYYY]. Interrogando il sito di device drive check & report di Debian con quest'ultimo numero (XXXX:YYYY) potreste trovare se è supportato e il driver del kernel che vi serve. Una successiva ricerca nell'interfaccia con il nome del driver, come consigliato nella pagina precedente, potrà portarvi all'opzione giusta.Se il sito sopraindicato non vi dice nulla, considerate la possibilità di fare una ricerca in Internet con quel codice: la maggior parte delle volte potrà darvi dei suggerimenti interessanti a riguardo! La cosa difficile, come potrete immaginare, è capire come è strutturato un computer e di conseguenza cosa si attacca a cosa e cosa possa essere un BUS, piuttosto che un dispositivo a caratteri o quant'altro... posso solo consigliarvi di munirvi di pazienza e iniziare a documentarvi a riguardo. La mia unica altra raccomandazione per quanto riguarda l'hardware è quella di stare attenti quando si stanno per compilare staticamente dei driver, specie se questi sono simili o se sono soluzioni alternative allo stesso dispositivo: ne è un caso proprio i dischi ATA/PATA che possono portare da una parte ad un differente nome per il dispositivo stesso, dall'altra ad errori di conflitto e ad una conseguente instabilità del kernel. Considerate piuttosto la possibilità di provarli alternativamente in maniera statica, o di compilarli come moduli caricandoli manualmente per testarne il funzionamento. Metodi alternativiNegli anni sono stati proposti alcuni metodi alternativi alla compilazione manuale del kernel, nel caso specifico in cui si debba configurare il tutto ex-novo, tra cui spicca in particolar modo genkernel, script realizzato dai devel Gentoo proprio per facilitare la compilazione del kernel. Ora che avete sistemato la configurazione, uscite dall'interfaccia salvando il *** End of Linux kernel configuration. *** Execute 'make' to build the kernel or try 'make help'. # |