# [kernel 2.6.4-rc1] Prima di fare danni... [FAQ]

## MadMac

Buongiorno a tutti i gechi....

Come da titolo prima di fare danni nel cambio del kernel, cosa che non ho mai fatto (il cambio.... non i danni) vorrei se possibile una serie di suggerimenti.

Sinora dai post visionati mi pare che il boot loader utilizzato maggiormente sia grub. Io ho LILO... Anche nei tutorial per il cambio kernel vengono portati ad esempio script per grub.... Veniamo ai miei dubbi:

1) Mi pare di avere capito che il kernel utilizzato dal sistema sia quello compilato che si indica nel /boot. Quello che si trova installato in /usr/src/linux-n.n.n serve solo per la costruzione dei file di configurazione depositati in /boot. E' corretto? 

2) Se corretto il punto 1 allora per rimuovere dei tentativi di configurazione precedenti si possono cancellare i relativi files in /boot, mentre si puo' disinstallare il kernel situato in /usr/src/linux con emerge --unmerge. Corretto?

3) Quali sono le diversita' tra l'utilizzare il tool "genkernel" e la sequenza di comandi manuali elencati nei tutorial? Oltre alla compilazione mi pare ci siano pure diversita' nei file da indicare in LILO.

Poi di dubbi ne ho pieno l'hard disk.... ma questi sono basici per poter approfondire .... 

Grazie per il sempre gentile e preciso supporto.

MadMac

----------

## fedeliallalinea

 *MadMac wrote:*   

> 1) Mi pare di avere capito che il kernel utilizzato dal sistema sia quello compilato che si indica nel /boot. Quello che si trova installato in /usr/src/linux-n.n.n serve solo per la costruzione dei file di configurazione depositati in /boot. E' corretto? 

 

Allora in /boot (montarla prima di fare un cp) metti il kernel compilato. In /usr/src/linux-XX trovi i sorgenti di questo che servono per la compilazione. 

 *MadMac wrote:*   

> 2) Se corretto il punto 1 allora per rimuovere dei tentativi di configurazione precedenti si possono cancellare i relativi files in /boot, mentre si puo' disinstallare il kernel situato in /usr/src/linux con emerge --unmerge. Corretto?

 

Allora prima di togliere prova a vedere se il passaggio di kernel va tutto ok, se non va poco male riparti con quello vecchio. Se tutto va si disinstalla il kernel vecchi ma ricordati che devi rimuovere anche i rimasugli in /usr/src/ e i moduli del vecchi kernel in /lib/modules/kernel-XXX.

 *MadMac wrote:*   

> 3) Quali sono le diversita' tra l'utilizzare il tool "genkernel" e la sequenza di comandi manuali elencati nei tutorial? Oltre alla compilazione mi pare ci siano pure diversita' nei file da indicare in LILO.

 

La differenza che genkernel mette moduli o bult-in come vuole lui e in oltre crea un initrd. Mentre se comppili a mano metti nella configurazione proprio e solo quello che vuoi tu.

----------

## shev

 *MadMac wrote:*   

> 1) Mi pare di avere capito che il kernel utilizzato dal sistema sia quello compilato che si indica nel /boot. Quello che si trova installato in /usr/src/linux-n.n.n serve solo per la costruzione dei file di configurazione depositati in /boot. E' corretto?

 

In /boot ci va il kernel compilato, il binario che viene usato dal bootloader per avviare il sistema. In /usr/src ci stanno i sorgenti del kernel, che servono per compilare il binario personalizzato del kernel.

 *Quote:*   

> 2) Se corretto il punto 1 allora per rimuovere dei tentativi di configurazione precedenti si possono cancellare i relativi files in /boot, mentre si puo' disinstallare il kernel situato in /usr/src/linux con emerge --unmerge. Corretto?

 

In che senso? In /boot ci stanno i binari dei kernel che hai compilato ed utilizzato. Puoi eliminare tutti i kernel (e relativi System.map etc) che non usi, tenendovi solo quello più recente o quello che attualmente usi.

Per /usr/src va bene l'unmerge, anche se ti consiglio prima dell'unmerge di dare un "rm -r /usr/src/linux-versione-che-vuoi", velocizza l'operazione non poco.

 *Quote:*   

> 3) Quali sono le diversita' tra l'utilizzare il tool "genkernel" e la sequenza di comandi manuali elencati nei tutorial? Oltre alla compilazione mi pare ci siano pure diversita' nei file da indicare in LILO.

 

Che genkernel crea automaticamente un kernel simile a quello che trovi sui livecd, cioè con supporto per un sacco di hardware. Se può essere utile in un livecd, su un sistema può risultare controproducente, in quanto un kernel con un sacco di roba inutile per il sistema è non solo più "grosso" come dimensioni, ma usa inutilmente ram, è più lento e così via. Senza contare che genkernel imho crea più problemi di quanti ne risolva  :Razz: 

I passi manuali ti permettono invece, oltre di sapere cosa stai facendo, di crearti un kernel snello, personalizzato e con l'essenziale per il tuo sistema. Inoltre fa molto più figo  :Laughing: 

----------

## randomaze

 *MadMac wrote:*   

> Buongiorno a tutti i gechi....
> 
> Come da titolo prima di fare danni nel cambio del kernel, cosa che non ho mai fatto (il cambio.... non i danni) vorrei se possibile una serie di suggerimenti.
> 
> 

 

Il massimo danno che puoi fare é quello di ottenere un kernel che non parte. In questo caso rifai il boot da liveCD, segiu i passi del chroot e riprovi  :Wink: 

 *MadMac wrote:*   

> 
> 
> Sinora dai post visionati mi pare che il boot loader utilizzato maggiormente sia grub. Io ho LILO... Anche nei tutorial per il cambio kernel vengono portati ad esempio script per grub.... Veniamo ai miei dubbi:
> 
> 

 

Mi sembra che ci sono esempi per entrambi, quindi non dovresti avere problemi nel tenere il lilo... no?

 *MadMac wrote:*   

> 
> 
> 1) Mi pare di avere capito che il kernel utilizzato dal sistema sia quello compilato che si indica nel /boot. Quello che si trova installato in /usr/src/linux-n.n.n serve solo per la costruzione dei file di configurazione depositati in /boot. E' corretto? 
> 
> 

 

Non proprio.

Dopo che compili il kernel questo si trova nella directory /usr/src/....

Ed é il kernel quindi non un file di configurazione. Oltre all'eseguibile poi vengono comunque generati altri files (system.map e simili...)

Quando dai il "make install" il kernel e i files necessari al boot verranno copiati nella directory /boot (quindi ricordati che, in quel momento, la directory deve essere correttamente montata in read-write).

 *MadMac wrote:*   

> 
> 
> 2) Se corretto il punto 1 allora per rimuovere dei tentativi di configurazione precedenti si possono cancellare i relativi files in /boot, mentre si puo' disinstallare il kernel situato in /usr/src/linux con emerge --unmerge. Corretto?
> 
> 

 

Non rimuove niente in /boot. Se fai un nuovo tentativo questo genererà dei files con lo stesso nome che sovrascriveranno quelli vecchi.

Se fai "emerge --unmerge" rimuovi l'alberatura dei sorgenti.

ricordati che con "emerge <<kernel>>" ti hai emerso solo i sorgenti del kernel e, a differenza degli altri emerge, questi non sono stati compilati.

 *MadMac wrote:*   

> 
> 
> 3) Quali sono le diversita' tra l'utilizzare il tool "genkernel" e la sequenza di comandi manuali elencati nei tutorial? Oltre alla compilazione mi pare ci siano pure diversita' nei file da indicare in LILO.
> 
> 

 

genkernel fa un tentativo di configurazione del kernel in maniera automatica, se decidi di usarlo guarda bene le opzioni disponibili.

il "make menuconfig" invece permette un maggior controllo sulla configurazione, con lo svantaggio che devi mettere tu le opzioni che, secondo te, sono le migliori.

Credo (non ho mai usato genkernel, ergo non sono sicuro) che puoi usare prima genkernel, e dopo, con menuconfig controlalre le opzioni che suggerisce ed, eventualmente, apportare delle correzioni.

Ok?

----------

## MadMac

Grazie per la risposta....

Quindi sono sulla retta via di comprensione.... 

Il problema che vorrei risolvere:

Ho fatto una serie di tentativi di installazione del source 2.6.4-rc1. ho provato con entrambi i metodi: genkernel e comandi manuali.

Ho inserito secondo ricetta in lilo una nuova configurazione salvando appunto la precedente 2.4.20 sempre funzionante. Ma ricevo un panic dal kernel... tentativo di killare l'init e li si ferma.

Ora non ci capisco piu' un belino a vela.... cioe' non capisco piu' se quando guardo una configurazione del kernel sto vedendo la prima, la seconda o quale altra..... L'idea era di ricostruire una verginita'. Rimuovo tutto (c'e' pure un tentativo con la 2.4.22) lasciando solo la 2.4.20.

Scusatemi il bisticcio software che faccio...

Quindi, leggendo in altri post la difficolta' di lilo con la ram0, il real_boot ecc. forse sarebbe bene che passassi a grub prima di continuare.

Sullo stesso disco ho una partizione NTFS di win che utilizzo per sviluppo di script php e testing di compatibilita' dei vari browser. Grub gestisce questo tipo di partizioni? Se si quale e' la procedura (sicura) per sostituire il boot loader?

Scusatemi le domande banali... ma forse lo sono troppo e non trovo risposte chiare. Molti tutorial suppongono una conoscenza base di LINUX non minimale come la mia. Anche se ho familiarita' con il mondo UNIX.

Grazie ancora.

MadMac

----------

## fedeliallalinea

 *MadMac wrote:*   

> Ho inserito secondo ricetta in lilo una nuova configurazione salvando appunto la precedente 2.4.20 sempre funzionante. Ma ricevo un panic dal kernel... tentativo di killare l'init e li si ferma.

 

Come hai fatto?

 *MadMac wrote:*   

> Sullo stesso disco ho una partizione NTFS di win che utilizzo per sviluppo di script php e testing di compatibilita' dei vari browser. Grub gestisce questo tipo di partizioni? Se si quale e' la procedura (sicura) per sostituire il boot loader?

 

Quando lanci il comando setup (hdX) metti il bootloader sul MBR poi per fare il dual boot basta che guardi la doc che c'e' scritto come fare bootare win.

----------

## MadMac

Questo e' il LILO ho aggiunto la parte in label Gentoo2-6

```

# Linux bootable partition config begins

# using genkernel

#

image = /boot/kernel-2.4.20-gentoo-r5

   root = /dev/hda10

   label = Gentoo2-4

   initrd = /boot/initrd-2.4.20-gentoo-r5

   read-only # read-only for checking

        append ="hdd=ide-scsi"

#

# Linux bootable partition config ends

#

#

# Linux bootable partition config begin

# using genkernel 3.0.1

#

image = /boot/kernel-2.6.4-rc1

label = Gentoo2-6

read-only # read-only for checking

root = /dev/hda10

initrd = /boot/initrd-2.6.4-rc1

append ="root=/dev/ram0  real_root =/dev/hda10 splash=silent  hdd=ide-scsi"

#

# Linux bootable partition config ends

#

```

L'errore al boot e':

/bin/sh can't open real_root

Kernel panic: Attempted to kill init!

Avevo anche messo in precedenza nell'append "init=/linuxrc". Mi pare che fa l'errore dopo aver appeso root=/dev/ram0.....

Ma non e' che ci vuole un riferimento alla ram0  in fstab? Mi e' venuto in mente ora....

MadMac

----------

## fedeliallalinea

Come hai compilato il kernel a manina o con genkernel?

----------

## MadMac

 *fedeliallalinea wrote:*   

> Come hai compilato il kernel a manina o con genkernel?

 

Come detto in precedenza ho provato in entrambi i modi.

Se utilizzo i file generati da genkernel la situazione e' quella descritta. Se utilizzo invece il file generato con "make install" il risultato e' che al boot mi viene la schermata nera, anzi si spegne il PC. (Si sente il click del power down).

Recapitolando... ho seguito la guida per il passaggio da 2.4 a 2.6...patch ecc.  Mi sono perso un po' nei settaggi da eseguire.... comunque ho completato, preparato il boot, lilo ed al restart, scelto gentoo2.6 schermata nera. Stop.

Riparto, sposto il link /usr/src/linux dal kernek 2.4 al nuovo 2.6 (altrimenti genkernel mi rifa' il 2.4) lancio genkernel che completa senza errori e mi suggerisce i dati "ram0 e real_boot".

Questi non sono riconosciuti da LILO che genera errore all'installazione (/sbin/lilo). Ravanando ravanando nei vari post trovo la soluzione dell'append. OK passo all'attuale LILO (postato prima).

Al boot ricevo l'errore segnalato.

Se inserisco init=/linuxrc nell'append prima di real_boot , l'errore di prima punta a linuxrc. Il che mi fa pensare che il problema sia uno step prima, cioe' boot=/dev/ram0 non riconosciuto o qualcosa di simile.

Di qui la domanda.... Ma si dovra' mica mettere il /dev/ram0 in fstab?

e di qui anche il desiderio di dire OK ho scherzato ora rimuovo tutto e riparto con emergere il nuovo kernel. Non ci sono esempi in giro sull'uso di  LILO con il kernel 2.6 se non quello che ho trovato in un post su altro forum.

MadMac

----------

## fedeliallalinea

 *MadMac wrote:*   

> Di qui la domanda.... Ma si dovra' mica mettere il /dev/ram0 in fstab?

 

No non devi metterlo in fstab. Prova a togliere dal tuo lilo.conf root=/dev/ram0.

----------

## MadMac

 *fedeliallalinea wrote:*   

>  *MadMac wrote:*   Di qui la domanda.... Ma si dovra' mica mettere il /dev/ram0 in fstab? 
> 
> No non devi metterlo in fstab. Prova a togliere dal tuo lilo.conf root=/dev/ram0.

 

Provato a toglierlo..

Il risultato e' che si blocca nel boostrap e chiede di inserirlo....

Step 4: determining root device

Root block device unspicified or not detected.

Please specify a device to boot or "shell" for a shell.

Ora l'unico che ottiene di avanzare e' /dev/ram0.

Poi l'errore diventa

* Root filesystem could not be mounted read/write  :Sad: 

Mi fa pure la faccina intristita......

Ora riprovo varie combinazioni di ordine di inserimento nell'append.... non vorrei che ci sia un ordine ben definito di inserimento delle istruzioni...

Per esempio se inserisco init =/linuxrc tra ram0 e real_boot l'errore detto sopra diventa che non puo' fare il check del filesystem perche' montato read/write.....  :Sad: 

MadMac

----------

## randomaze

 *MadMac wrote:*   

> 
> 
> ```
> 
> append ="root=/dev/ram0  real_root =/dev/hda10 splash=silent  hdd=ide-scsi"
> ...

 

mi sa che c'é uno spazio di troppo. 

```

real_root=/dev/hda10

```

----------

## MadMac

Niente da fare....

In /boot mi trovo un po troppa roba relativa al kernel 2.6.4:

La lista:

bzImage-2.6.4-rc1

link config --> config-2.6.4-rc1

initrd-2.6.4-rc1  <file di genkernel>

kernel-2.6.4-rc1  <file di genkernel>

link System.map --> System.map-2.6.4-rc1

link vmlinuz  --> vmulinuz-2.6.4-rc1

per kernel 2.4.20-gentoo-r5

initrd-2.4.20-gentoo-r5

kernel-2.4.20-gentoo-r5

System.map-2.4.20-gentoo-r5

Quindi il kernel 2.4.20 per il boot presumo usi il System.map di 2.6.4 cosi' per gli altri link... ma la cosa non disturba a quanto pare.

Gli unici esclusivi sono initrd e kernel.

Questo l'avviso a completamento di genkernel:

```

*

* Kernel compiled successfully!

* Required Kernel Params:

*   : root=/dev/ram0 init=/linuxrc real_root=/dev/$ROOT

*     where $ROOT is the devicenode for your root partition as

*     you should have specified in /etc/fstab

*

* You MUST tell your bootloader to use the generated initrd

*

* Recommended Kernel Params:

*   : vga=0x317 splash=verbose

*

* Do NOT report kernel bugs (configs included) as genkernel bugs.

* Make sure you have the latest genkernel before reporting bugs

*

* For more info see /usr/share/genkernel/README

```

Ho ricompilato e rifaccio alcune prove.... ma quali sarebbero i file da utilizzare per il boot (non creati da genkernel) bzImage-2.6.4-rc1 oppure 

vmlinuz o nessuno dei due?

----------

## MadMac

Editato per errore ... vedi il post successivo.

Ma cazzolina mi ha cancellato tutto..... confuso edit con reply mi sa...

..... so' sfigato.Last edited by MadMac on Thu Mar 18, 2004 11:41 pm; edited 3 times in total

----------

## fedeliallalinea

Non demordere prima o poi metterai a posto tutto.

----------

## MadMac

 *fedeliallalinea wrote:*   

> Non demordere prima o poi metterai a posto tutto.

 

Ok certamente....ora devo sopprassedere per mancanza di tempo.

Devo completare alcuni lavori e poi torno alla carica. Solo non vorrei cambiare LILO perche' mi pare che ci sia qualche problema con le partizioni windows usando grub (testo anche win98). Per quel che mi serve va bene anche il kernel 2.4 basta che mi giri apache/php/mysql e un po di browser....  Sono ancora lontano da utilizzare linux come macchina da ufficio, anche perche' poi devo compartire dati con altri winzozzi.

Ho pure un slackware 9.1 come tester ma la gentoo la trovo piu' facile. Sempre che non smarroni come ora. Ma il supporto e la documentazione sono magnifici.

Grazie dell'aiuto ci risentiamo.

MadMac

----------

## fedeliallalinea

 *MadMac wrote:*   

> Grazie dell'aiuto ci risentiamo.

 

A presto allora.

----------

## shev

 *MadMac wrote:*   

> Solo non vorrei cambiare LILO perche' mi pare che ci sia qualche problema con le partizioni windows usando grub (testo anche win98)

 

Che problemi? Per mia esperienza posso dirti che non ci sono problemi, grub va bene con molti OS diversi. Se hai riferimenti precisi ai problemi che dici mi interesserebbero molto, grazie  :Smile: 

----------

## randomaze

 *MadMac wrote:*   

> Devo completare alcuni lavori e poi torno alla carica. Solo non vorrei cambiare LILO perche' mi pare che ci sia qualche problema con le partizioni windows usando grub (testo anche win98). Per quel che mi serve va bene anche il kernel 2.4 basta che mi giri apache/php/mysql e un po di browser....  Sono ancora lontano da utilizzare linux come macchina da ufficio, anche perche' poi devo compartire dati con altri winzozzi.
> 
> 

 

Con calma vedrai che metti tutto a posto.

Per il boot-loader... verso le partizioni win non dovrebbero esserci problemi, ne con lilo né con grub.

----------

