# Compilare il kernel

## SleazyCriss

Ciao a tutti, dopo esser riuscito ad eseguire le prime parti del manuale d'installazione devo compilare il kernel, siccome sto installando senza la connessione alla rete, ho scaricato da un altro pc il kernel 2.6.37 vanilla, l'ho estratto nella cartella /kernel/linux-2.6.37 ed ho creato il link simbolico in /usr/src/linux.

Il mio sistema operativo ha un processore pentium4 da 2.53GHz, 256mb di ram, nvidia geforce mx440, dlink dwl g-122, stampante multifunzione hp B109a, hd da 40gb, lettore dvd, floppy,svariate usb.

Volevo chiedere aiuto per compilare il kernel dato che è la prima volta che lo faccio, quali sono i servizi da tenere assolutamente attivi? quali posso tranquillamente rimuovere? quali posso usare come moduli?

----------

## SleazyCriss

Tra l'altro mi accorgo ora che il link simbolico non funziona io ho dato il comando

ls -s /kernel/linux* /usr/src/linux

è corretto?

----------

## ago

Se non vuoi incasinare la tua testa, ti consiglio vivamente di seguire l'handbook.

Per quanto riguarda il kernel è abbastanza difficile spiegartelo a parole se non ne hai mai compilato uno. Brevemente tramite lspci ed lsmod, vedi il tuo hardware e i moduli che vengono usati e ti regoli di conseguenza  :Wink: 

----------

## Onip

controlla con

```
# emerge -pf sys-kernel/genkernel
```

quali sono i file che ti necessitano, scaricali* e poi copiali in /usr/portage/distfiles

e poi emergilo

```
# emerge -av sys-kernel/genkernel
```

Nota: fai la stessa operazione anche per il pacchetto sys-kernel/gentoo-sources che ti installerà i sorgenti del kernel patchati dai dev gentoo. 

Dopodiché usa genkernel come spiegato nel manuale, in modo da avere una configurazione di base ed un kernel che ti permetta il boot. In futuro, quando avrai un sistema avviabile con cui giocare, potrai sperimentare (ed imparare) il procedimento di configurazione, compilazione, installazione di un nuovo kernel.

* basta copiare l'output del comando su un file di testo e poi, su un'altra macchina, usare gli indirizzi ottenuti con un programma per il download (wget, firefox...)

----------

## SleazyCriss

Ormai mi sono buttato nella compilazione, vedremo che succede se va bene tengo così sennò seguo il tuo consiglio!

----------

## SleazyCriss

OK adesso sono bloccato con un kernel panic, il che è ottimo ahaha, più precisamente quello che ottengo è questo

Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block (2,0)

Prima di questo errore mi dice

ext3-fs (sda3):error: couldn't mount because of unsupported optional features (240)

list of all partition:

c'è la lista delle mie partizioni

No filesystem could mount root, tried: ext3 vfat msdos iso9660 ntfs

Il filesystem è in ext4 e sono sicuro di aver attivato il supporto nel kernel per ext4.

Cosa posso fare?

----------

## k01

non basta il supporto al filesystem, serve anche quello al tuo controller ide/sata. e controlla che entrambi siano compilati built-in e non come moduli, altrimenti al momento del mount di root i moduli non sarebbero disponibili, e si verificherebbe lo stesso errore.

avresti anche potuto usare genkernel per le prime volte, per compilarlo a mano poi c'è sempre tempo

----------

## SleazyCriss

Come faccio per controlare? COmunque ho compilato anche i controller per ide, comunque c'è un modo per aggiungerli senza ricompilare tutto e senza usare genkernel? (essendo senza connessione sarebbe un po' seccante usarlo)

----------

## SleazyCriss

Il problema non esiste più perchè il pc si è andato a farsi benedire, dice  qualcosa riguardo un errore 0186 errore del controllo logico dell' hardware di sicurezza, se qualcuno ne sa qualcosa lo dica pure.

----------

## djinnZ

calma e gesso, il messaggio è del bios o del kernel? Se è del bios hai dato uno sguardo qui? Sembra risolvibile e causato dall'aver sconnesso l'alimentazione e la batteria.

Se è del bios sarà una qualche protezione da disattivare. Se è del kernel ricompilalo e basta.

Già che ti trovi un 

```
rm /etc/kernels/* ; cd /usr/src/linux ; make mrproper ; rm -Rf /lib/modules/* ; cd
```

 azzera tutto.

Consiglio molto spassionato, genkernel è un'ottimo modo per partire ed è anche molto comodo da usare basta lanciare genkernel --menuconfig all per poter avere un kernel preconfigurato da rifinire.

Non è che copiare manualmente il kernel compilato in boot od andarti ad impostare rete ed altre conf una per una ti renderà più esperto e competente.

Cozì come puoi selezionare il kernel con eselect kernel list ed eselect kernel set (numero del kernel).

In fin dei conti il povero genkernel viene sempre bistrattato o sopravvalutato ma non fa altro che impostare una configurazione predefinita che dovrebbe esser quasi certamente funzionante ed adatta a quasi tutti i casi compilare e copiare i file dove serve. Niente di più.

Leggi il manuale od anche solo quello che riporta genkernel --help ed il file /etc/genkernel.conf per capire come configurarlo al meglio per le tue esigenze non ti attendere miracoli ed usalo.

Per quanto riguarda la sezione hardware leggi qui e [ur=https://forums.gentoo.org/viewtopic-t-851306.html]qui[/url] per iniziare a capire più in fretta cosa abilitare e cosa no.

Nel caso fatti una copia del primo kernel funzionante ed usala per ripartire. mentre fai altre prove e disabilita una cosa alla volta, ad esmpio prima rifinisci le impostazioni generali, cpu ed hardware, dopo inizi a mettere a posto la rete e poi inizi a togliere quello che non credi serva comunque.

----------

## SleazyCriss

Purtroppo il messaggio era del bios  e anche io ho trovato quell'errore, ma essendo il pc fisso non l'ho molto capito, ho provato a rimuovere la batteria tampone ma quando l'ho fatto mi è rimasta in mano la linguetta che faceva contatto, quindi adesso il pc è da buttare completamente, vabbè mi ha servito bene ormai aveva la sua età!

----------

## djinnZ

 *SleazyCriss wrote:*   

> quindi adesso il pc è da buttare completamente

 rotto per rotto un tentativo con il saldatore lo farei (o trovi un comunissimo laboratorio di riparazione che sia in grado di farlo). Non è un danno immenso.

----------

## marziods

 *djinnZ wrote:*   

>  *SleazyCriss wrote:*   quindi adesso il pc è da buttare completamente rotto per rotto un tentativo con il saldatore lo farei (o trovi un comunissimo laboratorio di riparazione che sia in grado di farlo). Non è un danno immenso.

 

inoltre dovrebbe funzionare anche senza la batteria... dovrai reinserire la data ad ogni riavvio... e subire i messaggi di errore che ti diranno che alcuni file son stati creati nel futuro...

mandi

----------

