Pagina 1 di 2

Compilazione Kernel 3.4.6

Inviato: sab lug 21, 2012 15:46
da DarkNeo
Buon giorno a tutti, mi sto cimentando nella compilazione del kernel 3.4.6 per alleggerire il preconfigurato kernel di base. Ho un acer aspire 5542, con le seguenti caratteristiche tecniche: http://www.laptop-software.com/acer-sof ... g-drivers/.
Da quanto leggo il driver della mia scheda audio è un realtek, ora dove trovo il modulo relativo nella Sound card support???????????????? non rientra tra i pci non rientra tra gli usb e non credo sia nemmeno tra i driver generici, qualcuno sa consigliarmi?

Re: Compilazione Kernel 3.4.6

Inviato: sab lug 21, 2012 17:03
da DarkNeo
seconda domanda semplice, installato slackware automaticamente mi riconosce tutto scheda video audio wifi etc.. ricompilando il kernel io non trovo i moduli relativi alla mia scheda wifi ci sono tutte le varie marche ma non la mia acer nplify... come mai?

Re: Compilazione Kernel 3.4.6

Inviato: sab lug 21, 2012 17:47
da targzeta
Prova a postare l'output di:

Codice: Seleziona tutto

lspci -vnn

Emanuele

Re: Compilazione Kernel 3.4.6

Inviato: sab lug 21, 2012 18:00
da miklos
io ho esattamente il tuo stesso portatile(non sotto mano in questo momento per la verità) ma mi pare che la scheda audio fosse una intel integrata, o comunque il driver audio si chiamasse snd_intel_qualcosa.

segui comunque il consiglio di spina col vecchio kernel cosi' vedrai in corrispondenza della scheda audio il nome del modulo caricato.

ciau

Re: Compilazione Kernel 3.4.6

Inviato: sab lug 21, 2012 20:52
da DarkNeo
Gia come dicevate voi miei cari lspci ha dato la risposta alle mie domande:
01:05.1 Audio device [0403]: ATI Technologies Inc RS880 Audio Device [Radeon HD 4200] [1002:970f]
Subsystem: Acer Incorporated [ALI] Device [1025:0293]
Flags: bus master, fast devsel, latency 0, IRQ 19
Memory at cfdec000 (32-bit, non-prefetchable) [size=16K]
Capabilities: [50] Power Management version 3
Capabilities: [a0] MSI: Enable- Count=1/1 Maskable- 64bit+
Kernel driver in use: HDA Intel
Kernel modules: snd-hda-intel
09:00.0 Network controller [0280]: Atheros Communications Inc. AR928X Wireless Network Adapter (PCI-Express) [168c:002a] (rev 01)
Subsystem: Foxconn International, Inc. Device [105b:e01f]
Flags: bus master, fast devsel, latency 0, IRQ 18
Memory at f0400000 (64-bit, non-prefetchable) [size=64K]
Capabilities: [40] Power Management version 2
Capabilities: [50] MSI: Enable- Count=1/1 Maskable- 64bit-09:00.0 Network controller [0280]: Atheros Communications Inc. AR928X Wireless Network Adapter (PCI-Express) [168c:002a] (rev 01)
Subsystem: Foxconn International, Inc. Device [105b:e01f]
Flags: bus master, fast devsel, latency 0, IRQ 18
Memory at f0400000 (64-bit, non-prefetchable) [size=64K]
Capabilities: [40] Power Management version 2
Capabilities: [50] MSI: Enable- Count=1/1 Maskable- 64bit-
Capabilities: [60] Express Legacy Endpoint, MSI 00
Capabilities: [90] MSI-X: Enable- Count=1 Masked-
Capabilities: [100] Advanced Error Reporting
Capabilities: [140] Virtual Channel
Capabilities: [160] Device Serial Number 00-00-00-00-00-00-00-00
Kernel driver in use: ath9k
Kernel modules: ath9k
Capabilities: [60] Express Legacy Endpoint, MSI 00
Capabilities: [90] MSI-X: Enable- Count=1 Masked-
Capabilities: [100] Advanced Error Reporting
Capabilities: [140] Virtual Channel
Capabilities: [160] Device Serial Number 00-00-00-00-00-00-00-00
Kernel driver in use: ath9k
Kernel modules: ath9k


ora ho chiarito il problema ma ho ce un modo pratico per cercare questi moduli all interno della creazione del .config oppure devo spulciarmi le voci?

Re: Compilazione Kernel 3.4.6

Inviato: dom lug 22, 2012 0:04
da targzeta
Guarda, il config del kernel ha un'opzione interessante che potrebbe esserti d'aiuto.

Codice: Seleziona tutto

localmodconfig  - Update current config disabling modules not loaded
potresti usarla insieme a questa opzione:

Codice: Seleziona tutto

allmodconfig    - New config selecting modules when possible
Prima lanci il make con quest'ultima opzione per generare un config abbastanza corposo. Poi esegui il make con la prima opzione per disabilitare tutto quello che non ti serve. Ovviamente potresti disabilitare anche qualcosa che ti serve. Però diciamo che se fai tutto quello che potresti fare con il PC, tutti i moduli usati saranno caricati.

Comunque 'make help' nella directory dei sorgenti ti mostra un po' tutte le opzioni a disposizione.
Emanuele

P.S. Comunque il menù del kernel è organizzato abbastanza bene, non è poi così difficile trovare quello che serve.

Re: Compilazione Kernel 3.4.6

Inviato: dom lug 22, 2012 1:04
da DarkNeo
Infatti non ho avuto moltissime difficoltà nel trovare quello che cercavo, ho smanettato un po ma tutto sommato ho trovato, ho compilato e installato i moduli, modificato lilo e dato il reboot con il seguente output:
[1.214000] VFS: Cannot open root device "804" or unknown-block(8,4): error -6
[1.225747] Please append a correct "root=" boot option; here are the available partitions:
[1.237565] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(8,4)
[1.249405] Pid: 1, comm: swpper/0 Not tainted 3.4.6 #1
[1.261070] Call Trace:
[1.272398] [<ffffffff815c71db>] panic+0xbd/0x1c1
[1.283684] [<ffffffff815c7320>] ? printk+0x41/043
[1.294689] [<ffffffff8189c024>] mount_block_root+0x1df/0x293
[1.305561] [<ffffffff8189c266>] mount_root+0x56/0x5a

Re: Compilazione Kernel 3.4.6

Inviato: dom lug 22, 2012 2:18
da DarkNeo
ho ricompilato l'immagine del kernel come diceva spina usando prima make allmodeconfig e poi make localmodconfig e il risultato è peggiorato (non voglio puntarti il dito :)), nel senso che prima si bloccava a 1.30 e ora si blocca a 56.51 perchè fa una serie di testing di non so cosa al quale da tutti ok e poi restituisce un errore simile.
cosa posso inventarmi?

Re: Compilazione Kernel 3.4.6

Inviato: dom lug 22, 2012 9:29
da miklos
ad occhio, il primissimo errore mi pare sia dovuto al fatto che nn riesca a leggere la partizione, segno che il filesystem è compilato come modulo e quindi senza un initrd iniziale aggiornato.
uno dei comandi che ti ha spiegato spina compilano come moduli quelli che si ritrova caricati al momento, quindi se parti da una configurazione dove per es ext4 è statico sei ok, altrimenti devi fare attenzione e ricreare un initrd ad-hoc in base al filesystem che utilizzi.

Re: Compilazione Kernel 3.4.6

Inviato: dom lug 22, 2012 9:41
da DarkNeo
quindi nella voce file system del kernel devo mettere ext4, che è la formattazione della mia partizione, in statico e ricreare un immagine del kernel?

Re: Compilazione Kernel 3.4.6

Inviato: dom lug 22, 2012 10:26
da targzeta
Sì. L'errore sembra quello. Se usi ext4 allora lo devi mettere come statico se vuoi partire senza un initrd.

Emanuele

Re: Compilazione Kernel 3.4.6

Inviato: dom lug 22, 2012 19:31
da DarkNeo
Ok tra non molto sarò a casa per provare. Ma quello che ancora non mi e chiarissimo nella compilazione generale del kernel è: che differenza porta compilare come modulo o come statico? Cioè mi spiego meglio io ho il mio portatile il quale ha integrate nella mb tutte le varie schede, i moduli ad esempio quello audio lo devo mettere come statico o come modulo? Che differenza ce?

Re: Compilazione Kernel 3.4.6

Inviato: dom lug 22, 2012 19:34
da DarkNeo
Per snellire il kernel e renderlo più veloce possibile all'avvio, ma soprattutto impostato solo con la configurazione relativa al mio hardware ed hai vari hardware esterni che uso e che sono pochi come devo comportarmi?

Re: Compilazione Kernel 3.4.6

Inviato: dom lug 22, 2012 19:51
da miklos
la differenza fra statico e modulo sostanzialmente è che nel primo caso la funzionalità sta nel binario del kernel, nel secondo è un eseguibile a parte.
quando si avvia il kernel tutta la roba statica viene caricata in memoria immediatamente, i moduli invece il kernel li carica all'evenienza(per es si accorge che hai una determinata wireless, se la funzionalità è compilata statica ok, altrimenti va su filesystem a caricare il modulo se c'e')

quando si fanno questo tipo di ottimizzazioni piu' che decidere se il driver della scheda video lo vuoi integrato, oppure come modulo si fa di solito(o almeno io faccio cosi') un ragionamento del tipo configuro il kernel per avere meno roba possibile caricata in memoria quindi si fa pulizia delle configurazioni statiche che siamo certi nn ci serviranno, perchè in base alla mia esperienza differenze enormi tra l'avere un driver statico o come modulo non le ho notate.

le distribuzioni linux, dovendo funzionare su un parco hardware vasto solitamente offrono dei kernel mooolto 'generosi'
su slackware ci sono due kernel disponibili, il generic e lo huge... lo huge dal nome ha un bel po' di driver compilati staticamente(infatti è molto piu' grosso del generic) e di conseguenza si avvia in piu' tempo visto che la mole di software da caricare è maggiore.
di contro il generic è molto piu' snello pero' tante cose sono modularizzate e quindi ti ritrovi con errori tipo quello che hai incontrato inizialmente(il problema del filesystem).

devi riuscire ad ottenere una via di mezzo :)

io ho superato la fase di ottimizzazione forsennata, pero' a slackware avviata la prima cosa che faccio e prendere il generic, staticamente ci metto l'ext4(il mio filesystem di default), ricompilo e vivo tranquillo :)

Re: Compilazione Kernel 3.4.6

Inviato: dom lug 22, 2012 20:47
da DarkNeo
ok grazie mille sei stato veramente chiarissimo adesso provo a ricompilare il kernel impostando come moduli tutte le schede integrate nella mb e cercherò di non far casini con il resto !