# [INSTALL] genkernel e casini con il filesystem

## paperp

Ca******ssimo , ieri mi è successa la cosa più brutta.

Io avevo compilato con genkernel sul portatile , ma ieri dovevo ricompilare per abilitare il wireless , solo che con il sistema tradizionale quando sono arrivato a rebootare non mi tirava più su la rete.

Allora ho ripreso genkernel e ricompilato però qualcosa è andato storto perchè mi dava errore..a questo punto è arrivato il fattaccio , mi sono ritrovato con /boot che conteneva tutto l'albero del filesystem!!

Poi sono comiciati ad arrivare un scco di problemi con /etc/ini.d...etc , e no space left on device.

Adesso sono veramente nella cacca perchè il sistema boota , ma emerge non funziona (se afaccio emerge system mi dice che l'arch non è settato o che mi manca /etc/make.profile..)e emerge sync non lo prende perchè eth0 è diventato una interfaccia sconosciuta...cavolo sono isperato erano due mesi che sistemavo questa linuxbox , era tutta settata a modino e mi mancava pochissimo..che cavolo invento .....nojn posso perdere i dati ma soprattutto non voglio perdere tutte le configurazioni.

La bash funziona , programmi come links2 , nano e simili funzionano , robe grafiche assolutamente.Merda.  :Crying or Very sad: [/i]

----------

## randomaze

 *paperp wrote:*   

> La bash funziona , programmi come links2 , nano e simili funzionano , robe grafiche assolutamente.Merda. [/i]

 

Prendi fiato.

Inizia a postare l'output del comandi:

```

#df -k

#mount

#fdisk -l /dev/hdaX

```

----------

## paperp

..ok , appena arrivo a casa faccio..scusate ma sono proprio crollato.  :Crying or Very sad: 

----------

## paperp

ok provo a fare ..

```

#mount

/dev/hda3 on / type xfs (rw,noatime)

devfs on /dev type devfs (rw)

none on /proc type proc (rw)

none on /sys type sysfs (rw)

none on /dev/pts type devpts(rw)

none on /dev/shm type tmpfs (rw)

none on /proc/bus/usb type usbfs (rw)

#df -k

/dev/hda3 6630044  6629656   388 100%  /

none          54648              0  54648  0%  /dev/shm

#fdisk -l /dev/hda3

Disk /dev/hda3:6794 MB, 6794081280 b ytes

16 heads, 63 sectors/track, 13164 cylinders

Units = cylinders of 1008 * 512 =516096

Disk /dev/hda3 doesn't contain a valid partition table 
```

  :Crying or Very sad: 

----------

## randomaze

 *paperp wrote:*   

> 
> 
> #df -k
> 
> /dev/hda3 6630044  6629656   388 100%  /
> ...

 

6Gb, giusto?

É corretto che non hai altre partizioni?

 *Quote:*   

> #fdisk -l /dev/hda3

 

prendi fiato un'altra volta e fai:

```
fdisk -l /dev/hda
```

(lo scopo é vedere la partition table del disco non della partizione!)

N.B. Per liberare spazio la cosa piú facile é cancellare qualcosa dalla directory dei src: /usr/portage/distfiles

----------

## paperp

fatto ...

#fdisk -l /dev/hda

/dev/hda1  * ---->qui c'è xp

/dev/hda2     ----> qui c'è lo swap

/dev/hda3  *  --->qui c'è gentoo

Ma la partition table secondo me non poteva essere corrotta , non ci avevo fatto niente con le partizioni...

Il problema è che non so come tornare alla situazione originale senza dover riinstallare tutto da capo..oppure continuo a non capirci nulllaa...  :Crying or Very sad: 

..cosa devo cancellare da /usr/portage/distfiles??

se non  sbaglioci sono tutti i pacchetti compressi del software giusto??

Ciao , e grazie eh!!  :Rolling Eyes: 

----------

## randomaze

 *paperp wrote:*   

> 
> 
> /dev/hda3  *  --->qui c'è gentoo
> 
> Ma la partition table secondo me non poteva essere corrotta , non ci avevo fatto niente con le partizioni...

 

Appunto, volevo confrontare le dimensioni scritte nella partition tagle con quelle restituite da df.

Cosa impossibile se non scrivi l'output completo di fdisk -l.

 *Quote:*   

> ..cosa devo cancellare da /usr/portage/distfiles??
> 
> se non  sbaglioci sono tutti i pacchetti compressi del software giusto??

 

Anche tutto se vuoi. L'unico neo é che se in futuro hai bisogno di riemergere qualcosa si riscarica il sorgente, ma intanto liberi un pò di spazio che può importante dati i tuoi problemi.

Ovviamente se hai una connessione 56k forse é bene cercare di cancellare solo le cose vecchie!

----------

## paperp

..scusa hai ragione ,lo avevo fatto perchè avevo problemi con la linea e stavo uscendo  di casa , appena torno riposto , ma ad occhio mi sembravano corrispondetni.

Cancellerò molto tanto , quando funziona , ho l'adsl.......ciao.

Comunque grazie per i " PRENDI FIATO" ci volevano proprio.  :Wink: 

----------

## paperp

hp cancellato un pò di roba..adesso i messaggi di mancanza spazio , sono andati trova problemi a caricare i moduli(e ti credo  :Rolling Eyes:  ) si vede anche il bootsplash , ma questo si vdeva cnhe prima..,l'unico messaaggio utile che mi dà dmesg è che quando carica l'AGPART comincia a sparaee messaggi del tipo 

```
#version magic '2.6.7-gentoo preempt PENTIUMIII gcc-3.3.3' should be '2.6.7-gentoo 486 gccc-3.3'
```

idem anche con snd_ parpot_ e altri..questo è indicativo , infatti qundo compilai con il metodo classico e non con genkernel cambiai il tipo di processore e abilitai il preemptible nel kernel.

```

#fdisk -l /dev/hda 

/dev/hda1/ * 1 1499 12040686 c W95 FAT32 (LBA)

/dev/hda2    1500 1606 859477+ 82 Linux swap

/dev/hda3  * 1607 2432 6634845 83 Linux
```

```

#df -k 

 /dev/hda3 6630044  6628728   388 100%  / 

 none          54648              0  54648  0%  /dev/shm

```

..che dici ce la faccio??  :Question: 

----------

## randomaze

 *paperp wrote:*   

> ..che dici ce la faccio?? 

 

Suppongo che quel df fosse relativo al prima che pulissi la distfiles.

Per i moduli basta che termini la compilazione/installazione del kernel, (anche se forse é bene rifare da zero la cosa.

Per lo spazio, non so quanto ne hai liberato e/o cosa hai installato sulla macchina, da quello che di vede i numeri coincidono quindi suppongo che 6Gb siano effettivamente pieni per tutto quello che hai messo su... 

quella cosa che acennavi dicendo che nella /boot vedevi l'intero filesystem é ancora così??

Se di fai:

```
#du -k /boot

#ls -l /boot
```

e posta i risultati...

----------

## paperp

si leggermente un pochino di più , ma non li ho ancora tolti tutti

```

/dev/hda3 6630044  6629656   388 100%  / 

none          54648              0  54648  0%  /dev/shm 
```

```

#df -k  /boot

/dev/hda3  663004  6483176  146868 98%

#ls -l /boot

System.map-2.6.7-gentoo config-2.6.7-gentoo

initrd-2.6.7-gentoo  map  boot.0300 handy_128bis.bmp  kernel-2.6.67-gentoo snowy256.bmp
```

Il System.map è arrivato dopo con la nuova compilazione e anche il config , perchè genkernel non ce lo mette.

Come potrei afare ad ativare il device eth0  e connetermi prima di compilare così potrei riemergiare il genkernel e compilare con quello..anche se mi ci mette un kernel con un generico 486 , no preemptive , però sono icuro che tuti i moduli e gli hotplugging me li install a modo come prima...o no.Ciao  :Very Happy: 

----------

## randomaze

 *paperp wrote:*   

> Come potrei afare ad ativare il device eth0  e connetermi prima di compilare così potrei riemergiare il genkernel e compilare con quello..anche se mi ci mette un kernel con un generico 486 , no preemptive , però sono icuro che tuti i moduli e gli hotplugging me li install a modo come prima...o no.Ciao 

 

Non ho capito molto (qualche problema anche con la tastiera?), comunque ricorda che, se non riesci a far andare la rete potresti fare il boot con il live CD, metti su la rete, fai il chroot seguendo il manuale e dopo puoi riemergere genkernel.

----------

## paperp

..no quello non è la tastiera è la mia dslessia precoce , volevo soo dire che quando provo a connettermi mi dice 

```
#ifconfig eth0 up

eth0 :unknow interface :No such device
```

Non ho capito perchè non me la tira su anche se durante il boot c'è il bringing eth0..comunque adesso provo a fare con chroot e il livecd , anche se mi preoccupa questo messaggio con qualsiasi pacchetto effettuato sempre dentro gentoo

```
#emerge genkernel 

!!!ARCH is not set.. Are you missing the /etc/make.profile symlink?

!!!Is the symlink correct?Is your Portage tree complete?
```

..ovvero??

 in /etc/make.conf è tutto ok..non capisco..

----------

## fedeliallalinea

Ma hai caricato il modulo della scheda di rete?

----------

## randomaze

 *paperp wrote:*   

> #ifconfig eth0 up
> 
> eth0 :unknow interface :No such device

 

Sembra che il modulo relativo alla scheda di rete non ci sia.

Sei sicuro di averlo compilato? Se si prova a caricarlo a mano con modprobe

 *Quote:*   

> !!!ARCH is not set.. Are you missing the /etc/make.profile symlink?
> 
> ...
> 
>  in /etc/make.conf è tutto ok..non capisco..

 

Cosa dice:

```
ls -l /etc | grep make\.profile
```

e anche: 

```
ls -l /etc/make.profile
```

 :Question: 

----------

## paperp

.allora...tutte e due dicono che punta a ../usr/portage/profile/default-x86-2004

Il problema però avviene dopo che sono entrato in chroot con il live e dopo aver fatto emerge sync e emrge genkernel sono tornato a compilare nella gentoo normale(senza live)

mi dice 

```
#genkernel all

touch:cannot touch '/var/log/genkernel.log' .no such file or directory
```

e pi una serie di errori riguardo una certa line 136 in /usr/bin/genkernel

se do 

```
#ls /var 

cache db lib tmp var
```

..booo  :Embarassed: 

..ah ecco forse ci sono dentro var ho un altro var che deve essere stato ricopiato quando ho avuto il primo problema con genkernel

infatti se 

```

#ls /var/var

cache db empty lib lock log mail run spool state tmp

```

come faccio adesso a copiare le directory giuste in var e poi cancellare la cartella var vuota??

----------

## randomaze

 *paperp wrote:*   

> .allora...tutte e due dicono che punta a ../usr/portage/profile/default-x86-2004

 

Se lo dicono tutte e due significa che quella directory non esiste.

Vero?

Quando ti ho suggerito cosa cancellare per liberare spazio, esattamente, cosa hai cancellato? 

 *Quote:*   

> #ls /var 
> 
> cache db lib tmp var

 

Io ti sugegrirei di rimettere il live CD e fare un filesystem check.... magari accurato con il controllo dei settori danneggiati.

----------

## paperp

..scusa se mi sono permesso di dissentire sul fare il filechecking ma ho pensato di risolvere facendo

```
#mv /var/var* /var
```

questo perchè come avevi visto cera una cartella var all'interno della /var cos* ho copiato e lasciato le directory che già vi erano.

A questo punto ho potuto usare genkernel , ma appena rebootato c'erano messaggi del boot che trovavano problemi con dei moduli.

risultato , si avviava tutto X compreso, ma eth0 non si riuscia a tirare su.

Così ho notato da qualche messaggio del kernel che c'erano casini tra alcune impostazione del kernel che ci si aspettava di tipo 486 e quelli che erano stati impostati come PIII , ovvero dava errore che nel kernel vi fosse configurato pentiumIII come processore e preemtible(o preemptive..) come opzione del processore.

Quindi ho aperto con 

```
#nano -w /etc/kernels/kernel-config-x86-2.6.7-gentoo
```

 e ho cambiato a mano il config e riportato il classico 486 e tolto l'opzione preemtible.

Adesso ho una linuxbox funzionante ma con qualche grosso problema , non mi funzionano la maggior parte delle applicazioni , per esempio gnome come xsession non è più utilizzabile , posso usare solo enlightenment evidence,entice,tdsfbEterm , ma tutto il resto non lo riconosce come comando e se faccio emerge anche di un programma con poche e piccole dipendenze cerca di farmi ricompilare tutto e scaricare anche paccetti che non ho mai installato per esempio Xfree quando invece io ho Xorg funzionante come posso fare per emrge un pacchetto escludendo tutti le altre dipendenze per esempio solo Firefox??Tutto questo perchè ho cncellato tutto il folder /usr(portage/distfiles ??

Avendo fatto solo emerge sync adesso con df -k mi dà un altra volta tutta la partizione quasi al 100% , come mai?? :Embarassed: 

Ciao e grazie sei stato moltogentile senza di te sarei crollato definitivcamente in uj totale rifiuto dei PC anche se ci devo lavorare tutto il giorno..adesso in mancanza di browser(nemmeno mozilla funge pi*)st* usando l'inossidabile links , perch* anche le directFB si rifiutano di funzionare.Grazie ancora!!  :Embarassed: 

----------

## paperp

Per provare a capire qulksa ho fatto

```
#emerge -pv 

Packages installed 1

Packages in world 1

Packages in system 66

Unique package names 86

Required packages      87

Number to remove    0
```

Perchè solo 1 pacchetto in pacchetto in world?

eppoi sono di più quelli installed sennò come farei ad usare X?

 :Crying or Very sad: 

----------

## randomaze

 *paperp wrote:*   

> Perchè solo 1 pacchetto in pacchetto in world?
> 
> eppoi sono di più quelli installed sennò come farei ad usare X?
> 
> 

 

Perché tutte le informazioni del caso in un sistema stabile stanno nella directory var, evidentemente ravanando con la var hai fatto piazza pulita dei log e del database degli ebuild.

Vediamo un pó cosa é rimasto.

Fai:

```
$ ls /var/db/pkg
```

e anche:

```
ls -l /var/cache/edb/
```

----------

## paperp

```
l-(root 2.6.7-gentoo)-(31 July 2004 - 16:30)-(dschg, 98%)-(pts/0)

mq-(/home/emanuele)-> ls /var/db/pkg/

app-admin  net-www  sys-kernel

l-(root 2.6.7-gentoo)-(31 July 2004 - 16:33)-(dschg, 96%)-(pts/0)

mq-(/home/emanuele)-> ls -l /var/cache/edb/

total 16

-rw-r-----   1 root root       0 Jul 31 12:16 config

-rw-r--r--   1 root root       1 Jul 31 12:16 counter

drwxrwsr-x  37 root portage 4096 Jul 31 11:54 dep

-rw-rw-r--   1 root portage    0 Jul 31 12:23 mtimedb

-rw-r--r--   1 root root       0 Jul 30 16:15 virtuals

-rw-r--r--   1 root root      86 Jul 31 12:18 world

```

...questo è quanto  :Rolling Eyes: 

----------

## paperp

Nel frattempo il mio disperato smanettamento continua.

Ho fatto una approfondita ricerca con il find di vari file e directory e ho trovato che il folder /usr/ conteneva al suo interno un altro /usr che non era ltro che l'originale , in quanto il padre /usr/ conteneva solo in parte tutte le tipiche directori.

Coì ho cancellato e spostato ritrovandomi in situazioni di spazio più normalil

```

-(root 2.6.7-gentoo)-(31 July 2004 - 19:37)-(dschg, 48%)-(pts/0)

mq-(/home/emanuele)-> df -k /dev/hda3

Filesystem           1K-blocks      Used Available Use% Mounted on

/dev/hda3              6630044   4346556   2283488  66% /
```

Ma il problema di riuscire ad utilizzare molti programmi solo con root rimaneva , poi lanciando tutte le applicazioni da shell e leggendo gli errors spesso si indicava una certa /tmp/orbit-emanuele che non risultava..non so come , ma era in un altra cartella l'ho spostata.

Questo ha portato a ritrovarmi in condizioni di utilizzare applicazioni del gruppo gnome e GTK anche da user anche se non sono ancora riuscito a sperimentare tutto..purtroppo il probema di portage rimane , quando provo a emergiare un singolo pacchetto vuole emergiare praticamente tutti i pacchetti anche quelli di base come

```
[ebuild  N    ] sys-devel/patch-2.5.9  -build -static  197 kB

[ebuild  N    ] sys-devel/gnuconfig-20040214  -(uclibc)  30 kB

[ebuild  N    ] sys-libs/ncurses-5.4-r1  -debug  2,103 kB

[ebuild  N    ] sys-devel/libtool-1.4.3-r4  -(uclibc)  1,663 kB

[ebuild  N    ] sys-devel/gettext-0.12.1  -bootstrap -emacs +nls  5,592 kB

[ebuild  N    ] sys-devel/m4-1.4.1  -bootstrap +nls  335 kB
```

----------

## randomaze

 *paperp wrote:*   

> quando provo a emergiare un singolo pacchetto vuole emergiare praticamente tutti i pacchetti anche quelli di base come
> 
> ```
> [ebuild  N    ] sys-devel/patch-2.5.9  -build -static  197 kB
> 
> ...

 

Il che é normale dal momento che il povero emerge non ha nessuna informazione in merito al sistema visto che:

- Il database dei pacchetti instalalti é praticamente vuoto (/var/db/pkg)

- Il file virtuals anche

- Il file world come sopra.

La conseguenza é che, a meno che tu non riesca a ritrovare/ripristinare i file indicati qui sopra, non hai un sistema Gentoo, hai si un Linux +o- funzionante ma l'installato (o altre installazioni) non sono gestibili.

Certo, con un paio di emerge (dato che comunque il sistema sembra funzionare) potresti migliorare e, con calma e un pó di tempo, la situazione potrebbe normalizzarsi ma onestamente copierei la directory /etc, la /home, qualcos'altro e ricomincerei da zero.

Magari approfitterei della cosa per studiare un diverso meccanismo di partizionamento... tipo mettere la /var e/o la /home in partizione separata  :Wink: 

EDIT: Un casino simile é stato fatto probailmente da un comando tipo cp -R o mv con caratteri / e * messi "alla leggera"... ti consiglio di usare l'utente root il meno possibile in futuro a meno che tu non sia certo di quello che stai facendo!

----------

## paperp

Quindi mi consigli di salvae /etc per tutte le configurazioni in esso contenute , giusto?'Poi il file config del kernel e procedere a reinstallare tutto da capo??

EDIT: ..sono quasi d'accordo , il quasi rientra nell'ottica del piccolo apprendista stregone che penso sia intrenseca nell'usare un sistema operativo piuttosto che winzozz , della serie , le più importanti lezioni si imparano sbagliando   :Laughing:   :Laughing: 

Ciao.

----------

## randomaze

 *paperp wrote:*   

> Quindi mi consigli di salvae /etc per tutte le configurazioni in esso contenute , giusto?'Poi il file config del kernel e procedere a reinstallare tutto da capo??

 

Si, credo che in questa situazione (ovvero senza il db dei pacchetti) sarebbe quasi impossibile continuare...

 *Quote:*   

> le più importanti lezioni si imparano sbagliando

 

Completamente daccordo.

Io dopo un danno analogo ho imparato a "giocare" con un utente diverso da root  :Razz: 

----------

## paperp

...ti riferisci ad usare sudo o qualcosa che no conosco??

Domandina OT , visto che mi prenderò tutto il tempo per preparare la mia next gentoo , tu useresti il 2004.2 o il 2004.1??

Per quanto riguarda lo stage la'altra volta feci uno stage 2 m aquesta volta voglio provare uno stage 1.

Ciao.

----------

## randomaze

in generale sudo o su sono ottime cose per minimizzare l'essere superuser (e quindi la probabilità di fare danni irreversibili)

 *paperp wrote:*   

> visto che mi prenderò tutto il tempo per preparare la mia next gentoo , tu useresti il 2004.2 o il 2004.1??

 

Dato che vuoi installare da stage1 dovrebbe essere indifferente... al primo sync ti ritroveresti con la stessa distro (ovviamente ricorda che la 2004.1 aveva il bug della firewire e la 2004.2 ha quello dell'ide-disk  :Wink:  )

Certo, se usi la 2004.2 aiuteresti la ricerca di eventuali bachi il che non fa male....

----------

## paperp

...effettivamente sarebbe una idea costruttiva ( a differenza delle mie usuali... :Laughing: !), ma per farlo dovrei partire da Stage 2 e  Gentoo2004.2 giusto??

Se mi dici che montata su un Notebook con PIII Celeron a 900Mhz e 128 MB di ram non c'è troppa differnza tra stage 1 e 2 mi offro volentieri , se non altro per ricambiare.  :Wink: 

 Ciao.

----------

## fedeliallalinea

 *paperp wrote:*   

> Se mi dici che montata su un Notebook con PIII Celeron a 900Mhz e 128 MB di ram non c'è troppa differnza tra stage 1 e 2 mi offro volentieri , se non altro per ricambiare.  

 

Con questo pc e' sicuramente meglio partire con stage2 e le differenze non le vedi quindi vai pure tranquillo

----------

