# Avvio gentoo si blocca a gs_change

## sampei

salve a tutti, sono anni che uso ubuntu ma adesso vorrei provare qualcosa di più performante e ho scelto di installare gentoo, è già 2 volte che provo ad installarlo seguento il manuale di installazione e sembra andare tutto bene solo che quando faccio il primo avvio di gentoo il kernel si blocca sulla riga di gs_change e non va avanti senza dare nemmeno nessun messaggio d'errore, la configurazione del grub dovrebbe andare bene perchè windows mi parte tranquillamente, cosa può essere?

----------

## ago

Prova a postare uno screenshot

----------

## sampei

per lo screenshot ho fatto una foto col cellulare visto che non essendo avviato il sistema operativo non posso salvare nessuna immagine direttamente dallo schermo, comunque è abbastanza leggibile ma come faccio a postarla? non trovo il modo di inserire le immagini qua nel forum

----------

## ago

usa imageshack

----------

## sampei

giusto, non ci avevo pensato, ecco lo screenshot http://imageshack.us/photo/my-images/4/02062011p.jpg/

----------

## sampei

e aggiungo che tutte e 2 le volte che ho provato ad installare gentoo si fermava sempre a questo identico punto, la prima volta avevo seguito la guida in tutto tranne che sulle partizioni perchè avendo anche windows avevo installato il grub direttamente sull'mbr senza creare la partizione di boot, tutti i file per il boot erano nella stessa partizione di gentoo e il risultato era che il grub si avviava, scegliendo windows si avviava pure ma quando sceglievo di avviare gentoo si bloccava in questo punto

Allora ho pensato che avevo fatto qualche casino con le partizioni e ho reinstallato tutto creando anche la partizione di boot così la guida era seguita proprio alla perfezione ma il risultato è identico, avviando windows da grub funziona tutto ma quando provo ad avviare gentoo si blocca in quel punto quindi mi sa che la partizione di boot me la potevo risparmiare perchè il difetto deve essere un altro ma quale?

PS le installazioni non le ho fatte dal cd minimale di gentoo ma da una live di ubuntu, e per montare il file proc, per estrarre lo stage e per eseguire il chroot ho seguito la guida dell'installazione alternativa http://www.gentoo.org/doc/it/altinstall.xml quindi penso di non aver sbagliato niente

----------

## ago

ma più sopra visualizzi kernel panic?

----------

## cloc3

 *ago wrote:*   

> ma più sopra visualizzi kernel panic?

 

in effetti non si vede abbastanza.

prova a ricompilare il kernel escludendo i driver usb, così si riesce a leggere l'errore iniziale.

----------

## sampei

per oggi non faccio in tempo a provare, proverò a disattivare i driver usb domani, però vi posso dire che le righe cambiano spesso ordine e a volte vi posso confermare che la scritta kernel panic compare poco prima dell'ultima riga, altre volte come in questo caso no, comunque come ho già detto l'ordine delle righe cambia spesso ma l'ultima riga è sempre quella di gs_change, si blocca sempre lì, domani posterò lo screenshot dopo che avrò disattivato i driver usb

----------

## ago

Se il problema è un kernel panic ti dice anche relativo errore....se non riesci a fare una foto fai un video mentre fa il boot  :Wink: 

----------

## sampei

allora, ho disattivato i driver usb e questa volta nella schermata si vede il kernel panic, l'immagine è questa http://imageshack.us/photo/my-images/12/03062011.jpg/

----------

## darkmanPPT

quell'errore:

1) controlla di aver inserito i driver per il filesystem che stai usando (dentro "filesystem", nella conf. del kernel). metti i driver dei filesystems come build-in ("*") e non moduli ("M").

2) controlla di aver inserito correttamente la root in grub

----------

## sampei

Allora, dal live di ubuntu ho preso gli screenshot del kernel, delle partizioni e del grub, questo è il kernel http://imageshack.us/photo/my-images/840/kernelo.png/, la partizione di gentoo è in ext4 e come vedete ho messo il supporto per ext4, quella di boot invece è in ext2 ma non vedo voci che riguardano l'ext2, non so, forse è supportato nativamente senza bisogno di configurare il kernel? Io per sicurezza ho messo pure l'ext3, forse il supporto per l'ext2 è incluso in quello dell'ext3, non so. Poi in basso ovviamente in basso non si vede ma ho messo il supporto per le partizioni ntfs in lettura e scrittura per leggere anche la partizione windows e soprattutto quella dati

le partizioni sono queste http://imageshack.us/photo/my-images/828/partizioni.png/, in sda1 c'è windows, in sda2 c'è gentoo, sda4 è la partizione che utilizzo per i dati (documenti, immagini, musica, video ecc.) ed è in ntfs perchè la condivido con windows, in sda5 c'è lo swap e in sda6 c'è il boot di gentoo, visto che non è permesso creare più di 4 partizioni ho creato la partizione estesa sda3 e in questa sono incluse solamente lo swap(sda5) e il boot(sda6), tutte le altre sono partizioni primarie.

Questo invece è il grub.conf http://imageshack.us/photo/my-images/4/grub.png/, mi sembra di averlo configurato bene infatti windows 7 parte, e gentoo comunque sembra voler partire prima di bloccarsi in quel punto mentre se cambio partizione dice subito che non trova il kernel, quindi penso di averlo settato correttamente, per favore controllate e ditemi gli errori che trovate perchè io proprio non capisco

Una cosa strana che posso aggiungere è che quando vado in chroot, quando do il comando env-update non fa subito

>>> Regenerating /etc/ld.so.cache...

ma fa

PORTAGE_BZIP2_COMMAND setting is invalid: 'bzip2'

PORTAGE_BZIP2_COMMAND setting from make.globals is invalid: 'bzip2'

>>> Regenerating /etc/ld.so.cache...

forse quei 2 errori incidono sul funzionamento del kernel?

----------

## cloc3

l'errore segnala un tentativo di eseguire un boot da rete.

ricompila il kernel senza l'opzione CONFIG_IP_PNP nel percorso:

```

Networking Support

       --->Networking options

              --->IP: kernel level autoconfiguration

```

----------

## darkmanPPT

nota che:

"second extended fs support" = ext2

ti chiedo di fare anche questo:

in Device drivers --->

   <*> Serial ATA and Parallel ATA drivers  --->

attiva i driver che ti servono. ad esempio sul mio portatile dove ho un hd sata e gira una architettura amd (athlon64) ho:

[*]   Verbose ATA error reporting            

[*]   ATA ACPI Support                                    

[*]   SATA Port Multiplier support           

<*>   AHCI SATA support          

[*]   ATA SFF support       

[*]     ATA BMDMA support   

<*>       AMD/NVidia PATA support           

lo so, molti non c'entrano molto. ma così a me va. controlla di metterli sempre come "*" build-in e non come moduli.

cmq secondo me è solo un problema di filesystem di cui non hai il driver installato.

se compili e da il reboot, hai lo stesso errore?.

--------------------------------

 *Quote:*   

> sda2 c'è gentoo, in sda5 c'è lo swap e in sda6 c'è il boot di gentoo

 

http://openskill.info/infobox.php?ID=380

 *Quote:*   

> title Red Hat Linux (2.4.9-31) Titolo della prima label, può essere un testo arbrario
> 
> root (hd0,2) Disco (0, 1, 2...) (e partizione, dove 0 è la prima partizione e le altre a seguire) dove si trova la root directory ( / ). Notare che Grub ha una propria naming conventon sugli hard disk diversa da quella tipica di Linux: hd0 può corrispondere sia a /dev/hda che a /dev/sda.
> 
> kernel /boot/vmlinuz-2.4.9-31 ro root=/dev/hda3 Path dell'immagine del kernel. Qui possono essere definite eventuali opzioni da passare al kernel (es: vga=ext)
> ...

 

tu hai

root(hd0,5)  

root=/dev/sda2

allora, io chiedo venia nel caso (io non uso "/boot" e "/" separate), ma secondo quanto dice questo manuale, le due cose vanno invertite

----------

## sampei

 *cloc3 wrote:*   

> l'errore segnala un tentativo di eseguire un boot da rete.
> 
> ricompila il kernel senza l'opzione CONFIG_IP_PNP nel percorso:
> 
> ```
> ...

 

Sono andato nel percorso che dici ma non c'è l'opzione che dici tu, ci sono queste 3 opzioni

IP: DHCP support

IP: BOOTP support

IP: RARP support

e io ho disattivato il secondo viso che si chiama Bootp e ho pensato che potesse centrare con il boot ma non ho risolto niente, poi in file system ho visto che era impostato come builtin Network File System e io l'ho disattivato visto che non penso di usare Network File System ma non ho risolto niente, l'errore è sempre lo stesso

----------

## sampei

 *darkmanPPT wrote:*   

> nota che:
> 
> "second extended fs support" = ext2
> 
> ti chiedo di fare anche questo:
> ...

 

Ho visto che dopo che seleziono la voce che mi hai detto mi escono le impostazioni per l'ext2 e le ho impostate tutte come builtin ma non ho risolto niente, sono andato in serialAta e ParallelAta driver e le voci che mi consigli erano già tutte attive.

La guida che mostri tu in effetti dice che nel grub le partizioni devono essere messe al contrario ma nella guida di installazione di gentoo dice di mettere le partizioni come ho fatto io, in root(hd0,0) quella di boot e in root=/dev/sda3 quella di root. Infatti ho provato a cambiarle come hai detto tu e in quel caso mi da subito errore perchè dice che non trova l'immagine del kernel, impostandolo come ho fatto io invece almeno l'avvio parte, si blocca sempre in quel solito punto e non riesco a capire il perchè

----------

## cloc3

 *sampei wrote:*   

> 
> 
> Sono andato nel percorso che dici ma non c'è l'opzione che dici tu, ci sono queste 3 opzioni
> 
> 

 

sì che esiste.

le tre opzioni di cui parli sono i tre strumenti disponibili per effettuare un boot da rete.

se elimini l'opzione che dico io, le tre tue spariscono automaticamente.

fino a quando tu non elimini quella voce, non ne salti fuori.

il kernel parte, cerca una connessione via ethernet, non la trova e si pianta.

tutto quello che dice darkmanPPT può avere un senso, ma è assolutamente inutile, fino a quando il tuo kernel non si decide a dare un occhio al bus della scheda madre.

 :Rolling Eyes: 

p.s.: adesso che abbiamo trovato la causa vera del'errore, puoi rimettere i driver usb (magari come moduli).

----------

## sampei

ma infatti io non sto dicendo che non esiste, sto dicendo che non la trovo in quel punto forse perchè il kernel che sto installando è il nuovo (il 2.6.39) e hanno messo quell'opzione da qualche altra parte, infatti ci sono altre opzioni che trovo in posti diversi rispetto a dove dicono alcune guide e altre che non le trovo proprio, per esempio la mia scheda di rete wireless è una intel link 5100 e leggendo una guida su internet ho letto che in network drivers devo abilitare Intel Wireless WiFi 5000AGN; Intel WiFi Link 1000, 6000, and 6050 Series ed è proprio l'unica opzione che manca, le altre Intel Wireless WiFi 4965AGN e Intel Wireless WiFi 3945AGN ci sono ma quella che serve a me non c'è, comunque io ho attivato tutte le opzioni che riguardano l'intel wifi e quando dalla live di ubuntu sono in chroot e faccio l'iwconfig sembra che trova la mia scheda wifi, forse i driver delle schede intel 5000 li hanno inclusi in un'altra opzione di quelle che ho selezionato, con questo voglio dire che forse in questo nuovo kernel hanno eliminato o spostato alcune opzioni e quella che dici tu chissà dov'è, io nel percorso che mi indichi tu non sono riuscito a trovarla, comunque sono proprio contento che forse abbiamo almeno capito dove sta il problema, cercherò di controllare ogni singola opzione per trovare quella che dici tu, comunque non è che basterebbe eliminare solo IP: kernel level autoconfiguration che così elimina tutte le opzioni al suo interno? all'interno ci sono solo quelle 3 che ti ho indicato ma CONFIG_IP_PNP non c'è

----------

## cloc3

 *sampei wrote:*   

>  ma  non c'è

 

forse su questo sono io a non essere stato chiaro.

non può essere che l'opzione sia stata spostata, perché si tratta di un strumento fondamentale nella struttura di networking che non si tocca per capriccio.

in menuconfig, però, non devi aspettarti di trovare la stringa CONFIG_IP_PNP.

quella si può leggere con un grep su .config:

```

cloc3@s939 ~ $ grep CONFIG_IP_PNP /usr/src/linux/.config

# CONFIG_IP_PNP is not set

```

per settare le cose come nel mio esempio dei deselezionare la voce alla riga sopra di "IP: DHCP support".

hai trovato IP: DHCP support , quindi devi trovare anche al voce che dico io.

appena l'avrai deselezionata, le tre opzioni di scelta che hai indicato devono scomparire.

esci da menuconfig salvando e ricompila.

----------

## darkmanPPT

dentro il make menuconfig per cercare le voci fai così

digita "/" per cercare all'interno. digita la stringa che ti interessa (in questo caso CONFIG_IP_PNP) e lui ti dirà dove si trova.

se non la trovi nel percorso che ti han suggerito, prova così e così potrai vedere dove si trova nel tuo kernel (probabilmente si trova nella stessa posizione ma forse t'è sfuggito).

nota anche che il search ti dice anche quando e in che modo la voce cercata si attiva (magari dipende da altre voci), etc...

----------

## sampei

allora amici, ho fatto la ricerca come ha suggerito darkmanPPT e mi indica che le opzioni di Config_IP_PNP sono quelle 3 che ho trovato e io ho disattivato direttamente IP: kernel level autoconfiguration che elimina automaticamente quelle 3 voci, adesso quando sono in chroot e lancio il comando grep CONFIG_IP_PNP /usr/src/linux/.config mi da come risultato # CONFIG_IP_PNP is not set, quando vado a riavviare mi da sempre lo stesso errore e si blocca sempre nello stesso punto.

----------

## cloc3

 *sampei wrote:*   

> quando vado a riavviare mi da sempre lo stesso errore e si blocca sempre nello stesso punto.

 

l'errore è quello, non ci sono grandi dubbi che il guasto sia lì.

probabilmente hai rilanciato di nuovo il kernel precedente.

ti suggerisco una procedura un pochino prolissa per evitare il problema.

1. mv /usr/src/linux/.config /root #assicurati, ovviamente, che l'opzione CONFIG_IP_PNP sia disattivata

2. cd /usr/src/linux

3. rm /lib/modules/<tua versione del kernel> -rf

3. make mrproper;

4.  rimuovi la vecchia versione del kernel dall cartella boot

5. crea il tuo nuovo kernel con genkernel e mettilo nella boot.

se stai usando il cdrom di gentoo, un'altro sistema per configurare il kernel è usare la configurazione del cdrom stesso.

dopo aver caricato il filesystem in /mnt/gentoo e prima del chroot, digita:

```

# zcat /proc/config.gz >/mnt/gentoo/usr/src/linux/.config # assumo che il link linux sia correttamente definito

```

----------

## darkmanPPT

uhm... cavolo. speravo si risolvesse tutto.

comunque vorrei far notare l'errore

 *Quote:*   

> ROOT-NFS: no NFS server address
> 
> unable to mount root fs via NFS
> 
> cannot open root device sda2 
> ...

 

uhm... fammi indovinare però una cosa....

tu come l'hai ricompilato il kernel?

nel senso:

hai modificato le opzioni? immagino di si

hai cambiato il subversion? "General setup --> local version" (questa è una stringa che sia aggiunge al kernel che stai "creando" in modo da distinguierlo dagli altri della stessa serie. Ad esempio io uso una numerazione crescente. parto da "1" e mano a mano cresco ogni volta che faccio modifiche sulla versione specifica. cambi versione del kernel? ( tipo da 2.6.36 a 2.6.38 ) allora riparti da 0 e così via. )

hai compilato facendo un bel "make; make modules; make modules_install; make install" ?

hai aggiornato grub correttamente? intendo, facendolo puntare a /boot/vmlinuz che è un symlink al kernel più recente.

e riavviando hai lo stesso stesso stesso stesso problema?

----------

## sampei

io quando ricompilo il kernel non uso numeri delle le subversion, io faccio così

modifico le impostazioni con il make menuconfig e quando esco salvo, poi compilo con il comando make && make nodules_install, a questo punto penso che la nuova configurazione del kernel sovrascriva in arch/x86_64/boot/bzImage la vecchia e io con il comando cp arch/x86_64/boot/bzImage /boot/kernel-2.6.39-gentoo penso di sovrascrivere l'immagine del vecchio kernel, sbaglio qualcosa? visto che sovrascrivo l'immagine del kernel il grub non lo modifico visto che per ora il kernel che chiama è sempre quello con lo stesso nome. Ovviamente ho usato è sempre stato il 2.6.39 quindi non ho mai cambiato il suo nome, se domani dovesse uscire la 2.6.40 allora in quel caso cambierò il nome e quindi riconfigurerò il grub, ma per ora ho sempre fatto così, sbaglio qualcosa?

----------

## cloc3

 *sampei wrote:*   

> sbaglio qualcosa?

 

no. ma se, dopo aver tolto un'opzione, il kernel torna ad eseguire l'operazione associata a quella stessa opzione, si deve pensare che sia stato riavviato il kernel precedente.

a volta, /boot viene montata in sola lettura e, al momento di fare il copy, si dimentica di rimontare /boot read-only.

in questi casi, normalmente, si ignora persino il warning di cp, che fallisce la copia.

parlo per esperienza diretta, che ci ho sputato pallini su queste cose.

----------

## sampei

per sicurezza ho ricompilato il kernel, questa volta nel menuconfig c'erano già le impostazioni che avevo lasciato l'ultima volta quindi non ho dovuto modificare niente, ho fatto i soliti passaggi ma ancora una volta gentoo non ne vuole sapere di avviarsi, forse sto antipatico a gentoo?

----------

## darkmanPPT

 *Quote:*   

> per sicurezza ho ricompilato il kernel, questa volta nel menuconfig c'erano già le impostazioni che avevo lasciato l'ultima volta quindi non ho dovuto modificare niente, ho fatto i soliti passaggi ma ancora una volta gentoo non ne vuole sapere di avviarsi, forse sto antipatico a gentoo?

 

si, ma hai seguito i 5 punti che clock ti ha suggerito?

... e il problema rimane sempre lo stesso?

inserisci al più una local version, così sei sicuro che non stai caricando sempre lo stesso. visto come stanno le cose secondo me davvero stai ogni volta ricaricando sempre lo stesso kernel.

assicurati di *cancellare* il vecchio kernel (onde fugare dubbi).

----------

## sampei

[quote="darkmanPPT"] *Quote:*   

> si, ma hai seguito i 5 punti che clock ti ha suggerito?

 

Caspita, non so come ha fatto a sfuggirmi ma il post di cloc con i 5 punti per evitare di caricare lo stesso kernel non lo avevo proprio visto, ho letto i messaggi che venivano dopo ma quello mi è sfuggito, proverò a seguire quei 5 punti e domani vi faccio sapere come va

----------

## sampei

salute ragazzi, eccomi tornato, durante la settimana non ho avuto tempo per provare a ricompilare il kernel ma tra ieri e oggi le ho provate tutte, ho seguito alla lettera i 5 punti che mi ha consigliato cloc ma con un unica differenza, il kernel lo devo compilare come al solito manualmente perchè perfino genkernel ce l'ha con me e non mi vuole funzionare, comunque ricompilando manualmente il kernel ho disattivato l'opzione che dovrebbe essere la colpevole ma i risultato è sempre quello, sempre lo stesso errore.

Allora poi mi sono rotto e ho formattato la partizione di gentoo e con il cd di windows ho eliminato grub, ho reinstallato tutto dall'inizio così ho la sicurezza che non resta memorizzato nessun vecchio kernel, solo che questa volta invece di usare il cd live di ubuntu che non mi permette di usare genkernel perchè non ha il file config in /proc, ho usato il live di gentoo che ha il file config in /proc e infatti questa volta riesco a far partire genkernel ma durante la compilazione mi da un errore e quindi non lo posso usare. Allora come prima ho compilato il kernel manualmente e ho subito disattivato l'opzione che devo disattivare, poi ho installato gentoo senza separare la partizione di boot così non ci sono più dubbi nemmeno nella configurazione di grub visto che partizione di boot e di root sono le stesse, e con mia grande sorpresa quando sono andato a riavviare che cosa mi è uscito? sempre lo stesso errore, non so più dove sbattere la testa, non vi viene in mente qualche altra opzione che dovrebbe essere disattivata?

----------

## darkmanPPT

ciao, mi faresti dunque un resoconto più dettagliato?

"/" che partizione è ora?

conf di grub di adesso?

per il kernel, fai così, usa la configurazione che c'è nel livecd. 

```
zcat /proc/config.gz > /usr/src/linux/.config
```

mo' quello andrà di sicuro. poi lanci un bel

```
make menuconfig; 

general setup--->local version: "2"
```

salva ed esci.

```
make; make modules; make modules_install; make install
```

e POI scrivi su grub di caricare *quel* kernel che ti ha generato (e già copiato dentro /boot )

se quella configurazione del kernel del livecd va, perchè non riusarlo?

----------

## djinnZ

se proc è leggibile dal chroot potresti anche provare make localyesconfig/localmodconfig.

la sequanza coretta direi più che sarebbe

```
cd /usr/src/linux

make distclean

zcat /proc/config.gz > .config

make oldconfig/silentolconfig

make menuconfig/xconfig
```

e per installare

```
make install modules_install firmware_instll
```

Personalmente, nella mia pigrizia, preferisco risparmiarmelo codesto sbattimento ed usare genkernel (usare che ovviamente non è lanciare "alla cecata" genkernel all) ma "de gustibus non sputazzellam" si diceva...

make help per l'elenco e per verificare se ho scritto male qualcosa

----------

## sampei

adesso la partizione di root è in sda2 e i file per il boot sono tutti nella cartella boot sempre in sda 2, poi in sda1 c'è la partizione di windows, in sda3 la swap e in sda4 una partizione ntfs per i dati. la configurazione di grub è questa

default 0

timeout 30

splashimage=(hd0,1)/boot/grub/splash.xpm.gz

title Gentoo Linux 2.6.39-r1

root (hd0,1)

kernel /boot/kernel-2.6.39-gentoo-r1 root=/dev/sda2

title Gentoo Linux 2.6.39-r1 (rescue)

# Partizione dove si trova l'immagine del kernel o il sistema operativo

root (hd0,1)

kernel /boot/kernel-2.6.39-gentoo-r1 root=/dev/sda2 init=/bin/bb

title Windows 7

rootnoverify (hd0,0)

makeactive

chainloader +1

per genkernel io ho usato la configurazione che c'è nel livedvd di gentoo ma mi da errore, dici quella del livecd è diversa? in questi giorni la proverò

----------

## djinnZ

 *sampei wrote:*   

> per genkernel io ho usato la configurazione che c'è nel livedvd di gentoo ma mi da errore

 bada che c'è un errore nella documentazione per riciclare le configurazioni è meglio usare cp vettelappesca /etc/kernels/vattelappiglià...  :Wink:  *sampei wrote:*   

> init=/bin/bb

   :Shocked:   :Question:   :Twisted Evil:  

----------

## cloc3

 *djinnZ wrote:*   

>  *sampei wrote:*   init=/bin/bb     

 

quello è l'accesso secondario, in modalità di recupero.

alla peggio si stamperebbe cercando il file bb, se non fosse installato busybox.

lui usa come riga di avvio di default la precedente e l'errore si verifica prima. adesso il tutto comincia ad apparire misterioso, dopo tutte quelle manovre di ricompilazione.

prova ad avviare direattamente con il kernel del cd.

copia il kernel del cdrom da cui sei partito (non importa se gentoo o di alra distribuzione) dentro la cartella di boot.

poi copia la cartella /lib/modules/<versione del kernel del cdrom> dentro la tua installazione allo stesso percorso.

aggiungi una riga in grub.conf e lancia il sistema con quella.

così vediamo cosa succede.

p.s.: tante volte i  cd usano anche il file initrd. aggiungile nella cartella di boot e dichiarala con una riga apposita in grub.conf.

----------

## djinnZ

 *cloc3 wrote:*   

> 
> 
> ```
> [quote="djinnZ"][quote="sampei"]init=/bin/bb[/quote] [url=http://forums.gentoo.org/viewtopic-t-569975.html]  :?: :twisted: [/url][/quote]
> ```
> ...

 eppure dovresti essere avvezzo alla mia acrimonia nel rispondere  :Laughing: 

Ovvero, rispondendo più civilmente: ma è bb? Mi pare che dava qualche problema. 

Tornando più sciatto e rompiscatole butto giù qualche suggerimento:Visto che non usi l'initrd potresti controllare da una live che la di /dev non sia vuota, nel caso vattela a prendere dallo stage3.

Controlla che non ti ritrovi i driver deprecati PATA nella conf del kernel (non è che hai quel solito maledetto intel che funziona anche con driver legacy anche se è sata? nelle conf dei kernel per livecd è abilitato di norma)

emerge -1 genkernel (rileggendo mi par di capire che ti sei riferito a quell'idiozia scritta sulla guida, se vuoi usare una tua conf devi copiarla in /etc/kernels non in /usr/vattelappesca te lo ripeto)

rm -Rf /var/tmp/genkernel ; rm -Rf /var/tmp/portage/* ; rm /usr/src/linux ; emerge -1 gentoo-sourcesgenkernel --menuconfig kernel o cd /usr/src/linux e vai di make ...

NB: se la conf non proviene dallo stesso kernel (ma anche dopo una patch "corposa" che modifica le variabili del make) non passare per un rapido make oldconfig è da ...oni nella mia modestissima opinione.

Un'ultima domanda: non è che stai usando una live a 32 per costruire un kernel a 64 o viceversa? Mi auguro di no, perché nel caso ti mando giggig sottocasa a spezzart'e cosce...  :Twisted Evil: 

----------

## sampei

buone notizie ragazzi, sono finalmente riuscito a far partire gentoo, 

innanzi tutto djinnZ stai tranquillo, non mi sarebbe mai venuto in mente di installare la versione a 64 bit con la live a 32 bit, anche se personalmente penso che non ci dovrebbero essere problemi ad installare la versione a 64 bit da una live a 32 bit, l'importante non è scaricare lo stage a 64 bit? almeno da quanto ho capito io penso che dovrebbe funzionare, al massimo potrebbe dare problemi se uno prende la configurazione del kernel dal cd, ma anche in quel caso penso che prende solo le opzioni, quindi dovrebbe funzionare lo stesso, o no? comunque ho provato a seguire i tuoi consigli ma mi dava sempre errori di tutti i tipi quando chiamavo make oldconfig/silentolconfig, make menuconfig/xconfig e make install modules_install firmware_instll e io che sono nuovo in gentoo ed è la prima volta che compilo un kernel non sapevo proprio dove sbattere la testa

allora poi ho riformattato tutto un'altra volta e questa vota ho compilato il kernel con genkernel usando la configurazione del livedvd di gentoo senza modificare nemmeno una opzione e mi dava un errore ma ho capito che l'errore si trovava in device driver>general setup>external firmware blobs to build into the kernel binary, ho semplicemente cancellato tutta la stringa che si trovava la dentro modificando l'opzione con il comando genkernel --menuconfig all e ancora una volta mi dava un errore. Ho capito che aveva bisogno del comando lzop che non era installato, allora l'ho installato con emerge e finalmente mi ha compilato tutto e quando ho riavviato è partito.

Certo non sono contentissimo visto che non ho modificato nemmeno un opzione nel kernel, ho lasciato un sacco di moduli che non mi servono e non ho nemmeno selezionato il mio processore(l'ho lasciato generico), però visto che è la prima volta che uso gentoo per ora mi accontento così, l'importante è riuscire a far partire gentoo per prendere confidenza con i suoi comandi e con il suo modo di installare i programmi, e magari in questigiorni proverò a ricompilare il kernel modificando poche operazioni per volta, così almeno se trovo l'errore riesco a capire qual'è

Grazie a tutti ragazzi e mi risentirete presto quando sicuramente troverò altri intoppi (perchè sono sicuro che ne troverò) nell'installazione del server x, gnome ecc. ecc.

----------

## djinnZ

Da una installazione a 32 non puoi costruire un kernel a 64 con le impostazioni di base, dovresti fare un crossbuild ed è "complicato".

E genkernel si incasina se provi a compilare un kernel 32 da una 64 invece.

Ti ribadisco che copiare la conf del kernel in /usr è sbagliato, parti dal kernel predefinito di genkernel mettendo builtin quel che ti serve e disabilitando quello che non ti serve.

Per i componenti HW invece leggi qui e qui.

Vedi che i comandi vanno verificati (l'errore di battuta capita) e spero che non avrai lanciato make oldconfig/silentoldconfig intendevo o make oldconfig o make silentoldconfig 

Basta lanciare un make help in /usr/src/linux...  :Twisted Evil: 

----------

## cloc3

 *djinnZ wrote:*   

> E genkernel si incasina se provi a compilare un kernel 32 da una 64 invece.

 

  :Rolling Eyes:  

diciamo che serve un po' di organizzazione, ma, per il resto, dal grande al piccolo si può sempre far tutto.

----------

## djinnZ

Tanto lo so che non lo usi ed è una curiosità accademica ma non funziona proprio, se usi la variabile del kernel genkernel continua a pensare che sia un kernel 64 e si schianta se usi le opzioni genkernel il make di linux va avanti lo stesso a 64 (in realtà ho risolto usando entrambe ma il bug c'è).

 *sampei wrote:*   

> innanzi tutto djinnZ stai tranquillo

 perchè ho semnpre l'impressione che mi prendano sul serio?

----------

## sampei

come ho detto più volte è la prima volta che compilo un kernel quindi non sono pratico con i comandi da usare, ho visto che mi hai scritto make oldconfig/silentoldconfig e io ho usato il comando così come era scritto, adesso ho usato solo silentoldconfig e poi con make menuconfig ho impostato tutto e per ora sta compilando, vedremo se dopo riesco a farlo partire con un kernel più leggero, altrimenti tengo quello che sono riuscito a far partire anche se ha moltissimi moduli inutili.

comunque io prima di usare genkernel ho sempre usato il make menuconfig senza usare il silentold config e forse eliminavo qualcosa di troppo e non mi partiva, mi dava sempre l'errore che ho detto all'inizio (anche se quando ero insicuro non eliminavo nessuna opzione di quelle di base), ora ho lasciato più opzioni del solito, anzi a parte i moduli dei driver inutili ho eliminato solo l'opzione che consigliava di eliminare cloc, vediamo così se va

----------

## cloc3

ottimo.

a questo punto, per prendere confidenza con gli strumenti di sistema, bisogna imparare a rifersi alle documentazioni originali.

come ad esempio man genkernel o, dall'interno della cartella /usr/src/linux, mak help.

quanto alla pulizia del kernel, è un'opera di sisifo.

comunque, per accedere ad alcune informazioni affidabile, si può usare make xconfig o l'help di make mencuonfig (tasto h.

un modo per distinguere quello che è assolutamente indispensabile è digitare il comando lsmod che restituisce la lista dei moduli attivi.

una scelta ragionevole può essere quella di compilare builtint tutti quei moduli lì.

tenendo presente che motli altri moduli possono ritornare utili incidentalmente per qualche periferica o per qualche servizio non utilizzato attualmente.

----------

## djinnZ

@cloc3: ti se dimenticato lspci e lsusb

Diciamo che in linea di massima potresti pensare di usare genkernel --menuconfig all.

La configurazione di base di genkernel è molto modulare ed è una buona base da rifinire (sicuramente migliore.

Da quella poi inizi a rifinire il kernel per l'hardware mettendo builtin quello che ti serve, modulare quello che non ti serve sempre (come un driver per periferica usb, nel mio caso specifico il driver scsi per lo scenner e simili) o che almeno in un primo tempo ti serve provare a configurare attraverso le opzioni dei moduli (come una scheda TV), solo poi quando sei certo di non dover ricorrere a rmmod puoi pensare di metterlo builtin e passare i parametri da linea di comando del kernel.

Man mano troverai la tua configurazione.

Il difetto di genkernel è che non ti consente di vedere la differenza tra i kernel che lanciare make oldconfig ti consente quando ricicli una configurazione.

Nella configurazione di rete (del kernel) non disabilitare nulla sulle prime e limitati sono al fare prove tra modulare e builtin.

Pazienza e documentarsi.

Un ultimo consiglio: verifica sempre molto attentamente quello che ti si consiglia, potrebbe capitare un errore.

----------

## sampei

perfetto grazie a tutti, sono riuscito a far partire un kernel più adatto al mio computer, con molti meno moduli che aveva il kernel con la configurazione del livedvd (anche se sono ancora tanti perchè avevo paura ad eliminarne molti), e adesso con i comandi che mi avete coonsigliato (lsmod, lspci e lsusb) cercherò di renderlo ancora più leggero.

l'unica cosa che non mi è chiara è che alcune cose non me le fa mettere come builtin perchè dice che dipendono da altre cose che sono moduli, diciamo che molte di queste cose mi vanno benissimo come moduli però l'unico grosso problema è che non mi fa mettere come builtin i driver della mia scheda wireless ma non capisco da cosa dipendono e senza di questa non riesco a connettermi, allora visto questi driver li posso mettere solo come moduli ho pensato di far partire questi moduli all'avvio inserendoli in /etc/modules.autoload.d/kernel-2.6 come dice la guida, però non esistono nè il file kernel-2.6 nè la cartella modules.autoload.d in etc, quindi per far partire questi moduli all'avvio basta che mi creo la cartella e il file e la dentro scrivo i moduli da avviare, oppure visto che la cartella non esiste c'è un altro metodo per avviare i moduli all'avvio e questo non serve a niente?

----------

## cloc3

in effetti, con il wireless è un po' un casino.

forse, stai uscendo persino di tema. per altri problemi di questo tipo, apri un nuovo thread.

in media l'opzione modules.autoload è una buona soluzione.

gentoo offre anche uno strumento di apposito di baselayout, che è il file /etc/conf.d/modules .

molto spesso, però i moduli wireless vengono caricati da udev e bisognerebbe capire come mai, nel tuo caso, ciò non avvenga.

per sbloccare le dipendenze di un modulo, ti porto l'esempio dei driver atheros. nel mio sistema, l'help di menuconfig mi dice questo:

```

│ Symbol: ATH_COMMON [=m]                                                                                                                             │  

  │ Type  : tristate                                                                                                                                    │  

  │ Prompt: Atheros Wireless Cards                                                                                                                      │  

  │   Defined at drivers/net/wireless/ath/Kconfig:1                                                                                                     │  

  │   Depends on: NETDEVICES [=y] && WLAN [=y] && CFG80211 [=m]

```

l'ultima riga mi spiega che non posso compilare gli atheros built-in se prima non compilo built-in il modulo CFG80211.

a sua volta, quest'ultimo mi chiederà di compilare come modulo RFKILL.

frequentemente non è possibile compilare built-in i moduli wireless.

spesso, ad esempio, dipendono da un firmware esterno che deve essere ricercato nel filesystem.

quando il kernel si avvia, non accede ad alcun filesystem, e quindi non è in grado di attivarli.

di conseguenza, tenerli come moduli è l'impostazione più comune.

----------

## sampei

lo so che sono uscito un pò fuori tema, infatti per avere aiuti più specificatemente sul wireless in questi giorni aprirò un altro thread, in questo thread volevo informazioni sempre sulla compilazione del kernel e cioè soprattutto su come riuscire a mettere i driver della scheda wireless in builtin oppure, visto che tu suggerisci che è meglio lasciarlo come modulo, se per qulunque modulo che volessi avviare all'avvio il metodo di creare la cartella /etc/modules.autoload.d/ e creare qua dentro il file kernel-2.6 dove mettere i moduli che voglio caricare va bene o no, tu hai detto che va bene quindi provo così, comunque il mio caso è simile al tuo perchè anche a me la scheda chiede di impostare come builtin CFG80211 perchè è impostato come modulo, il problema è che anche questo non me lo fa impostare come builtin, ora cerco l'opzione rfkill e vediamo che succede.

Comunque quando ancora non riuscivo a compilare il kernel, c'era attivata l'opzione device driver>general setup>external firmware blobs to build into the kernel binary dove se non mi sbaglio era inserito anche il nome di un firmware con il nome della mia scheda, solo che c'era uno di questi che mi dava errore durante la compilazione e allora io per sicurezza li avevo cancellati tutti i firmware che c'erano scritti, ora magari provo a rimettere almeno il firmware della mia scheda e vedo che succede

----------

