[RISOLTO] tutorial kernel upgrade + initrd

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.
Avatar utente
tornadomig
Linux 3.x
Linux 3.x
Messaggi: 579
Iscritto il: gio 30 set 2010, 15:17
Nome Cognome: Giorgio
Slackware: Current64 multilib
Kernel: -current
Desktop: Xfce

[RISOLTO] tutorial kernel upgrade + initrd

Messaggio da tornadomig »

ciao a tutti!

sperando di far cosa gradita senza annoiare alcuno, ecco un tutorial per cercare di comprendere insieme a voi qualcosa di piu' su initrd in slackware.
dopo aver letto e attinto dai piu' recenti tutorials per la compilazione del kernel (README.initrd, wikislack di loris su slacky.eu, alienbob etc etc), ho deciso di buttarmi e provare. a tanti non piace initrd, vabbe' pero' a volte serve :)
ovvio, ai piu' bravi non serve e non piace. il tutto e' rivolto a quelli (niubbi ^_^) come me sempre work-in-progress e appassionati della slack* in tutte le sue sfumature.
e ce ne sono, credetemi! per tutte le correzioni o consigli di chi vuole contribuire, son sempre ben accette, grazie a voi.
in questa guida son partito con i driver nouveau. ho messo i driver proprietari nvidia alla fine di tutto col kernel nuovo. pat consiglia per la loro stabilita' i 3.4.* e io preso il piu' recente da kernel.org.

vi posto un semplicissimo /etc/fstab

Codice: Seleziona tutto

/dev/sda1        swap                              swap        defaults                            0   0
/dev/sda2        /                                 ext4        defaults,noatime                    1   1
#/dev/cdrom      /mnt/cdrom                        auto        noauto,owner,ro,comment=x-gvfs-show 0   0
/dev/fd0         /mnt/floppy                       auto        noauto,owner                        0   0
devpts           /dev/pts                          devpts      gid=5,mode=620                      0   0
proc             /proc                             proc        defaults                            0   0
tmpfs            /dev/shm                          tmpfs       defaults                            0   0
tmpfs            /tmp                              tmpfs       defaults,noatime,size=4G            0   0
tmpfs            /home/utente/.cache/              tmpfs       defaults,noatime,size=4G            0   0
questo e' ora il mio /etc/lilo.conf di una installazione di slackware 14.0 x86 dopo il kernel upgrade utilizzando initrd, e' il punto di arrivo di questa guida:

Codice: Seleziona tutto

image = /boot/vmlinuz-generic-smp-3.2.29-smp # per il generic-smp ci vuole d'obbligo initrd, ho sostituito vmlinuz e rilanciato lo script mkinitrd
  initrd = /boot/initrd.gz
  root = /dev/sda2
  label = 3.2.29-smp
  read-only
# Linux bootable partition config ends
image = /boot/vmlinuz-generic-smp-3.4.42-smp
  initrd = /boot/initrd-3.4.42-smp.gz
  label = 3.4.42-smp
  read-only
dopo la classica installazione di slackware e arbitraria configurazione che fan tutti, questa e' la procedura per iniziare il kernel upgrade from source:

Codice: Seleziona tutto

$ su -

Codice: Seleziona tutto

# cd /home/utente # entrate nella vostra home personale che di sicuro dovreste aver creato gia'

Codice: Seleziona tutto

# mkdir -p packaging-x86 # creo gia' una directory per lo slackbuild per pacchettizzare dopo i kernel-modules. lo trovate per esempio in http://slackware.org.uk/slackware/slackware-current/source/k/packaging-x86/kernel-modules-smp/

Codice: Seleziona tutto

# wget https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.4.42.bz2 # scarico il kernel

Codice: Seleziona tutto

# cd packaging-x86

Codice: Seleziona tutto

# wget ftp://ftp.slackware.org.uk/slackware/slackware-14.0/source/k/packaging-x86/kernel-modules-smp/kernel-modules-smp.SlackBuild  # scarico lo slackbuild kernel-modules-smp

Codice: Seleziona tutto

# wget ftp://ftp.slackware.org.uk/slackware/slackware-14.0/source/k/packaging-x86/kernel-modules-smp/rc.modules.new

Codice: Seleziona tutto

# wget ftp://ftp.slackware.org.uk/slackware/slackware-14.0/source/k/packaging-x86/kernel-modules-smp/slack-desc

Codice: Seleziona tutto

# cd /home/utente

Codice: Seleziona tutto

# tar -C /usr/src/ -jxf linux-3.4.42 # scompatto il kernel in /usr/src

Codice: Seleziona tutto

# cd /usr/src

Codice: Seleziona tutto

# rm linux

Codice: Seleziona tutto

# ln -s linux-3.4.42/ linux # si ricrea il link al kernel nuovo dopo aver eliminato il precedente

Codice: Seleziona tutto

# cd linux

Codice: Seleziona tutto

# make mrproper # spazziamo via la precedente configurazione

Codice: Seleziona tutto

# wget http://slackware.mirrors.tds.net/pub/slackware/slackware-14.0/testing/source/config-testing-3.4.11/config-generic-smp-3.4.11-smp # questa e' una configurazione proposta dallo stesso pat che io utilizzero'

Codice: Seleziona tutto

# cp config-generic-smp-3.4.11-smp /usr/src/linux/.config # copio la configurazione del kernel generic-smp

Codice: Seleziona tutto

# make menuconfig # io uso  sempre menuconfig, se vi garba tutto (io non ho toccato niente) quando avete finito si va a selezionare save an alternate .config, date enter ed exit

Codice: Seleziona tutto

# make -j* # se avete un processore dualcore mettete -j3, per un quadcore -j5, -j2 per un singolo core # compiliamo il kernel nuovo

Codice: Seleziona tutto

# cp arch/x86/boot/bzImage /boot/vmlinuz-generic-smp-3.4.42-smp # si copia l'immagine del kernel in /boot

Codice: Seleziona tutto

# cp System.map /boot/System.map-generic-smp-3.4.42-smp

Codice: Seleziona tutto

# cp .config /boot/config-generic-smp-3.4.42-smp
adesso si puo' procedere in due maniere: la prima e' continuare col tutorial e dare modules_install come ho messo piu' avanti, oppure si puo' installare il kernel ora dopo averlo pacchettizzato evitando di dare make install come ho fatto in seguito. quindi si scarica lo slackbuild e lo mettete dove volete. io l'ho messo nella mia /home

Codice: Seleziona tutto

# mkdir -p /home/utente/kernel-generic-smp

Codice: Seleziona tutto

# cd /home/utente/kernel-generic-smp

Codice: Seleziona tutto

# wget http://slackware.org.uk/slackware/slackware-14.0/source/k/packaging-x86/kernel-generic-smp/kernel-generic-smp.SlackBuild
e anche

Codice: Seleziona tutto

# wget http://slackware.org.uk/slackware/slackware-14.0/source/k/packaging-x86/kernel-generic-smp/slack-desc
modificate lo slackbuild con la versione -3.4.42 o quella che volete, indicate come kernel=generic-smp. trovate tutto subito sotto le prime righe

Codice: Seleziona tutto

# chmod +x kernel-generic-smp.SlackBuild
lo rendete eseguibile e poi lo lanciate

Codice: Seleziona tutto

# ./kernel-generic-smp.SlackBuild
con enter. n.b. date enter una seconda volta per continuare con la creazione del pacchetto del nuovo kernel. se non trova vmlinuz-generic-smp, System.map e config-generic-smp del nuovo kernel nella sua stessa directory, lo slackbuild cerchera' nella /boot

Codice: Seleziona tutto

# cd /tmp

Codice: Seleziona tutto

# installpkg  kernel-generic-smp-3.4.42-smp.txz
installate quello che avete ottenuto. il kernel nuovo ora e' nel sistema. potete procedere con i moduli...occhio, la directory e' sempre /usr/src/linux per continuare, ok?

Codice: Seleziona tutto

# make modules_install # installiamo i moduli del kernel nuovo ma non compariranno in /etc/rc.d/ (alienbob dice di ricopiare quelli vecchi, io ho voluto pacchettizzare i nuovi. non sapevo che esisteva uno slackbuild per questo)

Codice: Seleziona tutto

# chmod +x /home/utente/packaging-x86/kernel-modules-smp.SlackBuild # rendete eseguibile lo slackbuild

Codice: Seleziona tutto

# nano /home/utente/packaging-x86/kernel-modules-smp.SlackBuild # n.b. dovete cambiare la versione del kernel nello slackbuild perche' io preso quello della 14; va bene anche quello -current quindi il kernel che trovate sara' il 3.2.29 o il 3.8.8)
editare con VERSION=${VERSION:-3.4.42} e salvare con ctrl+o, enter e ctrl+x

Codice: Seleziona tutto

# cd /home/utente/packaging-x86 && ls # spostiamoci nella directory dello slackbuild

Codice: Seleziona tutto

# ./kernel-modules-smp.SlackBuild # e si crea il pacchetto dei kernel-modules necessari per initrd

Codice: Seleziona tutto

# cd /tmp && installpkg kernel-modules-smp*.t?z # installiamo i moduli -non usare mai upgradepkg- che compariranno finalmente in /etc/rc.d come rc.modules-3.4.42-smp

Codice: Seleziona tutto

# cp /usr/share/mkinitrd/mkinitrd_command_generator.sh /boot # io son solito ricopiare lo script mkinitrd nella directory /boot
qui riprende la guida se vogliamo installare il kernel senza pacchettizzarlo (prima lo abbiamo infatti diventare un pacchetto che poi abbiamo installato)

Codice: Seleziona tutto

# cd /usr/src/linux && make install # non dimentichiamoci di installare il kernel (utilissima la guida del nostro loris su http://www.slacky.eu/wikislack/index.php?title=Compilazione_e_ricompilazione_Kernel_su_Slackware#Compilazione_Kernel_Serie_3.x.x)

Codice: Seleziona tutto

# cd /boot # andiamo nella directory /boot

Codice: Seleziona tutto

# chmod +x mkinitrd_command_generator.sh # se non lo avete gia' fatto, rendete eseguibile lo script mkinitrd. e' eseguibile quando cambia in verde la colorazione e si aggiunge *, per chi non lo sa  ;) 

Codice: Seleziona tutto

# ./mkinitrd_command_generator.sh # di sicuro riconoscerete nella restituzione del comando il kernel vecchio 3.2.29-smp quindi
modificare il kernel 3.2.9-smp con 3.4.42-smp e cosi' anche modificare /boot/initrd.gz in /boot/initrd-3.4.42-smp.gz. dopo le correzioni rilanciate lo script, vedrete che si prende i kernel-modules 3.4.42-smp che avete installato prima. li deve prendere pena kernel panic al riavvio!

Codice: Seleziona tutto

# nano /etc/lilo.conf # modifichiamo lilo
e lo modificate come il mio

Codice: Seleziona tutto

# lilo -c -v

Codice: Seleziona tutto

# reboot
se volete, potete aggiungere su /etc/lilo.conf in alto sotto boot = /dev/sda il seguente

Codice: Seleziona tutto

default = 3.4.42-smp
in modo da far partire in automatico il boot col kernel nuovo (come dice alienbob) e cio' lo vedete alla schermata del prompt cioe' la scelta del sistema operativo da avviare


ho installato poi da slackbuilds.org i driver nvidia con le varie dipendenze e funzia tutto. gia' che ci siamo, spendiamoci due paroline a riguardo:
prima di tutto mettete i nouveau in blacklist installando il seguente pacchetto xf86-video-nouveau-blacklist-noarch-1.txz (lo trovate nel dvd di installazione nella directory /extra oppure lo prendete con slackpkg install.
installate sbopkg. con esso e' piu' facile dopo il reboot installare il kernel nvidia e il suo driver piu' le sue dipendenze. le dipendenze sono elencate in slackbuilds.org. quindi dopo il reboot, vi loggate come root in init 3

Codice: Seleziona tutto

# su -
e poi

Codice: Seleziona tutto

# sbopkg
oppure potete fare anche

Codice: Seleziona tutto

# sbopkg -i nvidia-kernel
, prima pero' installate le dipendenze (libvdpau etc etc)

Codice: Seleziona tutto

# sbopkg -i nvidia-driver
, un bel reboot e dovremmo esserci.
per ritornare ai nouveau date

Codice: Seleziona tutto

# removepkg xf86-video-nouveau-blacklist-noarch-1.txz
e

Codice: Seleziona tutto

# nvidia-switch --remove
, si torna cosi' alla situazione di partenza senza xorg.conf compilato.

dato che ho installato oggi un kernel piu' aggiornato per prova, sempre dopo aver messo in blacklist i nouveau e poi reboot, con sbopkg ho reinstallato nvidia-kernel indicando come opzione KERNEL=3.4.43-smp e poi nvidia-driver.

aggiungo ancora che se riscontrate questo errore al boot:

Codice: Seleziona tutto

 /usr/sbin/alsactl: set_control:1328:failed to obtain info for control#12 
basta dare

Codice: Seleziona tutto

# alsactl -f /var/lib/alsa/asound.state store
ok, spero di non essere stato noioso...ciao a tutti!
Ultima modifica di tornadomig il mer 4 nov 2015, 21:04, modificato 22 volte in totale.
rm -rf / && rm -rf . && rm -rf *

Avatar utente
marlavo
Linux 1.x
Linux 1.x
Messaggi: 180
Iscritto il: ven 2 lug 2010, 16:38
Nome Cognome: Marco Lavorini
Slackware: 15.0 x86_x64
Kernel: 6.6.21
Desktop: XFCE 4.18

Re: [RISOLTO] tutorial kernel upgrade + initrd

Messaggio da marlavo »

Domanda: ma se non ho configurazioni particolari che funzionano solo grazie all'initrd, e compilo un nuovo kernel, che motivo ci sarebbe per dover usare anche un initrd? Di solito io imposto il controller sata e ext4 nel kernel come statici e tutto il resto che non mi serve per il boot come moduli, e l'initrd non lo creo neanche. Solo per capire :?:

Comunque ottimo lavoro :thumbright:

Avatar utente
tornadomig
Linux 3.x
Linux 3.x
Messaggi: 579
Iscritto il: gio 30 set 2010, 15:17
Nome Cognome: Giorgio
Slackware: Current64 multilib
Kernel: -current
Desktop: Xfce

Re: [RISOLTO] tutorial kernel upgrade + initrd

Messaggio da tornadomig »

@marlavo

ciau! immaginavo gia' questa domanda :)
guarda, prima di tutto il lavoretto e' stato fatto perche' volevo vedere e provare ad usare initrd. nessun motivo in particolare. tutti ne parlano ma per ignoranza mia non sapevo come funzionasse davanti ai miei occhi. stavolta ho installato la 14.0 su un altro hdd che avevo ma con l'intenzione di fare l'upgrade del kernel. puro slackexercise, diciamo.

inoltre volevo usare i /lib/modules del nuovo kernel e non fare come dice alienbob nella sua guida all'upgrade from source, cioe' di copiare i vecchi con i nuovi. e poi col comando modules_install io non trovo in /etc/rc.d i rc.modules del nuovo kernel :-k . li ho dovuti pacchettizzare per poter creare initrd nuovo. meno male che ho rinvenuto lo slackbuild appropriato ;)

so che esistono kernelpkg di submax e vari script di robby workman e willy l'indonesiano che non ho capito bene come adoperare (se sa qualcuno, mi sveli l'arcano, grazie) per il kernel upgrade ma per usare il generic-smp ho letto sul wikislack nella guida di post-installazione (It's recommended that you switch to Slackware's generic kernel, si dice) bisogna usare initrd. quindi ho cambiato il vmlinuz in generic-smp su /etc/lilo.conf ed eseguito lo script mkinitrd prima di tutto.

come dice anche il nostro grande loris < nelle ultime releases il kernel ha cambiato alcune cose>, prestare molta attenzione nel seguire la guida sul wikislack, allora mi son rimboccato le manichine e buttato su initrd. ecco quindi l'occasione per un bel tutorial che mancava, puo' tornare utile a qualcuno o approfondire l'argomento. di preferenza non mi piace virtualizzare anche se riconosco mi avrebbe evitato il formattare l'hdd.
eppoi su gentoo utilizzo genkernel per la compilazione del kernel che mi crea (per semplificare) initrd, arch linux anche adopera initrd, ubuntu fa la stessa cosa, non vedo perche' non fare un tentativo su slackware. cosi' mi tengo in esercizio.
ti dico, marlavo, mi va tutto. per evitar casini ho aspettato di avere il kernel a posto prima di mettere i drivers nvidia.
aggiornero' poi il tutorial quando faro' ulteriori upgrade. :thumbright:
rm -rf / && rm -rf . && rm -rf *

Avatar utente
marlavo
Linux 1.x
Linux 1.x
Messaggi: 180
Iscritto il: ven 2 lug 2010, 16:38
Nome Cognome: Marco Lavorini
Slackware: 15.0 x86_x64
Kernel: 6.6.21
Desktop: XFCE 4.18

Re: [RISOLTO] tutorial kernel upgrade + initrd

Messaggio da marlavo »

ciau! immaginavo gia' questa domanda :)
guarda, prima di tutto il lavoretto e' stato fatto perche' volevo vedere e provare ad usare initrd. nessun motivo in particolare. tutti ne parlano ma per ignoranza mia non sapevo come funzionasse davanti ai miei occhi. stavolta ho installato la 14.0 su un altro hdd che avevo ma con l'intenzione di fare l'upgrade del kernel. puro slackexercise, diciamo.
Tranquillo, capisco benissimo la voglia d'imparare, credo sia comune a chi frequenta questo forum :D
inoltre volevo usare i /lib/modules del nuovo kernel e non fare come dice alienbob nella sua guida all'upgrade from source, cioe' di copiare i vecchi con i nuovi. e poi col comando modules_install io non trovo in /etc/rc.d i rc.modules del nuovo kernel :-k . li ho dovuti pacchettizzare per poter creare initrd nuovo. meno male che ho rinvenuto lo slackbuild appropriato ;)
La guida di AlienBOB non l'ho letta :roll: però non mi sembra molto saggio mischiare moduli di vari kernel... per quanto riguarda rc.modules, la compilazione del kernel non lo crea, è specifico di Slackware. Io di solito, dopo aver compilato un nuovo kernel, copio pari pari quello vecchio, es. se quello vecchio si chiamava rc.modules-3.2.xx, faccio:

Codice: Seleziona tutto

# cd /etc/rc.d ; cp -a rc.modules-xx rc.modules.yy 
dove xx è la vecchia release del kernel e yy la nuova
so che esistono kernelpkg di submax e vari script di robby workman e willy l'indonesiano che non ho capito bene come adoperare (se sa qualcuno, mi sveli l'arcano, grazie) per il kernel upgrade ma per usare il generic-smp ho letto sul wikislack nella guida di post-installazione (It's recommended that you switch to Slackware's generic kernel, si dice) bisogna usare initrd. quindi ho cambiato il vmlinuz in generic-smp su /etc/lilo.conf ed eseguito lo script mkinitrd prima di tutto.
Si, probabilmente con gli script che hai citato si automatizza la procedura, ma io preferisco avere il controllo su ogni passaggio 8)
Il fatto che si raccomandi di passare al kernel generic va bene, e usare l'initrd in questo caso è obbligatorio in quanto se non seguiamo il consiglio, mancando nel generic i moduli necessari al boot otteremo un bellissimo kernel panic #-o
Compilando però un nostro kernel, che sia quello incluso in Slackware, oppure uno scaricato da kernel.org, si ha la possibilità di modificarne la configurazione, ed in questo caso, per me il setup minimo prevede di inserire statici i moduli per il filesystem ed il controller del disco, ma è una mia scelta, non sei obbligato da nessuno ;) . In questo modo semplicemente eviti di dover creare l'initrd solo per questo motivo. Ma ti ripeto, sono scelte che ognuno fa in base alle esigenze ed all'esperienza.
eppoi su gentoo utilizzo genkernel per la compilazione del kernel che mi crea (per semplificare) initrd, arch linux anche adopera initrd, ubuntu fa la stessa cosa, non vedo perche' non fare un tentativo su slackware
Il fatto che venga creato l'initrd deriva dal fatto che i pacchettizzatori non possano creare un kernel per ogni pc/server su cui viene installata la distro, e quindi i tool che aggiornano il kernel ne installano uno tipo il generic di Slackware e poi creano un initrd con tutti i moduli necessari a fare il boot. Non conosco genkernel su Gentoo ma se chi lo ha creato ha previsto di usare un initrd per un kernel compilato dall'utente avrà i suoi motivi :roll:

Comunque mi ripeto, ottimo lavoro, mi aspetto di vedere il tutto al più presto sul wiki, e magari anche su SlackDocs :thumbright:

Avatar utente
tornadomig
Linux 3.x
Linux 3.x
Messaggi: 579
Iscritto il: gio 30 set 2010, 15:17
Nome Cognome: Giorgio
Slackware: Current64 multilib
Kernel: -current
Desktop: Xfce

Re: [RISOLTO] tutorial kernel upgrade + initrd

Messaggio da tornadomig »

@marlavo

ariciao! a me fa piacere parlare di queste cose, servono a dipanare soprattutto a me parecchi dubbi (per i niubbi-anche la rima :D ). vorrei che anche altri facessero chiarezza sull'argomento e stilare una guida definitiva. allora forse tutto va su un wiki dedicato.

mischiare i kernel-modules tu dici, ma se credi basta eliminare i vecchi e paff se ne vanno (pero' come dice alienbob bisogna lasciare gli headers), quando pat emette il nuovo kernel fa piazza pulita, no? eppoi lo script mkinitrd se li chiama quindi non succede nulla, secondo me alla slack installata.

certo che potevo semplificarmi la vita dando il comando zcat tenendomi la vecchia configurazione del 3.2.29 idem i moduli (allora la guida di alienbob si puo' seguire cosi' come e'), ma volevo fare con il kernel che andavo a mettere quindi initrd era la scelta. io volevo usare il .config di pat del 3.4.11 che trovi sul dvd di installazione. ripeto, i kernel 3.4* per pat sono stabili a quanto ha riferito.

ps: ho ritoccato qualche riga della guida. ora e' a posto, spero. per i miei gusti lo e', bisogna vedere per le esigenze di altri utenti.

grazie infinite per il tuo intervento, magari fai una guida anche tu secondo le tue preferenze che la confrontiamo e proviamo e magari miglioriamo col beneplacito di tutti :thumbright:
rm -rf / && rm -rf . && rm -rf *

drumslack
Linux 0.x
Linux 0.x
Messaggi: 39
Iscritto il: sab 5 mag 2012, 2:03
Nome Cognome: Gianluca Pernigotto
Slackware: 13.37 32/64bit
Kernel: 2.6.37.6-smp
Desktop: Kde
Distribuzione: Debian
Località: San Bonifacio (VR)
Contatta:

Re: [RISOLTO] tutorial kernel upgrade + initrd

Messaggio da drumslack »

Ciao a tutti, sarei interessato alla discussione. \:D/
..Qualche settimana fa avevo compilato il kernel 3.4.40 su Slackware per la prima volta (in passato lo feci per una decina di volte su Debian); poi ho compilato il 3.4.42 per pacchettizzare i moduli in maniera pulita in “kernel-modules-smp-3.4.42.txz” servendomi dello Slackbuild che si trova nei sorgenti di Slackware.
Per l’occasione avevo deciso di scrivere anche una guida personale da postare sul mio blog ma avevo pensato di pubblicarla anche qui su slacky.eu. Se può interessare si può copiare o trarre qualche spunto ma non so se posso mettere il link qui.

Per comodità ho pacchettizzato anche “kernel-generic-smp-3.4.42_smp” con lo Slacbuild che si trova sempre nel sito di Slackware
http://mirrors.slackware.com/slackware/ ... onfig-x86/
in modo che installando il pacchetto contenente vmlinuz, config e System.map, vengono rimossi i vecchi link, copiati i nuovi file e ricreati i nuovi link in /boot in maniera automatica, senza dover fare tutto a mano per sistemare il kernel.

Spero di esservi utile..
In certi ambiti, le cose semplici sono le più facili da imparare, e spesso, è più difficile capire una cosa facile perchè rendendola tale si è dovuto complicarla.
~/ = 'sono a casa'

Avatar utente
tornadomig
Linux 3.x
Linux 3.x
Messaggi: 579
Iscritto il: gio 30 set 2010, 15:17
Nome Cognome: Giorgio
Slackware: Current64 multilib
Kernel: -current
Desktop: Xfce

Re: [RISOLTO] tutorial kernel upgrade + initrd

Messaggio da tornadomig »

@drumslack

ciau! e scommetto che sei un batterista :thumbright: provo a indovinare :lol:

a me la cosa interessa molto e ti ringrazio dell' intervento. ho provato anche io a pacchettare il -smp ma non ci sono riuscito. poi ho seguito i consigli sul wikislack di loris!
gentilmente mi posti i settaggi dello slackbuild, che voglio poi provare di nuovo? :) graaazie!!!

mi descrivi la tua avventura con questo upgrade? cosa ti ha portato a fare cosi'? :)
rm -rf / && rm -rf . && rm -rf *

drumslack
Linux 0.x
Linux 0.x
Messaggi: 39
Iscritto il: sab 5 mag 2012, 2:03
Nome Cognome: Gianluca Pernigotto
Slackware: 13.37 32/64bit
Kernel: 2.6.37.6-smp
Desktop: Kde
Distribuzione: Debian
Località: San Bonifacio (VR)
Contatta:

Re: [RISOLTO] tutorial kernel upgrade + initrd

Messaggio da drumslack »

Si tornadomig hai fatto centro, sono un batterista ! E mi piace molto il binomio Slack-Ware. :lol:

Per quanto riguarda la creazione del pacchetto kernel-generic-smp (o kernel-generic, huge o quello che è) ho solo cambiato la versione del kernel nello Slackbuild e ho copiato da /usr/src/linux il config (con o senza il punto davanti è lo stesso), System.map e vmlinuz così come sono scritti, nella dir dove ho messo lo Slackbuid, il doinst.sh e slack.desc. Se non li metti li va a cercare in /boot e se ancora non hai installato il nuovo kernel ti mette la roba vecchia rinominandola come la nuova. Non so se mi spiego.

Ho avuto la necessità di compilarmi il kernel perché la mia macchina mi andava in freeze troppo spesso quando impegnavo il processore per fare rendering video con kdenlive, ma non solo, sia con Slackware-x86_64 e i486. Poi da questa discussione
viewtopic.php?f=51&t=36603&p=329411&hil ... ze#p329411

sono andato a quest’altra
http://www.linuxquestions.org/questions ... 175434378/

e a quest’altra ancora
http://www.linuxquestions.org/questions ... 175426269/

..così avevo deciso di compilare un nuovo kernel, non mi andava di mollare la Slackware la amo troppo, e ci ho lavorato molto. Per ora non ho avuto problemi, ma sto ancora testando.
Al limite tornerò alla 13.37.

Anch’io all’inizio ho seguito wickislack di loris ma poi ho voluto approfondire così ho letto la guida di alien e altre guide che ho trovato in rete creando così un mio metodo diciamo. Ma è tutto work in progress. La guida che ho scritto è questa: http://itamburiditux.blogspot.it/2013/0 ... rm-su.html
In certi ambiti, le cose semplici sono le più facili da imparare, e spesso, è più difficile capire una cosa facile perchè rendendola tale si è dovuto complicarla.
~/ = 'sono a casa'

Avatar utente
marlavo
Linux 1.x
Linux 1.x
Messaggi: 180
Iscritto il: ven 2 lug 2010, 16:38
Nome Cognome: Marco Lavorini
Slackware: 15.0 x86_x64
Kernel: 6.6.21
Desktop: XFCE 4.18

Re: [RISOLTO] tutorial kernel upgrade + initrd

Messaggio da marlavo »

Direi che drumslack ha scritto piu o meno tutto. Come compilo io il kernel differisce solo per piccoli dettagli, tipo compilare in tmpfs e che non rimuovo i link simbolici che puntano al kernel stock.
L'unica differenza sostanziale è che volendo mettere mano al config del kernel, come ho già evidenziato, preferisco inserire statici i moduli del controller sata e del filesystem che uso (ext4) in modo da non essere costretto a creare l'initrd. Ma questo credo si fosse già capito ;)

Avatar utente
tornadomig
Linux 3.x
Linux 3.x
Messaggi: 579
Iscritto il: gio 30 set 2010, 15:17
Nome Cognome: Giorgio
Slackware: Current64 multilib
Kernel: -current
Desktop: Xfce

Re: [RISOLTO] tutorial kernel upgrade + initrd

Messaggio da tornadomig »

@marlavo && drumslack

vi ringrazio degli interventi provvidenziali! l'importante e' fare chiarezza, no?

@drumslack

ottimo tutorial, ce ne fossero di piu' e si potrebbe creare quasi un wikislack non ufficiale fatto da noi utenti (piu' o meno niubbi come il sottoscritto ihihihi) =D>
lo sfruttero' molto presto, stanne certo :thumbright:
se volessi tu postare quanto hai fatto, ti prego non indugiare. piuttosto che lasciare il link al tuo ottimo blog, grazie!

ci fossero altre aggiunte, avanti prego :)
rm -rf / && rm -rf . && rm -rf *

drumslack
Linux 0.x
Linux 0.x
Messaggi: 39
Iscritto il: sab 5 mag 2012, 2:03
Nome Cognome: Gianluca Pernigotto
Slackware: 13.37 32/64bit
Kernel: 2.6.37.6-smp
Desktop: Kde
Distribuzione: Debian
Località: San Bonifacio (VR)
Contatta:

Re: [RISOLTO] tutorial kernel upgrade + initrd

Messaggio da drumslack »

@tornadomig

Grazie sei troppo gentile, sono contento di essere stato utile. Si in effetti volevo proporre l'inserimento della guida su wickislack, ma ho visto che tu sei arrivato prima e allora lascerei a te la cosa se vuoi; io a questo punto posso solo suggerirti di copiare quello che ti serve, in tutto o in parte di ciò che ho scritto senza complimenti, tanto scrivere qui o scrivere altrove per me poco cambia, ma di certo qui su slacky.eu è senz'altro più attinente e comodo.

@marlavo

Stavo giusto pensando di modificare il kernel-generic-smp.SlackBuild per mantenermi i link del kernel originali, credo sia più giusto. Poi riguardo al compilare in maniera statica il controller sata e il filesystem, questo permette di non creare l'initrd ed è un lavoro in meno, ma per un utente alle prime non è molto agevole aggirarsi nei meandri oscuri del kernel. Se qualcuno lo sa fare credo non abbia neppure bisogno di un tutorial su come compilare il kernel, oppure segue la guida fino ad un certo punto e poi da menuconfig e personalizza.
..Si potrebbe tentare però di scrivere qualcosa su come compilare in modo statico, ma la vedo dura visto che le tipologie combinate di controller e di filesystem sono molte.
In certi ambiti, le cose semplici sono le più facili da imparare, e spesso, è più difficile capire una cosa facile perchè rendendola tale si è dovuto complicarla.
~/ = 'sono a casa'

Avatar utente
tornadomig
Linux 3.x
Linux 3.x
Messaggi: 579
Iscritto il: gio 30 set 2010, 15:17
Nome Cognome: Giorgio
Slackware: Current64 multilib
Kernel: -current
Desktop: Xfce

Re: [RISOLTO] tutorial kernel upgrade + initrd

Messaggio da tornadomig »

@drumslack

tranquillo, non cerco gloria. mettilo pure tu. pero' se qualcuno di autorevole vuole avere l'ultima parola, preferisco :)

se hai altri tutorial , fai un fischio!!!




OT cosa suoni di bello? \:D/ ( va bene anche pm )
rm -rf / && rm -rf . && rm -rf *

drumslack
Linux 0.x
Linux 0.x
Messaggi: 39
Iscritto il: sab 5 mag 2012, 2:03
Nome Cognome: Gianluca Pernigotto
Slackware: 13.37 32/64bit
Kernel: 2.6.37.6-smp
Desktop: Kde
Distribuzione: Debian
Località: San Bonifacio (VR)
Contatta:

Re: [RISOLTO] tutorial kernel upgrade + initrd

Messaggio da drumslack »

Mah, le guide che ho sono tutte li, è un po noioso alla lunga scrivere tutorials.

Offtopic: Suono un po quello che mi capita. La musica che mi da più soddisfazione è la musica improvvisata. Ma potrei dire la stessa cosa per la musica scritta. Sono un po agli estremi in questo ambito. Tu suoni?
In certi ambiti, le cose semplici sono le più facili da imparare, e spesso, è più difficile capire una cosa facile perchè rendendola tale si è dovuto complicarla.
~/ = 'sono a casa'

Avatar utente
tornadomig
Linux 3.x
Linux 3.x
Messaggi: 579
Iscritto il: gio 30 set 2010, 15:17
Nome Cognome: Giorgio
Slackware: Current64 multilib
Kernel: -current
Desktop: Xfce

Re: [RISOLTO] tutorial kernel upgrade + initrd

Messaggio da tornadomig »

@drumslack

ciao! avrei altro da chiederti. volevo "pacciare" il 3.4.42 quindi ho scaricato la patch e installato come da programma con bzip2. non ho capito cosa devo fare dopo, quando compaiono tutte quelle righe (scusa il termine) che riportano Assume -R? scusa ma li' non ci sono arrivato.
inoltre, per ricompilare, su che guida mi posso fidare? provai quella di slacky ma non e' andata. qualche consiglio? tu come la fai?

grazie!!!

(intanto ho installato il 3.4.43-smp per verificare la guida, fatto ancora qualche correzione e posso dire che va) ;)



Offtopic: io canto, al momento ho una duran duran tribute band. mi piace la musica anni 80 purtroppo :lol:
rm -rf / && rm -rf . && rm -rf *

drumslack
Linux 0.x
Linux 0.x
Messaggi: 39
Iscritto il: sab 5 mag 2012, 2:03
Nome Cognome: Gianluca Pernigotto
Slackware: 13.37 32/64bit
Kernel: 2.6.37.6-smp
Desktop: Kde
Distribuzione: Debian
Località: San Bonifacio (VR)
Contatta:

Re: [RISOLTO] tutorial kernel upgrade + initrd

Messaggio da drumslack »

Sei sicuro di aver scaricato la patch giusta, qual'è la versione esattamente? e quali comandi hai dato ?

..sarebbe stato meglio fare un backup dei sorgenti prima no ? #-o Forse hai applicato la patch due volte?
In certi ambiti, le cose semplici sono le più facili da imparare, e spesso, è più difficile capire una cosa facile perchè rendendola tale si è dovuto complicarla.
~/ = 'sono a casa'

Rispondi