PDA

View Full Version : File configurazione kernel


SteveVai222
16-02-2009, 21:11
Salve a tutti..
Come ho scritto nel titolo, non riesco a trovare un file di configurazione (.config) del kernel..
Vi sottopongo meglio il problema:
Ho un desktop con Processore Pentium 4 e 256 mb di ram e dovrei trovare un file (.config) di configurazione per la compilazione del kernel tale che:
-Il kernel sia monolitico e non faccia uso di alcun modulo
-Supporti PCI express
-Che abbia il Network packet filtering attivato
-Ci sia una scheda di rete intel pro wireless 2200 BG e 2915 abg network
-Supporti una stampante su porta parallela
-Supporti Accessibilty con console on braille
-Non supporti Usb
Dove posso trovarlo?!?
Io utilzzo ubunto 8.10..
Grazie anticipatamente..

Gica78R
16-02-2009, 22:13
Scarichi i sorgenti del kernel e te lo ricompili secondo le tue esigenze! ;)

kernele
16-02-2009, 22:40
Dove posso trovarlo?!?


Da nessuna parte.
Compila.

palmy
17-02-2009, 08:26
È un file (nascosto, come suggerisce il punto davanti al nome) che si trova nella cartella dei sorgenti del kernel e che viene creato ne momento in cui tu salvi la configurazione del kernel (con make config o make xconfig o altro ancora).

Gica78R
17-02-2009, 09:09
È un file (nascosto, come suggerisce il punto davanti al nome) che si trova nella cartella dei sorgenti del kernel e che viene creato ne momento in cui tu salvi la configurazione del kernel (con make config o make xconfig o altro ancora).

Aggiungo che una copia del ".config" con cui è stato compilato il kernel che stai eseguendo correntemente la trovi nella directory /boot col nome config-<versione-kernel>.
Se non vuoi ricompilare un nuovo kernel partendo da zero, puoi usare quel file come base di partenza ed apportare le necessarie modifiche.

Ciao :)

masand
17-02-2009, 09:13
Salve a tutti..
Come ho scritto nel titolo, non riesco a trovare un file di configurazione (.config) del kernel..
Vi sottopongo meglio il problema:
Ho un desktop con Processore Pentium 4 e 256 mb di ram e dovrei trovare un file (.config) di configurazione per la compilazione del kernel tale che:
-Il kernel sia monolitico e non faccia uso di alcun modulo
-Supporti PCI express
-Che abbia il Network packet filtering attivato
-Ci sia una scheda di rete intel pro wireless 2200 BG e 2915 abg network
-Supporti una stampante su porta parallela
-Supporti Accessibilty con console on braille
-Non supporti Usb
Dove posso trovarlo?!?
Io utilzzo ubunto 8.10..
Grazie anticipatamente..

Ciao,
dai un letta a questo post che ho fatto: http://hwu-ubuntuclan.blogspot.com/2009/02/kernel-ke-kernel.html

Un saluto a tutti...
masand

SteveVai222
17-02-2009, 12:56
Ma come si fa?!?!?
Non l'ho mai fatto..
Potreste dirmi passo per passo come fare a configurare..
magari anche facendomi degli esempi..

Gica78R
17-02-2009, 13:41
Innanzitutto assicurati che ti sia davvero necessario ricompilare. Quello che vuoi fare (kernel monolitico senza moduli) non è una buona idea, a meno che il tuo obiettivo non sia un kernel davvero minimale ed ottimizzato per hardware ben definito. A giudicare dal fatto che non hai mai compilato il kernel prima d'ora, non credo tu sappia esattamente cosa stai cercando di fare. Se invece mi sbaglio e sai esattamente quello che fai, ci sono molti how-to che spiegano come si ricompila il kernel. Puoi cominciare a dare una letta a questo, che spiega come usare il metodo Debian:

http://www.debianclan.org/index.php?option=com_content&task=view&id=98&Itemid=38

Altrimenti, se vuoi usare il metodo "tradizionale", scaricati i sorgenti del kernel da www.kernel.org, decomprimi l'archivio e leggiti il README che ci trovi dentro.

SteveVai222
17-02-2009, 23:49
No in effetti non so bene come fare perchè non ha queste caratteristiche il mio computer è solo un "esercizio"..
Quindi dovrei fare questo file .config senza realmente configurare il mio computer..

SteveVai222
17-02-2009, 23:56
Se è possibile vorrei alcuni esempi per poter capire come fare oppure che programmi utilizzare nel mio caso tipo (macchine virtuali(vmware) o robe simili)
Grazie..

Gica78R
18-02-2009, 07:43
Se vuoi solo produrre un file .config, senza poi effettivamente compilare e/o installare il kernel prodotto, puoi farlo tranquillamente senza provocare alcun problema al sistema che stai eseguendo. Scaricati i sorgenti del kernel da www.kernel.org e mettilo in una qualsiasi directory della tua home. Installa sul tuo sistema tutto il necessario per configurare e compilare il kernel, vale a dire il compilatore e il pacchetto libncurses5-dev, poi decomprimi i sorgenti del kernel che hai scaricato ed entra nella directory creata (che sarà del tipo linux-<versione>) e da quella directory (da una finestra di terminale, ovviamente) dai il comando make menuconfig e potrai osservare, studiare e modificare tutte le opzioni e le impostazioni che vuoi. Finito questo, quando uscirai dal menu di configurazione salvando quello che hai fatto, nella directory troverai il file .config corrispondente alle scelte che hai fatto.

SteveVai222
18-02-2009, 10:45
Ho scaricato una versione di kernel poi ho installato i pacchetti essenziali per configurare il kernel.Queste sono le cose che ho installate(pari pari dalla quida http://www.debianitalia.org/modules/wfsection/article.php?articleid=101):
$ sudo apt-get install linux-tree
$sudo apt-get update
$ sudo apt-get install build-essential
$ sudo apt-get install kernel-package
$ sudo apt-get install gcc
$ sudo apt-get install libncurses5
$ sudo apt-get install libncurses5-dev
$ sudo apt-get install libqt3-mt-dev
Per ora ho fatto tutto giusto?!?
Poi ho decompresso il kernel sulla Scrivania ed ho lanciato il comando sudo <nome kernel> make menuconfig ma mi dice sudo: linux-2.6.28.6: command not found
cosa ho sbagliato?!?
Non è che bisogna per forza per utilizzare make menuconfig bisogna essere nella directory /usr/src?!?! perchè a me non mi faceva scompattare il kernel in quella cartella..

SteveVai222
18-02-2009, 10:48
Scusa altro appunto..
Se invece inserisco solo sudo make menuconfig mi dice
make: *** No rule to make target `menuconfig'. Stop.

W.S.
18-02-2009, 11:20
.. ho lanciato il comando sudo <nome kernel> make menuconfig ma mi dice sudo: linux-2.6.28.6: command not found
cosa ho sbagliato?!?
sudo XXX funziona a patto che XXX sia un comando eseguibile.

sudo make menuconfig credo non ti funzioni perchè non lo lanci dalla directory in cui hai scompattato i sorgenti. Ad esempio, se li scompatti in /usr/src/linux devi entrare in /usr/src/linux prima di eseguire quel comando. Non importa dove li metti, per convenzione si usa /usr/src ma non è vincolante.

Non ti faceva scrivere in /usr/src perchè non hai i permessi per farlo.

Gica78R
18-02-2009, 12:03
sudo XXX funziona a patto che XXX sia un comando eseguibile.

sudo make menuconfig credo non ti funzioni perchè non lo lanci dalla directory in cui hai scompattato i sorgenti. Ad esempio, se li scompatti in /usr/src/linux devi entrare in /usr/src/linux prima di eseguire quel comando. Non importa dove li metti, per convenzione si usa /usr/src ma non è vincolante.

Non ti faceva scrivere in /usr/src perchè non hai i permessi per farlo.

Esatto. Una volta scompattato l'archivio dei sorgenti (linux-<versione>.tar.bz2 o .tar.gz), viene creata la directory linux-<versione>. E' dall'interno di quella directory che devi dare il comando make menuconfig :)

SteveVai222
18-02-2009, 13:07
si io l'ho fatto..
L'ho fatto..mi sono spostato con il comando cd nella directory Scrivania e da li provatos sia in un modo sia in un altro ma niente..

palmy
18-02-2009, 13:46
si io l'ho fatto..
L'ho fatto..mi sono spostato con il comando cd nella directory Scrivania e da li provatos sia in un modo sia in un altro ma niente..

allora innanzitutto la directory in cui devi posizionarti è quella in cui hai scompattato le sorgenti del kernel (che generalmente dovrebbe essere /usr/src/linux-2.6.28.6/).

poi il comando da lanciare è: make menuconfig (make xconfig se preferisci un'interfaccia grafica, dopo aver installato le librerie necessarie)

Tali operazioni sarebbe meglio farle come root (amministratore) piuttosto che usando sudo (non che non si possa fare); così come la directory corretta dove scompattare le sorgenti del kernel è /usr/src/
Sarebbe poi buona cosa creare anche un link alla cartella delle sorgenti:

ln -s /usr/src/linux-2.6.28.6/ /usr/src/linux

sasa83
18-02-2009, 13:58
ma non fai prima a scaricarti i sorgenti con apt?
basta che dai
apt-get install linux-sources

ti crea la tua bella cartella /usr/src/linux, ci entri dentro e da li make xconfig.

SteveVai222
18-02-2009, 19:27
Ok c'è l'ho fatta..e virngrazio, ma ho rimasto un paio di domande da farvi..
Sono dentro a xconfig (o menuconfig):
1.)Come faccio ad inserire caratteristiche che nel kernel che ho scelto non ci sono (ESEMPIO: supporti Accessibility in particolare il supporto alle Console on braille device oppure dirgli che voglio un kernel monolitico e non a moduli).
2.)Come faccio a digli che caratteristiche ha il mio computer (o nel mio caso il computer che devo simulare?!?!)
Per adesso vi ringrazio tutti per gli aiuti che mi avete dai..

sasa83
18-02-2009, 20:19
Ok c'è l'ho fatta..e virngrazio, ma ho rimasto un paio di domande da farvi..
Sono dentro a xconfig (o menuconfig):
1.)Come faccio ad inserire caratteristiche che nel kernel che ho scelto non ci sono (ESEMPIO: supporti Accessibility in particolare il supporto alle Console on braille device oppure dirgli che voglio un kernel monolitico e non a moduli).


in questo caso ti viene in aiuto il find che trovi in alto....basta che scrivi accessibility e ti porta alla voce corrispondente....a quanto ho visto c'è scritto che devi passare dei parametri particolari al kernel in questo caso.
per il kernel monolitico (perchè :confused: :confused: ) basta che selezioni tutte le tue opzioni come statiche, cioè con il baffo, mentre il puntino vuol dire modulo....capito?


2.)Come faccio a digli che caratteristiche ha il mio computer (o nel mio caso il computer che devo simulare?!?!)
Per adesso vi ringrazio tutti per gli aiuti che mi avete dai..

c'è una pagina della debian che ti viene in aiuto....http://kmuto.jp/debian/hcl/
ci metti dentro l'output di "lspci -n" e ti da la lista dei moduli da inserire nel kernel, se non li metti preparati a malfunzionamenti.
ovvio che poi dovrai aggiungere altri moduli...filesystem, periferiche usb, etc...

Gica78R
18-02-2009, 20:54
per il kernel monolitico (perchè :confused: :confused: ) basta che selezioni tutte le tue opzioni come statiche, cioè con il baffo, mentre il puntino vuol dire modulo....capito?

C'è un'opzione proprio nella schermata principale del menu di configurazione che dice:

Enable loadable module support

Se NON spunti quell'opzione, tutto quello che selezioni verrà compilato staticamente nel kernel, cioè senza produrre moduli.

sasa83
18-02-2009, 20:57
C'è un'opzione proprio nella schermata principale del menu di configurazione che dice:

Enable loadable module support

Se NON spunti quell'opzione, tutto quello che selezioni verrà compilato staticamente nel kernel, cioè senza produrre moduli.

ah giusto...:D
cmq non l'ho mai fatto e sinceramente non riesco a capire il motivo di una cosa del genere.

SteveVai222
19-02-2009, 01:32
A si è vero..(tra l'altro l'avevo gia tolto :doh: )
Cmq il kernel è cosi pochè è un progetto per l'università..

SteveVai222
19-02-2009, 01:49
Nel file .config sono riuscito a metterci tutto cio che mi serviva cpu (pentium 4 in # Processor type and features)compreso ma non riesco a trovare dove impostare la ram..
poi non ho capito a cosa mi puo servire quel link che mi hai dato?!?!? :confused:
dove la trovo la ram?!?!? thanks..

sasa83
19-02-2009, 10:01
Nel file .config sono riuscito a metterci tutto cio che mi serviva cpu (pentium 4 in # Processor type and features)compreso ma non riesco a trovare dove impostare la ram..
poi non ho capito a cosa mi puo servire quel link che mi hai dato?!?!? :confused:
dove la trovo la ram?!?!? thanks..

cosa intendi per ram? tipo? quantità? funzionalità particolari?
quel link che ti ho dato ti elenca i principali moduli che devi inserire nel kernel per far funzionare le cose principali, tipo controller disco, audio, scheda ethernet, etc...poi sinceramente non ho capito se il pc per cui devi fare questo kernel esiste davvero...nel caso non esista ovviamente quella pagina diventa inutile.

SteveVai222
19-02-2009, 10:11
Quantità di ram (256mb)..si comunque il computer non esiste veramente..

sasa83
19-02-2009, 10:16
Quantità di ram (256mb)..si comunque il computer non esiste veramente..

bè allora non mi pare debba abilitare qualcosa di particolare....nello stesso menù del processore c'è uno spazio per la quantità di ram, poi ci sono altre milioni di opzioni ma della maggior parte ne ignoro il significato :D

SteveVai222
19-02-2009, 12:34
Non mi sapete dire di preciso come si chiama?!?!?
non è per caso Initial RAM filesystem and RAM disk?!?!?

sasa83
19-02-2009, 12:54
Non mi sapete dire di preciso come si chiama?!?!?
non è per caso Initial RAM filesystem and RAM disk?!?!?

io mi riferivo a questo:
http://img18.picoodle.com/img/img18/3/2/19/t_snapshot1m_5137158.png (http://www.picoodle.com/view.php?img=/3/2/19/f_snapshot1m_5137158.png&srv=img18)

la ram disk lasciala perdere, non c'entra niente...disabilitala, a maggior ragione se stai compilando tutto statico.

SteveVai222
19-02-2009, 13:23
Non ho capito?!?!? come faccio a scrivere 256 mb li?!?!!?

sasa83
19-02-2009, 13:33
Non ho capito?!?!? come faccio a scrivere 256 mb li?!?!!?

non lo puoi scrivere...nel tuo caso devi selezionare off.

SteveVai222
19-02-2009, 13:45
ok grazie di tutto..

SteveVai222
23-02-2009, 19:53
Altro dubbio c'è qualche opzione per il riconoscimento delle impronte digitali?!?!