Dubbio compilazione Kernel

Usate questo forum per proporre nuovi articoli, creare gruppi di lavoro, segnalare problemi, collaborare in genere al progetto Wikislacky.

Moderatore: Staff

Regole del forum
1) Citare l'eventuale nome e link dell'articolo della wiki.
2) Specificare se discussione/suggerimento o richiesta d'aiuto.
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
Avatar utente
RedSkull92
Linux 3.x
Linux 3.x
Messaggi: 567
Iscritto il: mar 21 apr 2009, 17:25
Slackware: 64bit -current
Kernel: 3.5.4
Desktop: FluxBox
Località: Palermo
Contatta:

Dubbio compilazione Kernel

Messaggio da RedSkull92 »

Quì: http://www.slacky.eu/wikislack/index.ph ... _Slackware
Nella parte che si riferisce a Compilazione Nuovo Kernel Serie 2.6.xx dice di prendere il kernel nella seguente path:
arch/x86/boot/bzImage /boot/vmlinuz-2.6.xx

mentre nella parte che si riferisce a Ricompilazione Kernel Serie 2.6.xx dice di prendere il kernel nella seguente path:
/usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz-2.6.xx-new
ora mi domando... è un'errore oppure è giusto così ?

poi nella parte per compilare dice di fare così:

Codice: Seleziona tutto

# make -j5 modules
# make modules_install
ma non è la stessa cosa fare

Codice: Seleziona tutto

make ; make modules_install 
?
Lo dico perchè questa cosa mi ha creato parecchia confusione...
GRAZIE

zxzxasas
Linux 2.x
Linux 2.x
Messaggi: 397
Iscritto il: sab 15 nov 2008, 2:28
Nome Cognome: Pasquale
Slackware: current
Kernel: 2.6.35.7
Desktop: KDE 4.5.2

Re: Dubbio compilazione Kernel

Messaggio da zxzxasas »

Secondo me prima di ricompilare il kernel devi farti un poco di chiarezza su quello che stai facendo...

Comunque...

bzImage sarebbe l' immagine del kernel. E si trova nella directory /path/to/source/arch/x86/boot/bzImage.
La prima guida da per scontato che ti trovi nel path to source, la seconda da per scontato che tu abbia usato la directory classica in cui si mettono i sorgenti (/usr/src/linux). Ma come vedi è praticamente la stessa cosa.

Poi, passiamo alla compilazione.
digitando `make` sostituisci la successione `make bzImage` `make modules`. Sostanzialmente, compili la bzImage (la parte statica) e modules (i moduli, la parte modulare).
`make modules_install` copia i moduli compilati nelle giuste directory.

il -j5 avvia 5 processi di compilazione paralleli.

Infine, /boot/vmlinuz-2.6blablabla sarebbe ciò che dovrai indicare a lilo/grub. Anche in questo caso, è una standardizzazione, perchè potresti chiamare il file con un nome qualsiasi!

Avatar utente
RedSkull92
Linux 3.x
Linux 3.x
Messaggi: 567
Iscritto il: mar 21 apr 2009, 17:25
Slackware: 64bit -current
Kernel: 3.5.4
Desktop: FluxBox
Località: Palermo
Contatta:

Re: Dubbio compilazione Kernel

Messaggio da RedSkull92 »

Grazie, ma io ho notato GIUSTAMENTE che la path è diversa...
cioè quì dice di prendere il kernel in
arch/x86/boot/bzImage /boot/vmlinuz-2.6.xx
mentre li dice di prenderlo da un'altra directory
arch/i386/boot/bzImage /boot/vmlinuz-2.6.xx-new
come mai questo cambiamento ?

metrofox
Linux 3.x
Linux 3.x
Messaggi: 760
Iscritto il: gio 7 ago 2008, 12:29
Slackware: slackware64-current
Kernel: 3.4.4-ck3
Desktop: FluxBox-1.3.1
Distribuzione: FreeBSD-8.1(amd64)
Località: London

Re: Dubbio compilazione Kernel

Messaggio da metrofox »

Nulla di grave, forse può essere la compilazione stessa che salva l'immagine in quella path di default(anche se non credo) o forse la salva lì per la tua architettura... Nulla di così curioso o anormale :)

Avatar utente
RedSkull92
Linux 3.x
Linux 3.x
Messaggi: 567
Iscritto il: mar 21 apr 2009, 17:25
Slackware: 64bit -current
Kernel: 3.5.4
Desktop: FluxBox
Località: Palermo
Contatta:

Re: Dubbio compilazione Kernel

Messaggio da RedSkull92 »

ma è piuttosto strano .
cioè nella guida dice questo:
dopo un certo periodo che dipende ovviamente dalla velocità del vostro sistema vi troverete l'immagine del Kernel pronta in /usr/src/linux/arch/i386/boot/.
ma poi ti fà prelevare il kernel da un'altra directory
arch/x86/boot/bzImage
che senso avrebbe ?
Di sicuro è stata una svista da parte dell'autore, ma per un'argomento tanto delicato penso sia meglio definire per bene da dove prelevare il kernel (io l'ho sempre prelevato da arch/x86/boot/bzImage)

Avatar utente
brainvision
Packager
Packager
Messaggi: 761
Iscritto il: ven 26 dic 2008, 18:23
Nome Cognome: Leonardo Totaro
Slackware: x86_64-current
Kernel: 3.7.1
Desktop: xfce 4.10
Località: bologna (bo)
Contatta:

Re: Dubbio compilazione Kernel

Messaggio da brainvision »

ma mi sa che l'architettura i386 nel kernel dal 2.6 in poi non è più prevista.. da allora c'è x86 e basta.. non ricordo dove di preciso, ma se neparlava in un'altra discussione qui nel forum di slacky.eu. Io da quando ricompilo il kernel ho sempre trovato x86.. ed ha sempre funzionato, quindi fidati e vai avanti.. ok?

Avatar utente
RedSkull92
Linux 3.x
Linux 3.x
Messaggi: 567
Iscritto il: mar 21 apr 2009, 17:25
Slackware: 64bit -current
Kernel: 3.5.4
Desktop: FluxBox
Località: Palermo
Contatta:

Re: Dubbio compilazione Kernel

Messaggio da RedSkull92 »

sisi tranquillo io ho sempre fatto così, ma era per avvertire gli autori così da poter correggere/modificare il wiky :)

metrofox
Linux 3.x
Linux 3.x
Messaggi: 760
Iscritto il: gio 7 ago 2008, 12:29
Slackware: slackware64-current
Kernel: 3.4.4-ck3
Desktop: FluxBox-1.3.1
Distribuzione: FreeBSD-8.1(amd64)
Località: London

Re: Dubbio compilazione Kernel

Messaggio da metrofox »

brainvision ha scritto:ma mi sa che l'architettura i386 nel kernel dal 2.6 in poi non è più prevista.. da allora c'è x86 e basta.. non ricordo dove di preciso, ma se neparlava in un'altra discussione qui nel forum di slacky.eu. Io da quando ricompilo il kernel ho sempre trovato x86.. ed ha sempre funzionato, quindi fidati e vai avanti.. ok?
Perché questo cambio? :)

Avatar utente
Toxoz
Linux 1.x
Linux 1.x
Messaggi: 140
Iscritto il: mer 9 set 2009, 13:28
Nome Cognome: Antonio Sciuto
Distribuzione: Fedora 14
Località: Catania,Sicilia

Re: Dubbio compilazione Kernel

Messaggio da Toxoz »

Io invece ho un altro dubbio .... come faccio poi a togliere un kernel più vecchio che ormai non uso più ? Per ora mi va bene avere due kernel ... quello di default e quello stabile più recente .... ma appena uscirà la prima versione stabile del 2.6.32 ... come faccio a togliere quello che uso? Devo dare make clean nella directory dei sorgenti?

Avatar utente
brainvision
Packager
Packager
Messaggi: 761
Iscritto il: ven 26 dic 2008, 18:23
Nome Cognome: Leonardo Totaro
Slackware: x86_64-current
Kernel: 3.7.1
Desktop: xfce 4.10
Località: bologna (bo)
Contatta:

Re: Dubbio compilazione Kernel

Messaggio da brainvision »

no, non c'è bisogno, basta eliminare tutte le directory che si riferiscono a quel kernel. oltre naturalmente ai file in /boot..
Quindi

Codice: Seleziona tutto

/lib/modules/linux-xxxx
/usr/src/linux-xxxx
Dare un

Codice: Seleziona tutto

make clean
ti serve più che altro nel caso tu voglia ritornare ad avere i sorgenti "puliti" eliminando ogni riferimento creato dal precedente .config..

Jan69
Linux 0.x
Linux 0.x
Messaggi: 39
Iscritto il: dom 28 nov 2010, 1:55
Slackware: 64 -current
Kernel: 2.6.37.4
Desktop: KDE 4.5.5

Re: Dubbio compilazione Kernel

Messaggio da Jan69 »

RedSkull92 ha scritto:ma è piuttosto strano .
cioè nella guida dice questo:
dopo un certo periodo che dipende ovviamente dalla velocità del vostro sistema vi troverete l'immagine del Kernel pronta in /usr/src/linux/arch/i386/boot/.
ma poi ti fà prelevare il kernel da un'altra directory
arch/x86/boot/bzImage
che senso avrebbe ?
Di sicuro è stata una svista da parte dell'autore, ma per un'argomento tanto delicato penso sia meglio definire per bene da dove prelevare il kernel (io l'ho sempre prelevato da arch/x86/boot/bzImage)
Guarda, io stamattina per la mia Slack64, e col tuo stesso dubbio, ho digitato un bel

Codice: Seleziona tutto

bash-4.1# cp arch/x86_64/boot/bzImage /boot/vmlinuz-2.6.36.2
e tutto e' andato a buon fine.
Adesso sono andato a vedere cosa c'e' in arch/x86_64/boot/ (visto che bash al momento mi faceva completare ogni cosa digitassi) e mi ritrovo

Codice: Seleziona tutto

lrwxrwxrwx 1 zx zx   22 Jan  9 08:34 bzImage -> ../../x86/boot/bzImage
Per cui credo che il sistema compili in automatico in base alla tua architettura e poi si limiti a linkare l'immagine che ha creato.
Magari se passa qualche guru puo' essere piu' preciso ;)

Avatar utente
albatros
Iper Master
Iper Master
Messaggi: 2093
Iscritto il: sab 4 feb 2006, 13:59
Kernel: 5.19.0
Desktop: gnome and lxqt
Distribuzione: ubuntu 22.04
Località: Darmstadt - Germania

Re: Dubbio compilazione Kernel

Messaggio da albatros »

RedSkull92 ha scritto:Quì: http://www.slacky.eu/wikislack/index.ph ... _Slackware
Nella parte che si riferisce a Compilazione Nuovo Kernel Serie 2.6.xx dice di prendere il kernel nella seguente path:
arch/x86/boot/bzImage /boot/vmlinuz-2.6.xx

mentre nella parte che si riferisce a Ricompilazione Kernel Serie 2.6.xx dice di prendere il kernel nella seguente path:
/usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz-2.6.xx-new
ora mi domando... è un'errore oppure è giusto così ?
Il bzImage nella directory i386 è semplicemente un link simbolico, come segnalato anche da Jan69 per x86_64.

Codice: Seleziona tutto

/usr/src/linux-2.6.37/arch/i386/boot$ ls -l
totale 0
lrwxrwxrwx 1 root root 22 gen  7 22:34 bzImage -> ../../x86/boot/bzImage

Avatar utente
conraid
Staff
Staff
Messaggi: 13630
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: Dubbio compilazione Kernel

Messaggio da conraid »

nel 2.6.24 uscito a gennaio 2008 è stato unificato il codice x86_64 e i386

da KN
When support for the x86-64 AMD architecture was developed, it was decided to develop it as a "fork" of the traditional x86 architecture for comodity reasons. Many patches needed to patch a file in the i386 architecure directory, and another similar patch for the duplicated file in the x86_64 directory. It has been decided to unify both architectures in the same directory again.

This reunification has not been done in a radical way. In this release, both architectures have been unified in arch/x86, but only in appearance. All the source files in i386 and x86-64 directories have been moved to arch/x86, but renaming them with "_32" and "_64" suffixes. Ex: arch/i386/kernel/reboot.c has been moved to arch/x86/kernel/reboot_32.c, and arch/x86_64/kernel/reboot.c has been moved to arch/x86/kernel/reboot_64.c. Makefiles have been modified accordingly. So for now the reunification has been pretty much just a relocation of all the files and adaptation of the build machinery to make it compile just as it'd have been compiled in the old separated directories, done mostly with scripts.

In the future lots of those files will be unified and shared by both architectures, ex. reboot_32.c and reboot_64.c into reboot.c, and many files have already been unified in this release. Others will keep separated forever, due to the differences between both architectures.
Per l'unificazione dei singoli file le cose non sono ancora state completate, se guardate nei sorgenti i citati reboot_32 e reboot_64 ora sono un unico file, ma esistono ancora altri file separati

Jan69
Linux 0.x
Linux 0.x
Messaggi: 39
Iscritto il: dom 28 nov 2010, 1:55
Slackware: 64 -current
Kernel: 2.6.37.4
Desktop: KDE 4.5.5

Re: Dubbio compilazione Kernel

Messaggio da Jan69 »

conraid ha scritto:da KN
E' vero!!! 8)

M'ero totalmente dimenticato di Kernel Newbies, grazie! :D

Rispondi