# Installare il kernel appena compilato su un sistema remoto

## ETeria

Buongiorno, mi chiamo Daniele, uso Gentoo dal 2006 e mi trovo veramente bene, tant'è che l'ho installata su quasi tutti gli elaboratori di cui dispongo. Mi registrai un paio di anni fa in questo forum, quando installai gentoo la prima volta su una macchina a 64 bit, rimasi stupito da come funzionava bene e passai di qua a scriverlo.

Adesso, non voglio andare troppo off topic, solitamente sono abituato a fare ricerche di ogni tipo, tra documentazioni ufficiali e non, questa volta ho un problemone abbastanza strano e non ho trovato altri simili che mi dessero qualche dritta.

Ho affittato un server, lo controllo con ssh, c'è su un Athlon di quelli a 32bit, c'era su una Fedora che ho rimosso prontamente con il "restore system" incluso nel servizio , ci ho quindi ricostruito dentro una Gentoo da capo, nuova e pulita, con tutti i programmi che mi servono. Il tutto funziona strafico, però a patto che la riavvio con il kernel della Fedora. Se mi compilo un mio kernel, con genkernel partendo dai sorgenti forniti da gentoo ... lo provo a installare nell'mbr, sia con lilo che con grub, non ho maniera di riavviare il sistema. Non so nemmeno che file guardare per leggere il log dell'avvio del sistema.

Non so da dove partire, non so nemmeno che dati fornire per spiegarmi bene qui adesso. Pensavo di aver sbagliato io a compilarmi il kernel, mancando di settare alcune cose importanti, ma come faccio a saperlo? L'hardware nelle specifiche dal fornitore del servizio l'ho settato tutto correttamente. Ho provato a installarmi in una macchina virtuale qua in casa, altre distribuzioni, ne ho tirato fuori il kernel già compilato e quindi l'ho provato a installare sul mio server, ma non va. Non mi torna sta cosa.

A qualcuno qua è capitata una esperienza simile?

.

.

Produco musica, sfrutto Gentoo configurata con il server "Jack audio connection kit" al massimo possibile della stabilità e delle performances. Mi capitano spesso dei casi rari in cui perdo parecchi giorni a risolverli, non trovo ne documentazione ne forum con gente che ha esperienze simili, mi metto a fare un sacco di prove e a seguire un po' tutte le piste ... se volessi venire qua a postarli, senza richiedere assistenza, ma per spiegare cosa ho fatto per risolvere, cosa devo fare? Devo taggare l'Oggetto del topic?

----------

## oRDeX

mh....o c'è qualche problema di configurazione del kernel...o c'è qualche cosa di oscuro nel tuo server remoto.

La tua Fedora ti fornisce il file /proc/config.gz? Così potresti avere a disposizione la perfetta configurazione utilizzata dal tuo kernel attuale.

Ma poi sei sicuro che il boot s'interrompa al caricamento del kernel e che invece non ci sia qualche altra cosa che non va?

----------

## cloc3

 *oRDeX wrote:*   

> 
> 
> La tua Fedora ti fornisce il file /proc/config.gz?

 

 :Rolling Eyes: 

le distro compilate non lo forniscono mai.

forniscono dei config in formato testo nella cartella di boot, ma secondo me non sono affidabili e non permettono di ricostruire un kernel identico a quello precedente.

in ogni caso, spesso usano sorgenti pacciati al punto che il config risulta incompatibile con quello gentoo.

una cosa che si può fare è usare il kernel fedora per lanciare gentoo.

naturalmente, bisogna copiare i moduli della fedora dentro la cartella /lib/module della gentoo.

in seguito, si dovrebbe riuscire con più comodità a studiare il fenomeno.

 *ETeria wrote:*   

>  se volessi venire qua a postarli, senza richiedere assistenza, ma per spiegare cosa ho fatto per risolvere, cosa devo fare? Devo taggare l'Oggetto del topic?

 

devi fare quello che fanno tutti:

postare liberamente nel modo che pensi.

in linea di principio, questo è un forum tematico, ma chi scrive con buon senso, riesce sempre a mettere giù le cose evitando l'ot clamoroso.

tempo fa esisteva un obbligo convenzionale di taggare i titoli.

io, per lo più, lo rispetto ancora, ma sono una mosca bianca.

non farti problemi. l'unico cosa di cui ha bisogno questo forum è la qualità, ed è benvenuta in tutte le sue forme.

 :Smile: 

----------

## ago

A mio avviso un errore potrebbe essere quello della nomenclatura dei dischi a secondo dei driver che usi...potresti postare un lspci -k e un lsmod quando sei su fedora?

----------

## ETeria

Many thanks in advance per la premura che ci avete messo nel darmi subito suggerimenti.

Per adesso sta andando già da parecchi mesi con il sistema Gentoo costruito con emerge, avviato sul kernel pacco della Fedora (non mi piace quel kernel li della Fedora, ha dei problemi col supporto ACPI e ogni tanto si blocca tutto).

La possibilità che si blocca al caricamento del kernel o che si blocca per altre ragioni, considero tutto, mi serve un log dell'avvio (non so qual'è, non so se c'è), il mio dubbio più idiota è di non aver configurato correttamente grub, però se poi vado a riconfigurare lo stesso grub col kernel Fedora allora mi dimostro che sarò un asino ma grub lo riesco a configurare.

Il file /proc/config.gz non c'è.

lspci -k

00:00.0 Host bridge: VIA Technologies, Inc. VT8375 [KM266/KL266] Host Bridge

        Subsystem: Elitegroup Computer Systems Device 0a85

        Kernel driver in use: agpgart-via

00:01.0 PCI bridge: VIA Technologies, Inc. VT8633 [Apollo Pro266 AGP]

00:11.0 ISA bridge: VIA Technologies, Inc. VT8235 ISA Bridge

        Subsystem: Elitegroup Computer Systems Device 0a85

        Kernel modules: i2c-viapro, via-ircc

00:11.1 IDE interface: VIA Technologies, Inc. VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (rev 06)

        Subsystem: Elitegroup Computer Systems Device 0a85

        Kernel driver in use: pata_via

        Kernel modules: pata_via

00:12.0 Ethernet controller: VIA Technologies, Inc. VT6102 [Rhine-II] (rev 74)

        Subsystem: VIA Technologies, Inc. VT6102 [Rhine II] Embeded Ethernet Controller on VT8235

        Kernel driver in use: via-rhine

        Kernel modules: via-rhine

01:00.0 VGA compatible controller: S3 Inc. VT8375 [ProSavage8 KM266/KL266]

        Subsystem: Elitegroup Computer Systems Device 0a85

        Kernel driver in use: savagefb

        Kernel modules: savagefb

Mi pare di aver configurato tutto quanto, non è tanta roba, magari mi sono menato via in qualche voce ambigua ... ma la cosa che non capisco è perchè se mi installo in una VirtualBox qua in locale una distro diversa, una di quelle coi kernel già compilati che hanno abilitato dentro tutti i patacchini ... mi copio kernel e moduli ecc ... configuro grub o lilo ... e alla fine riavvio e non va. Scarico gli rpm con kernel e moduli di una versione recente di Fedora, scompatto gli rpm, li installo, non va. E' inquietante.

Non è che c'è settato qualcosa nel bios di quella macchina che mi impedisce di intervenire sull'mbr quando provo a installare qualcosa di diverso da quello che ci hanno messo quelli che mi vendono il servizio? Però mi sembra un po' contorta sta cosa ...

Si tratta di una webfarm che fornisce servizi di svariato tipo, dubito che il mio server sia li con un case con dentro i suoi dischi ... sicuramente è in un rack, i dischistaranno esternamente chissà dove ... su /etc/fstab le partizioni hanno dei nomi allucinanti, mica si chiamano hda1 ecc ... magari il bootloader non riesce a scrivere sull'mbr ... ma alla fine quando gli riconfiguro con il kernel diabolico di Fedora dell'installazione originale, il sistema si avvia.

---Edit---

Dimenticavo questo:

lsmod

Module                  Size  Used by

ipv6                  235720  22

snd_pcm                63236  0

i2c_viapro              7256  0

snd_timer              17760  1 snd_pcm

savagefb               26516  1

snd                    50292  2 snd_pcm,snd_timer

fb_ddc                  1864  1 savagefb

soundcore               5484  1 snd

via_ircc               16164  0

i2c_algo_bit            4860  1 savagefb

vgastate                6380  1 savagefb

snd_page_alloc          7784  1 snd_pcm

irda                   95792  1 via_ircc

via_rhine              19816  0

i2c_core               25032  4 i2c_viapro,savagefb,fb_ddc,i2c_algo_bit

serio_raw               5096  0

pcspkr                  2176  0

mii                     4052  1 via_rhine

crc_ccitt               1612  1 irda

ata_generic             4296  0

pata_acpi               3652  0

pata_via                8508  3

comunque non sono su Fedora, sono su Gentoo avviato col kernel Fedora (ovviamente carica i moduli di Fedora).

----------

## cloc3

effettivamente, come la racconti è ben confusa.

tra l'altro, non hai nemmeno descritto il punto esatto in cui avviene il mancato avvio e il tipo di errore che viene prodotto.

andiamo a tentoni.

saltiamo anche la premessa sulla vBox locale che non capisco cosa centri con un server in remoto.

fedora sta usando dei driver pata_via, che sono presenti in ogni kernel linux.

e qui il problema dei nomi dei dispositivi (proprio quello ipotizzato da ago) sorge spontaneo.

si chiamano hd* o sd*?

tu, anziché aiutarci su questo punto, parli di nomi allucinanti.

invece, può essere semplicemente che la fedora iniziale abbia utilizzato una fstab basata sulle UUID.

potresti risalire al nome semplice dei dispotivi navigando /dev/disk/by-uuid.

viene da chiedersi come la tua fedora o i tuoi kernel gentoo abbiano settato la voce CONFIG_IDE nel .config.

infatti, attualmente è deprecata, ma fino a qualche anno fa si usava ancora.

ed è proprio la scelta da cui dipende, poi, la denominazione dei dispositivi /dev .

un'altra possibilità da considerare è l'impostazione di ahci.

sulle macchine moderne, il driver pata_via non deve neppure essere compilato, ma viene sostituito direttamente dal modulo standard ahci, che funziona con una famiglia vastissima di schede madri moderne. in genere, però, il funzionamento di ahci deve essere abilitato nella bios, che tu, a quanto pare, non conosci perché è remota.

se non sono stato confuso come te (  :Smile:  ), spero quindi di averti  suggerito un insieme abbastanza ampio di soluzioni per smanettare.

se non basta. un'ultima possibilità potrebbe essere quella di creare a mano una initramfs con busybox e di provare a mettere nel file init una riga con il comando sh -i. appena entra in modalità interattiva provi a guidare il boot manualmente fino a quando non capisci dove realmente si inceppa.

----------

## ago

 *cloc3 wrote:*   

> e qui il problema dei nomi dei dispositivi (proprio quello ipotizzato da ago) sorge spontaneo.
> 
> si chiamano hd* o sd*?

 

Esistono due "sezioni" ove sono presenti driver ata/sata:

ATA/ATAPI/MFM/RLL support (DEPRECATED)

Serial ATA and Parallel ATA drivers

Se vuoi avere una nomenclatura sd* dovresti completamente togliere la * su quelli deprecati e usare solo i driver nella seconda sezione.

Il driver che serve a te precisamente è:

```
 VIA PATA support 
```

.

Aggiungi anche:

```
AHCI SATA support
```

 se non è marcato di default  :Wink: 

Se non dovessi avere ancora qualcosa di funzionante, vai a marcare built-in anche i driver i2c:

```
VIA VT82C596/82C686/82xx and CX700/VX8xx
```

----------

## ETeria

Innanzi tutto non so come spiegarmi e mi è molto ultile la traccia che mi date nel fare la ricerca sul problema.

La vbox in locale l'ho installata per tirare fuori dei kernels già compilati in altre distribuzioni, per provare a metterli con le loro collezioni di moduli nel server in questione, per vedere se almeno con quelli si accende. Ovviamente non va.

l'fstab dice questo:

UUID=39b83127-b46c-4524-83b7-4ad3f9fe6a1a /boot                   ext3    defaults        1 2

UUID=cce3d1f7-817f-445a-8963-c46a6e3a9db5 /                       ext3    usrjquota=aquota.user,grpjquota=aquota.g\

roup,jqfmt=vfsv0 1 1

UUID=964c417a-276a-41a7-bc84-bc2083a950c3 swap                    swap    defaults        0 0

mentre:

ls -l /dev/disk/by-uuid/

total 0

lrwxrwxrwx 1 root root 10 Nov 21 19:21 39b83127-b46c-4524-83b7-4ad3f9fe6a1a -> ../../sda1

lrwxrwxrwx 1 root root 10 Nov 21 19:21 964c417a-276a-41a7-bc84-bc2083a950c3 -> ../../sda2

lrwxrwxrwx 1 root root 10 Nov 21 19:21 cce3d1f7-817f-445a-8963-c46a6e3a9db5 -> ../../sda3

(adesso so che anche fedora li chiama con dei nomi normali)

In quanto al .config di fedora, prima di installare Gentoo ho spazzato via tutto, mi sono tenuto la cartella etc e la cartella boot, dentro a boot c'è config-2.6.30.10-105.2.23.fc11.i686.PAE e li dice così:

# CONFIG_IDE is not set

Ho provato a compilarmi il kernel con quel config di Fedora, però non va. E' vero che di solito tante voci sono differenti da distro a distro, addirittura della stessa distro ho notato che cambiano le voci tra le versioni del kernel (aggiungono quelle nuove e tolgono le obsolete) ma a grandi linee i settaggi principali, se piglio un kernel della stessa versione, dovrebbero esserci. in fondo mi interssa solo avviare sta macchina con la scheda di rete ... poi potrò procedere a configurazioni più bizzarre ...

Tra i driver della VIA che mi indichi, VIA pata support l'ho settato nel kernel, AHCI SATA support l'ho settato come modulo, VIA VT82C596/82C686/82xx and CX700/VX8xx settato come modulo. Se con questi settaggi abilitati non mi si accendeva comincio ad avere dubbi su come settavo grub. Questo weekend ho intenzione di passarci su del tempo a fare altri esperimenti, proverò a postarvi qua il mio file di grub, e se non mi funziona provo pure con lilo e vi posto pure quello. Adesso tanto per cominciare so che le unità disco hanno un nome normale.

Io di solito qua in casa non uso la initial ramdisk, piazzo l'immagine del kernel direttamente nell'mbr con lilo, già il consiglio che mi hai dato di usare initramfs con busybox per sfruttare il comando sh -i mi spaventa un pochillo (anche se sarebbe la prima cosa da fare se fossi capace) ... ma è proprio indispensabile avviare una macchina con l'initrd? Dici che sto server non mi parte perchè devo usare l'initial ramdisk?

Grazie gli aiuti  :Smile: 

----------

## cloc3

 *ETeria wrote:*   

> 
> 
> Tra i driver della VIA che mi indichi, VIA pata support l'ho settato nel kernel, AHCI SATA support l'ho settato come modulo, VIA VT82C596/82C686/82xx and CX700/VX8xx settato come modulo.
> 
> ma è proprio indispensabile avviare una macchina con l'initrd? Dici che sto server non mi parte perchè devo usare l'initial ramdisk?
> ...

 

l'initial ramdisk non è mai indispensabile, anche se tutte le distro ne fanno uso sistematico. Fedora compresa.

i manuali gentoo, al contrario, tendono a suggerire agli utenti soluzioni per evitarla.

ma può essere uno strumento utile per i check, in quanto consente di separare le diverse fasi del boot.

naturalmente, se non ne conosci bene il funzionamento, è opportuno che tu cerchi di risolvere il problema con altri strumenti.

a volte, è utile inserire un ritardo prima del caricamento dei dischi. ma si può fare anche senza initrd passando un'opzione a grub (DELAY ?).

attenzione che, se decidi di non usare l'initramfs, devi necessariamente compilare i moduli della scheda madre built-in nel kernel!

altrimenti, come fa il kernel, dopo essere stato caricato, a vedere la tua macchina?

settare AHCI come modulo, ad esempio, è inutile.

cerca di provare un po' tutte le impostazioni possibili.

in linea di principio, quella consigliata dovrebbe essere con AHCI built-in e PATA_VIA deselezionato, ma il mondo è bello perché, a volte, le cose consigliate falliscono. smanettale un po' tutte.

----------

## ETeria

Sto ricompilando in questo momento, per cominciare i supporti PATA e SATA li ho messi tutti e due nel kernel, che se li scelga lui su richiesta all'avvio a seconda di quale gli serve. Il supporto I2c non mi ha permesso di compilarlo nel kernel e allora ho dovuto accontentarmi di lasciarlo come modulo. Ho verificato anche che compilasse il driver del cippetto ethernet, ovviamente quello mi va bene pure come modulo. La compilazione la eseguo con

genkernel --menuconfig all

In questo momento sta compilando, non è veloce come la luce, nemmeno come la Ferrari o il pendolino ... direi che è più veloce di una lumaca ma meno veloce di una tartaruga ben allenata ... nel frattempo è volata qualche parolaccia perchè quelli della televisione hanno spostato di nuovo tutti i canali (sembra che si divertano come i bambini che cambiano il posto ai prodotti al supermercato) e insomma manco la tv mi posso guardare ... ah!!! Ho cosato il file lilo.conf , lo posto qua sotto, magari non ce n'è bisogno, ma almeno se contiene errori sta qua davanti a tutti e prima o poi passa qualcuno che ci fa caso e mi può avvertire.

```
lba32                    # Should work for most systems, and do not have the sector limit

boot = /dev/sda             # Installa LILO nel MBR

map = /boot/.map

prompt                    # Da possibilita di selezionare un'altra sezione

delay=10                   # Aspetta 5 secondi prima di avviare la scelta predefinita

default=gentoo            # Passato il timeout, avvia la sezione "gentoo"

image=/boot/vmlinuz

  root=/dev/sda3          # Posizione del filesystem root

  label=gentoo            # Il nome dato alla sezione

  read-only
```

Quasi quasi aspetto una conferma sul lilo.conf prima di dare il comando lilo. Ma poi è abbastanza dare il comando "lilo" non devo far niente per disinstallare grub dall'mbr giusto? Ce lo sovrascrive pronto ... vero?

----------Edit---------------

Data astrale 27 Novembre 2010 ... virgoladue.

Non va.

ping 69.64.37.95

PING 69.64.37.95 (69.64.37.95) 56(84) bytes of data.

--- 69.64.37.95 ping statistics ---

621 packets transmitted, 0 received, 100% packet loss, time 620003ms

Ma è giusto quel lilo.conf li che ho postato sopra?

----------

## ETeria

^ UP ^

... almeno ditemi se è giusto il lilo.conf , ultimamente non ho avuto molto tempo da dedicare a sto problema ma ho comunque interesse a risolverlo.

CIRICIAO!!!

----------

