Ricompilazione kernel e /etc/rc.d/rc.modules

Se avete problemi con l'installazione e la configurazione di Slackware postate qui. Non usate questo forum per argomenti generali... per quelli usate Gnu/Linux in genere.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Slackware, se l'argomento è generale usate il forum Gnu/Linux in genere.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
Bart
Staff
Staff
Messaggi: 4249
Iscritto il: lun 9 ago 2004, 0:00
Località: Rimini

Ricompilazione kernel e /etc/rc.d/rc.modules

Messaggio da Bart »

Ciao,
ho appena ricompilato l'ultimo kernel (2.6.22.2). Tutto ok, l'unico problema è che al boot ho dei fatal relativi a dei moduli che non trova (ho eliminato il loro supporto). Ora volevo chiedervi se per eliminare questi "fatal" l'unica soluzione fosse rieditare /etc/rc.d/rc.modules o se esistevano altre vie. Mi sembra di ricordare di aver letto altri suggerimenti in passato ma non li trovo più nel forum. Consigli?

Avatar utente
j0kers
Linux 2.x
Linux 2.x
Messaggi: 418
Iscritto il: dom 22 lug 2007, 1:31
Slackware: 13
Kernel: 2.6.32
Desktop: xfce4

Messaggio da j0kers »

Hai fatto "make modules_install"?? inoltre prova a commentare le righe dove ti da l'errore del caricamento nel file rc.modules probabilemente non hai attivato il supporto come modulo nel nuovo kernel oppure il modulo si chiama in un altro modo...comunque prova a caricarli manualmente e vedi un pò :D

Bart
Staff
Staff
Messaggi: 4249
Iscritto il: lun 9 ago 2004, 0:00
Località: Rimini

Messaggio da Bart »

j0kers ha scritto:Hai fatto "make modules_install"?? inoltre prova a commentare le righe dove ti da l'errore del caricamento nel file rc.modules probabilemente non hai attivato il supporto come modulo nel nuovo kernel oppure il modulo si chiama in un altro modo...comunque prova a caricarli manualmente e vedi un pò :D
Si certo che l'ho fatto. :) Non è un problema, le righe le ho già decommentate e i fatal non li ho più. Il mio post è solo per chiedere se esistono vie alternative, come ricreare quel file in questione. ;) Grazie comunque per l'aiuto.

Avatar utente
j0kers
Linux 2.x
Linux 2.x
Messaggi: 418
Iscritto il: dom 22 lug 2007, 1:31
Slackware: 13
Kernel: 2.6.32
Desktop: xfce4

Messaggio da j0kers »

Behh ricrearlo semplicemente con il caricamento dei moduli giusti oppure correggendo il nome dei moduli per questo ti conviene eseguire la procedura prima manualmente per vedere effettivamente se hai degli errori, per poi inserire il comando nel rc.modules :)

Avatar utente
Paoletta
Staff
Staff
Messaggi: 3975
Iscritto il: lun 25 apr 2005, 0:00
Slackware: 14.2 - 64 bit
Desktop: fluxbox
Località: Varese

Re: Ricompilazione kernel e /etc/rc.d/rc.modules

Messaggio da Paoletta »

Bart ha scritto:Ciao,
ho appena ricompilato l'ultimo kernel (2.6.22.2). Tutto ok, l'unico problema è che al boot ho dei fatal relativi a dei moduli che non trova (ho eliminato il loro supporto). Ora volevo chiedervi se per eliminare questi "fatal" l'unica soluzione fosse rieditare /etc/rc.d/rc.modules o se esistevano altre vie. Mi sembra di ricordare di aver letto altri suggerimenti in passato ma non li trovo più nel forum. Consigli?
quella più pulita è creare ad hoc il file /etc/rc.d/rc.modules-2.6.22.2 ; io ho un rc.modules per ogni kernel che ho

Avatar utente
slucky
Iper Master
Iper Master
Messaggi: 2420
Iscritto il: mar 1 mag 2007, 15:30
Slackware: 15.0
Desktop: xfce4
Distribuzione: FreeBSD

Messaggio da slucky »

Giusto, infatti dopo aver compilato ed installato il nuovo kernel,se il file modules per il nuovo kernel non è presente:

cp /etc/rc.d/rc.modules-<vecchiokernel> /etc/rc.d/rc.modules-<nuovokernel>

chmod 755 /etc/rc.d/rc.modules-<nuovokernel>

E sei a posto.

Ciao a tutti

:D

Avatar utente
Paoletta
Staff
Staff
Messaggi: 3975
Iscritto il: lun 25 apr 2005, 0:00
Slackware: 14.2 - 64 bit
Desktop: fluxbox
Località: Varese

Messaggio da Paoletta »

vedere a questo proposito il file /etc/rc.d/rc.S

Codice: Seleziona tutto

if [ -x /etc/rc.d/rc.modules.local -a -r /proc/modules ]; then
  echo "Running /etc/rc.d/rc.modules.local:"
  /bin/sh /etc/rc.d/rc.modules.local
elif [ -x /etc/rc.d/rc.modules-$(uname -r) -a -r /proc/modules ]; then
  echo "Running /etc/rc.d/rc.modules-$(uname -r):"
  . /etc/rc.d/rc.modules-$(uname -r)
elif [ -x /etc/rc.d/rc.modules -a -r /proc/modules -a -L /etc/rc.d/rc.modules ]
  echo "Running /etc/rc.d/rc.modules -> $(readlink /etc/rc.d/rc.modules):"
  . /etc/rc.d/rc.modules
elif [ -x /etc/rc.d/rc.modules -a -r /proc/modules ]; then
  echo "Running /etc/rc.d/rc.modules:"
  . /etc/rc.d/rc.modules
fi

Bart
Staff
Staff
Messaggi: 4249
Iscritto il: lun 9 ago 2004, 0:00
Località: Rimini

Messaggio da Bart »

Quindi affinchè venga caricato il nuovo /etc/rc.d/rc.modules mi basta crearne uno nuovo chiamato rc.modules-2.6.22.2 giusto? Poi voi lo editate tutto a mano o esiste qualcosa per generarlo in automatico? Grazie.

Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6643
Iscritto il: gio 3 nov 2005, 14:05
Nome Cognome: Emanuele Tomasi
Slackware: 64-current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

Messaggio da targzeta »

Bart ha scritto:Quindi affinchè venga caricato il nuovo /etc/rc.d/rc.modules mi basta crearne uno nuovo chiamato rc.modules-2.6.22.2 giusto? ....
Bhé, non solo, da quello che ha postato Paoletta potrebbe chiamarsi anche rc.modules o rc.modules.local.

Personalmente non uso questo file, tutti i miei moduli si caricano solo se ce ne è bisogno (vedi man modprobe).
comunque, non credo sia necessario crearne uno ogni volta che si compila un kernel, alla fine i moduli sono più o meno sempre gli stessi che devono essere caricati giusto? Magari se cambia nome, ma succede raramente.
Insomma, il mio consiglio è, o di usare modprobe come faccio io, oppure di lasciare il vecchio rc.modules magari rinominandolo in rc.modules.local in modo da non dovergli cambiare ogni volta nome (intendo `uname -r`).

Infine, se proprio volete crearvi il vostro rc.modules, allora fatelo assolutamente in maniera automatica (con uno shell script ad esempio) e poi usate la funzionalità "make install" dei sorgenti del kernel che vi posto qui (da make help nei sorgenti):

Codice: Seleziona tutto

  install       - Install kernel using
                  (your) ~/bin/installkernel or
                  (distribution) /sbin/installkernel or
                  install to $(INSTALL_PATH) and run lilo
Questo vuol dire che potete tranquillamente usare un vostro script per installare il kernel, io ad esempio, maniaco come sono dei pacchetti Slackware, tramite questo script creo e installo i pacchetti per:
- l'immagine
- i moduli
- gli headers
di ogni kernel che compilo, poi lancio lilo e mi setto un flag che mi rimuoverà i vecchi (gli attuali) moduli al prossimo riavvio (per la sessione corrente servono ancora).

Spina

Avatar utente
slucky
Iper Master
Iper Master
Messaggi: 2420
Iscritto il: mar 1 mag 2007, 15:30
Slackware: 15.0
Desktop: xfce4
Distribuzione: FreeBSD

Messaggio da slucky »

Spina questa procedura è interessante :-k puoi spiegare meglio passo passo come fai ad installare il kernel tramite questo script e magari ci dai il contenuto dello script, che quasi quasi la prossima volta che installo un kernel nuovo sperimento questa soluzione anch'io,dopo l'installazione classica e kernelpkg.........abbiamo un'altro sistema di installazione :lol: ..........è proprio vero che con il pinguino il medesimo risultato si può raggiungere in modi diversi ;)


Ciao a tutti!!! :D

Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6643
Iscritto il: gio 3 nov 2005, 14:05
Nome Cognome: Emanuele Tomasi
Slackware: 64-current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

Messaggio da targzeta »

slucky ha scritto:Spina questa procedura è interessante :-k puoi spiegare meglio passo passo come fai ad installare il kernel tramite questo script e magari ci dai il contenuto dello script, che quasi quasi la prossima volta che installo un kernel nuovo sperimento questa soluzione anch'io,dopo l'installazione classica e kernelpkg.........abbiamo un'altro sistema di installazione :lol: ..........è proprio vero che con il pinguino il medesimo risultato si può raggiungere in modi diversi ;)


Ciao a tutti!!! :D
Bhé, la teoria è semplice, scrivi un qualsiasi script, lo chiami installkernel e lo posizioni nella directory /sbin. Quindi lanci, make && make install e, prima si compila il kernel e i moduli (tramite make) e poi viene installato il kernel tramite il proprio script (/sbin/installkernel).
Avevo suggerito a submax di rinominare kernelpkg in installkernel in modo da mascherare kernelpkg.
comunque, quello che faccio io è proprio questo, ho semplicemente creato uno SlackBuild e lo chiamato /sbin/installkernel. C'è da dire però che consta di un pò di file:
- /sbin/installkernel
- /usr/etc/installkernel/package-image
- /usr/etc/installkernel/package-modules
- /usr/etc/installkernel/package-header
Le ultime tre sono semplicemente directory che contengono gli slack-desc e doinst.sh di ogni pacchetto.
Per il resto è un semplice SlackBuild. Se ti interessa vederlo posso crearti un pacchetto Slackware e poi ti dò il link. comunque ti consiglio di leggere lo SlackBuild prima di provarlo, io l'ho fatto per mio uso e non per distribuirlo :).

Spina

Avatar utente
submax82
Staff
Staff
Messaggi: 3202
Iscritto il: mer 31 ago 2005, 0:00
Desktop: xfce
Distribuzione: SalixOS
Contatta:

Messaggio da submax82 »

@spina

le possibilità di creare uno script installkernel che poi viene richiamato automaticamente dai sorgenti del kernel è interessante ma a mio parere è bella ok ma richiede sempre il classico "make && make install" come una compilazione classica ... cioè non è un tool completo che fà tutto, non sò lo trovo poco intuitivo e pratico... poi non capisco perchè usi sto metodo... c'è kernelpkg che fà tutto (alla fine contiene anche lui gli slackbuild) e produce i pacchetti è testato, funziona bene, aggiorna lilo, ecc... hai scritto una cosa che fà semplicemente la stessa cosa di kernelpkg ma in modo leggermente diverso... booo sei libero di fare come vuoi ma diciamo che non è proprio un metodo alternativo, cambia solo il metodo di "aggancio" hai sorgenti del kernel da compilare ma in pratica il "motore" è lo stesso.
Il mio tool vuole essere un comando a parte che stà "in piedi" da solo al 100%, per questo non ho intenzione di combiarli nome perchè non voglio usare il metodo installkernel.

per rc.modules anche se raramente i nomi dei moduli cambiano ecc.... a mio parere la soluzione migliore, più versatile e più elegante è quella di avere tanti rc.modules-$versione come ha fatto Pat.

Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6643
Iscritto il: gio 3 nov 2005, 14:05
Nome Cognome: Emanuele Tomasi
Slackware: 64-current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

Messaggio da targzeta »

@ submax82

Che dirti...la vita è bella perchè è varia :D

Spina

Avatar utente
submax82
Staff
Staff
Messaggi: 3202
Iscritto il: mer 31 ago 2005, 0:00
Desktop: xfce
Distribuzione: SalixOS
Contatta:

Messaggio da submax82 »

spina ha scritto:@ submax82

Che dirti...la vita è bella perchè è varia :D

Spina
ok ;) :D ma date fiducia a kernelpkg :cry: :oops:

Rispondi