# Da Genkernel a Manuale

## koma

Ciao ragazzi.

Ho deciso di rifarmi il kernel a manina, dato che il precedente è generato da genkernel 

[*] c'è qualcosa chedovrei sapere? .. del tipo 

[*] genkernel per quanto riguarda il kernel si limita a usare il .config che genera lui?

[*] E per creare l'initrd devo impazzire in qualche modo? 

[*] Mi piacerebbe mantenere lo splash, conosco già le guide ma quello generato da genkernel è molto comodo,

[*] posso fare il kernel a mano e generare l'initrd con genkernel?

----------

## cloc3

 *koma wrote:*   

> [*] E per creare l'initrd devo impazzire in qualche modo? 
> 
> 

 

koma. quanto tempo  :Smile:  .

se ti va di impazzire, io faccio così.

la versione sul wiki è automatizzata.

----------

## koma

Già sono tornato alla vecchia scuola ora che ho un portatile semi nuovo. Purtroppo col mio vechcio 533 era impossibile compilare  :Wink: 

----------

## djinnZ

```
genkernel --menuconfig all
```

?

genkernel (a configurazione di default) se la compilazione va a buon fine si crea una copia del kernel in /etc/kernels e dopi aver fatto il make oldconfig con le sue impostazioni di default ne fa uno con la configurazione archiviata.

Io continuo ad usare genkernel e faccio meno fatica.

----------

## bandreabis

Io non ho mai usato genkernel, e mi son sempre trovato bene a manina.

Ora vorrei invece iniziare a potare il kernel dai rami inutilizzati...

----------

## Super_Treje

Io non ho mai usato genkernel visto che me lo hanno sconsigliato, dicono che puo' creare problemi.

Io odio i problemi   :Very Happy: 

Allora mi sono messo tranquillo tranquillo e per 1 mese mi sono messo li' ad provare e a riprovare per riuscire ad avere un kernel funzionante.

Se sai espressamente tutto cio' che hai gia' nel tuo pc sei gia' ad un buon punto di partenza.

Poi si tratta di fare qualche prova se non si e' mai ricompilato da zero a mano un kernel.

Cmq l'importante, credo, e' farsi il cu... all'inizio e poi ti conservi in cassaforte quel .config del kernel e lo riutilizzi in caso di aggiornamento di una versione del kernel o anche per altri pc simili, riadattando i moduli corretti ovviamente, ed ovviamente se i nuovi kernel migliorano i moduli che ti interessano! altrimenti l'aggiornamento non serve   :Very Happy:   :Cool:   :Laughing:  .

Bye  :Smile: 

----------

## djinnZ

 *Super_Treje wrote:*   

> Io non ho mai usato genkernel visto che me lo hanno sconsigliato, dicono che puo' creare problemi.

 

quali?

L'unico problema che crea genkernel è che deve essere configurato perchè di base è pensato per niubbi non per esperti.

Non serve ad altro che ad evitarti la trafila dei make, gestire /lib/modules e generare l'initrd; tutte operazioni abbastanza meccaniche.

Se poi ti sembra utile ripetere ogni volta le stesse operazioni invece di editare un file ed adattarlo alle tue esigenze... de gustibus non sputazzelam

----------

## Super_Treje

 *djinnZ wrote:*   

>  *Super_Treje wrote:*   Io non ho mai usato genkernel visto che me lo hanno sconsigliato, dicono che puo' creare problemi. 
> 
> quali?
> 
> L'unico problema che crea genkernel è che deve essere configurato perchè di base è pensato per niubbi non per esperti.
> ...

 

Beh guarda una volta che ti sei impazzi 1 volta che configurarti 1 kernel da sorgente a mano come dio comanda, per tutte le altre volte dovrai cambiare cosi' poche cose che ci metterai 1 attimo perche' il .config te lo salvi come uan reliquia.

Cioe' a meno che tu oggi non devi farti un kernel per intel core2, domani per un itanium2, dopo domani per un alpha, poi per una spark ecc.ecc.ecc.ecc. allora forse "quasi quasi" far gestire ad un'altro cio' che potresti gestire te potrebbe convenire, ma devi sempre vedere se poi genkernel fa' il suo dovere!!! e non ti crea piu' casini di quelli che ti risolve.

Tra l'altro questo "autolesionismo" di fare tutto a mano ti procura un bel know-how che non e' dannoso, specie nell'ambito gentoo   :Very Happy:  .

Bye  :Smile: 

----------

## Kernel78

 *Super_Treje wrote:*   

> Beh guarda una volta che ti sei impazzi 1 volta che configurarti 1 kernel da sorgente a mano come dio comanda, per tutte le altre volte dovrai cambiare cosi' poche cose che ci metterai 1 attimo perche' il .config te lo salvi come uan reliquia.
> 
> Cioe' a meno che tu oggi non devi farti un kernel per intel core2, domani per un itanium2, dopo domani per un alpha, poi per una spark ecc.ecc.ecc.ecc. allora forse "quasi quasi" far gestire ad un'altro cio' che potresti gestire te potrebbe convenire, ma devi sempre vedere se poi genkernel fa' il suo dovere!!! e non ti crea piu' casini di quelli che ti risolve.
> 
> Tra l'altro questo "autolesionismo" di fare tutto a mano ti procura un bel know-how che non e' dannoso, specie nell'ambito gentoo   .
> ...

 

Suppongo tu non conosca l'opzione --menuconfig di genkernel  :Wink: 

Con genkernel puoi fare tutto quello che fai tu a manaina e in più ti automatizza diversi passaggi (puoi anche fargli aggiungere una riga per il nuovo kernel al boot loader)

----------

## Super_Treje

 *Kernel78 wrote:*   

>  *Super_Treje wrote:*   Beh guarda una volta che ti sei impazzi 1 volta che configurarti 1 kernel da sorgente a mano come dio comanda, per tutte le altre volte dovrai cambiare cosi' poche cose che ci metterai 1 attimo perche' il .config te lo salvi come uan reliquia.
> 
> Cioe' a meno che tu oggi non devi farti un kernel per intel core2, domani per un itanium2, dopo domani per un alpha, poi per una spark ecc.ecc.ecc.ecc. allora forse "quasi quasi" far gestire ad un'altro cio' che potresti gestire te potrebbe convenire, ma devi sempre vedere se poi genkernel fa' il suo dovere!!! e non ti crea piu' casini di quelli che ti risolve.
> 
> Tra l'altro questo "autolesionismo" di fare tutto a mano ti procura un bel know-how che non e' dannoso, specie nell'ambito gentoo   .
> ...

 

Non la conosco questa opzione, ma il tarlo che ho e' ben + insito di quello che pensi, perche' tu come giustamente dici con questa opzioni automatizzi diversi passaggi, ma il mio dubbio e' : Te li automatizza bene ? Non e' che sbaglia ? Se sbaglio io a configurare il kernel ok mi sta' bene sono fesso io ma se sbaglia lui rosichi non poco perche' non sai come fargliele fare bene le cose a meno che non te metti li' a manina a vedere nel suo sorgente dov'e' che sbaglia, ma visto che non e' uno scherzo allora "si ritorna a bomba" facendosi le cose a manina e pazientemente si cerca la perfetta configurazione.

Non so' questo quanto sia "+ stile gentoo" o meno, io cmq me lo faccio a mano cosi' capisco cosa avviene "sotto", ed anche perche' a me piace ficcare il naso ovunque   :Laughing:   :Wink: 

Ciao  :Smile: 

----------

## Kernel78

 *Super_Treje wrote:*   

> Non la conosco questa opzione, ma il tarlo che ho e' ben + insito di quello che pensi, perche' tu come giustamente dici con questa opzioni automatizzi diversi passaggi, ma il mio dubbio e' : Te li automatizza bene ? Non e' che sbaglia ? Se sbaglio io a configurare il kernel ok mi sta' bene sono fesso io ma se sbaglia lui rosichi non poco perche' non sai come fargliele fare bene le cose a meno che non te metti li' a manina a vedere nel suo sorgente dov'e' che sbaglia, ma visto che non e' uno scherzo allora "si ritorna a bomba" facendosi le cose a manina e pazientemente si cerca la perfetta configurazione.
> 
> Non so' questo quanto sia "+ stile gentoo" o meno, io cmq me lo faccio a mano cosi' capisco cosa avviene "sotto", ed anche perche' a me piace ficcare il naso ovunque   
> 
> Ciao 

 

oddio, e ti fidi di quello che fa il kernel ? non è meglio togliere tutti quegli automatismi e scriverti direttamente il codice macchina in tempo reale ? così sei sicuro che tutto quel codice che non conosci non abbia errori  :Laughing: 

Scherzi a parte, genkernel è un tool semplice, stabile e ben testato, se vuoi farti le cose a mano sei ovviamente libero di farle ma a me piace pensare che i computer siano da utilizzare in ogni situazione possibile, soprattutto per sollevarci da compiti tediosi e ripetitivi quali la ricompilazione di un kernel ... magari sono troppo "vecchia scuola" ma ritengo ancora che una delle migliori virtù di un programmatore sia la pigrizia  :Wink: 

----------

## Super_Treje

Gia' la giusta pigrizia e' una virtu'.

Dovro' informarmi meglio allora per genkernel visto che me ne hanno parlato veramente male su altri forums e testarlo come dio comanda... cioe' come faccio di solito io   :Laughing:   :Laughing: 

Bye e grazie delle info  :Smile: 

----------

## codadilupo

uso genkernel da mo', e non ho mai avuto problemi.

Lo sconsiglio solo se avete architetture altre dalla x86, perchè non mi risulta ancora stabilissimo su quel fronte (con ppc64, ad esempio, crasha inesorabilmente)

Coda

----------

## Kernel78

 *codadilupo wrote:*   

> uso genkernel da mo', e non ho mai avuto problemi.
> 
> Lo sconsiglio solo se avete architetture altre dalla x86, perchè non mi risulta ancora stabilissimo su quel fronte (con ppc64, ad esempio, crasha inesorabilmente)
> 
> Coda

 

Su altre non saprei ma su amd64 va alla perfezione da almeno un paio d'anni (ovvero da quando lo uso).

----------

## bandreabis

Bello!

Sta diventando un mezzo flame!!!   :Razz: 

Io ho sempre usato la configurazione a manina con make menuconfig... e tutto va bene.... poi cambio kernel ogni nuova release stabile (beh, prima e dopo la parentesi suspend2-sources che non mi ha mai "suspend2ed") e make oldconfig non mi ha mai tradito.

----------

## codadilupo

 *Kernel78 wrote:*   

> Su altre non saprei ma su amd64 va alla perfezione da almeno un paio d'anni (ovvero da quando lo uso).

 

amd64 era una delle architetture non supportate, ma non avendone mai avuto bisogno non so quando abbia cominciato a funzionare bene: d'altra parte, è anche - tra le architetture esotiche - la meno esotica possibile  :Wink:  per cui immagino abbastanza presto. Su ppc - 64 o meno - so che ancora fa cilecca di brutto  :Wink: 

CodaLast edited by codadilupo on Thu Nov 15, 2007 1:29 pm; edited 1 time in total

----------

## Kernel78

 *bandreabis wrote:*   

> Io ho sempre usato la configurazione a manina con make menuconfig... e tutto va bene.... poi cambio kernel ogni nuova release stabile (beh, prima e dopo la parentesi suspend2-sources che non mi ha mai "suspend2ed") e make oldconfig non mi ha mai tradito.

 

Quindi non usi genkernel perchè non lo conosci ?  :Wink: 

----------

## Super_Treje

 *Kernel78 wrote:*   

>  *bandreabis wrote:*   Io ho sempre usato la configurazione a manina con make menuconfig... e tutto va bene.... poi cambio kernel ogni nuova release stabile (beh, prima e dopo la parentesi suspend2-sources che non mi ha mai "suspend2ed") e make oldconfig non mi ha mai tradito. 
> 
> Quindi non usi genkernel perchè non lo conosci ? 

 

Beh squadra che vince non si cambia   :Very Happy:   :Razz:   :Wink:   :Smile: 

----------

## bandreabis

 *Kernel78 wrote:*   

>  *bandreabis wrote:*   Io ho sempre usato la configurazione a manina con make menuconfig... e tutto va bene.... poi cambio kernel ogni nuova release stabile (beh, prima e dopo la parentesi suspend2-sources che non mi ha mai "suspend2ed") e make oldconfig non mi ha mai tradito. 
> 
> Quindi non usi genkernel perchè non lo conosci ? 

 

Io direi perchè non ne ho mai sentito il bisogno.   :Wink: 

----------

## Kernel78

 *bandreabis wrote:*   

>  *Kernel78 wrote:*    *bandreabis wrote:*   Io ho sempre usato la configurazione a manina con make menuconfig... e tutto va bene.... poi cambio kernel ogni nuova release stabile (beh, prima e dopo la parentesi suspend2-sources che non mi ha mai "suspend2ed") e make oldconfig non mi ha mai tradito. 
> 
> Quindi non usi genkernel perchè non lo conosci ?  
> 
> Io direi perchè non ne ho mai sentito il bisogno.  

 

se non conosci uno strumento e non sai cosa può fare per te di sicuro non ne sentirai il bisogno ...

----------

## riquito

non sarebbe meglio fare una discussione a parte su genkernel vs kernel a mano ? almeno per buona creanza verso koma

koma, per quanto riguarda l'initrd non ti preoccupare, è banale. se segui la guida che avrai usato anche con genkernel

http://gentoo-wiki.com/HOWTO_fbsplash

vedrai che tutto si risolve con un comando del tipo

```

# cd /etc/splash/

# splash_geninitramfs livecd-2007.0 -r 1024x768 -g /boot/fbsplash-livecd-2007.0-1024x768 -v

```

comunque la guida è scritta bene e non dovresti perderti nella configurazione dello splash.

altre cose da sapere... bhe, leggi l'help di tutto quello che tocchi, all'inizio è una rottura ma ottenuta una configurazione funzionante salvala e riusala ad ogni aggiornamento e vivrai felice

----------

## djinnZ

 *riquito wrote:*   

> non sarebbe meglio fare una discussione a parte su genkernel vs kernel a mano ? almeno per buona creanza verso koma

 

guarda che il suo post mi sembra più un "abbandono genkernel o lo posso usare diversamente?". (anche se si sta andando un tantino OT, hai ragione)

Ribadisco il mio consiglio, se non hai esigenze particolari e tutto quello che ti serve è mettere i moduli usb e hwmonitor builtin e non creare moduli supplementari inutili per controller sata che non hai fai prima con genkernel, ti garantisci dalle sorprese perchè spero che i devel abbiano per riferimento l'impostazione di genkernel.

Se ti ricordi di non abilitare l'inclusione del nome di versione ed aggiungi il supporto per lo splash nulla ti vieta di generare solo l'initrd con un 

```
genklernel --noclean initrd
```

 ma se hai bisogno che all'avvio prima di inziare a montare i dischi l'init controlli che ci sono e si regoli di conseguenza o devi ricorrere ad un knock per montare una root su nfs... sarebbe stupido tentare di adattare uno strumento del genere; metodo "a manina" e basta.

Ed anche nel metodo manuale ci sono una serie di possibilità intermedie, nulla ti vieta di usare solo lo script per generare l'initrd come ti ha evideziato riquito.

Quindi se sei ancora in dubbio (ma non penso) non ti resta che porre il problema specifico.

----------

## koma

 *djinnZ wrote:*   

>  *riquito wrote:*   non sarebbe meglio fare una discussione a parte su genkernel vs kernel a mano ? almeno per buona creanza verso koma 
> 
> guarda che il suo post mi sembra più un "abbandono genkernel o lo posso usare diversamente?". (anche se si sta andando un tantino OT, hai ragione)
> 
> Ribadisco il mio consiglio, se non hai esigenze particolari e tutto quello che ti serve è mettere i moduli usb e hwmonitor builtin e non creare moduli supplementari inutili per controller sata che non hai fai prima con genkernel, ti garantisci dalle sorprese perchè spero che i devel abbiano per riferimento l'impostazione di genkernel.
> ...

 

Non è proprio così in realtà quello che cercavo di capire io è, come funziona genkernel? Bene o male ci azzecca sempre, volevo usare lui per creare il il kernel a mano, cioè:

Genkrnel ha l'ottima funzione di ottimizzare intird splash installazione del kernel dei moduli e quant'altro.

Però non mi spiacerebbe decidere cosa aggiungere e cosa no nella confogurazione, fatto sta che se uso il --menuconfig  ogni volta devo risettare ogni parametro che mi interessa perchè lui ristandardizza alla versione rpecedente.

Il modo per "fuckarlo" è abbastanza semplice.

Lui inserisce la configurazione in /etc/kernel/gentoo-source-versione-x.y.z.

Se noi si fa un

```
# cd /usr/src/linux

#cp /etc/kernel/entoo-source-versione-x.y.z .config

# make menuconfig

[MODIFICHE CHE SI VOGLIONO]

# cp .config  /etc/kernel/entoo-source-versione-x.y.z 

# genkrenel all

```

Ci si risolve il problema alla base  :Smile: 

Nel senso genkrenel consinua a fare tutti i suoi micacasperi e in + usa la ocnfigurazione che vuoi tu  :Very Happy: 

----------

## djinnZ

Appunto... ora ho capito cosa volevi. Genkernel non fa altro che copiare una configurazione predefinita molto generica lanciare un make oldconfig e compilare il kernel, copiare i moduli e generare l'initrd. Se la cosa va a buon fine copia il .config in /etc/kernel e la successiva volta utilizza la configurazione salvata invece di quella generica.

quindi puoi abbreviare facendo direttamente 

```
cp /etc/kernel/gentoo-vattelappesca-vecchio.config /etc/kernel/gentoo-vattelappesca-nuovo.config ; genkernel --menuconfig all ; module-rebuild rebuild 
```

 ovviamente ho considerato disabilitato clean ed mrproper in genkernel.conf perchè preferisco invocarli manualmente le rare volte che rivedo la configurazione.

NB: il tuo metodo è assolutamente equivalente ma c'è un errore, dovresti lanciare un 

```
make oldconfig ; make menuconfig
```

 per evitare problemi di funzioni spostate, deprecate, nuove etc.

----------

## koma

Lo fa da sè l'ultima versione  :Wink: 

----------

