Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
come posso pacchettizzare il kernel complato?
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Forum italiano (Italian)
View previous topic :: View next topic  
Author Message
bi-andrea
Apprentice
Apprentice


Joined: 09 Mar 2010
Posts: 171
Location: cesenatico

PostPosted: Sat Jun 08, 2013 8:03 pm    Post subject: come posso pacchettizzare il kernel complato? Reply with quote

può sembrare banale, ma io uso abitualmente
Code:
emerge -b <nome pachetto>

e lui me lo intalla e mi crea un binario in
Code:
/usr/portage/packages

faccio così perchè ho un buon computer veloce, ma installo i binari in uno più vecchio e la cosa riesce bene senza intoppi, però col kernel è molto lento e chiedevo se si riesce ad avere un tarball o un binario simile come *.tbz2 che con un semplice comando tutti i moduli e binari vanno al loro posto.
come posso farlo?
_________________
Quando arrivi a Linux è un trauma, abituati a Windows, quando arrivi a Gentoo è uno spavento col brivido , però quando lo capisci sei uscito dall'università "GNU/Linux" ;)
Back to top
View user's profile Send private message
sabayonino
Veteran
Veteran


Joined: 03 Jan 2012
Posts: 1038

PostPosted: Sun Jun 09, 2013 11:46 am    Post subject: Reply with quote

Creare semplicemente un tarball (compresso o meno) della cartella /lib/modules/<kernel> , eventualmente i sorgenti in /usr/src/<kernel> e/o l'immagine e l'initramfs (se presente) in /boot in modo da poterlo trasferire comodamente (una sorta di mini-stage-3 dedicato solo al kernel) negli altri pc

Code:
# tar -cfv kernel-gentoo.tar /lib/modules/<kernel> /usr/src/<kernel> /boot/kernel-genkernel-XX /boot/initramfs-genkernel-XX


e ripristinarlo
Code:
# tar -C / -xfv kernel-gentoo.tar


[edit] Ovviamente assicurati che i drivers delle periferiche dell'altro pc (inclusi o meno nel kernel) siano stati compilati :roll:
Back to top
View user's profile Send private message
pierino_89
Guru
Guru


Joined: 03 Oct 2009
Posts: 524

PostPosted: Sun Jun 09, 2013 2:36 pm    Post subject: Reply with quote

Volendo puoi cambiare INSTALL_PATH (default: /boot) e INSTALL_MOD_PATH (default: / a cui viene aggiunto /lib/modules/$(KERNELRELEASE) ) durante il make, così puoi installare il tutto in una cartella e poi fare un tar di quella senza andare a cercare i vari elementi in giro.

I sorgenti non starei a portarli dietro, per quelli basta emergere i gentoo-sources relativi (o i sources del caso).

Quando ripristini il kernel ricordati di lanciare "module-rebuild rebuild". Portarsi dietro questo tipo di moduli in genere è inutile perché i componenti in userspace non saranno più della stessa versione (vedi drivers nvidia).
_________________
Linux registered user 461710
Back to top
View user's profile Send private message
bi-andrea
Apprentice
Apprentice


Joined: 09 Mar 2010
Posts: 171
Location: cesenatico

PostPosted: Wed Jun 12, 2013 12:15 pm    Post subject: Reply with quote

Code:
Quando ripristini il kernel ricordati di lanciare [b]"module-rebuild rebuild"[/b]. Portarsi dietro questo tipo di moduli in genere è inutile perché i componenti in userspace non saranno più della stessa versione (vedi drivers nvidia).


non lo vede come comando e mi ristituisce
Code:
-bash: module-rebuild: command not found

_________________
Quando arrivi a Linux è un trauma, abituati a Windows, quando arrivi a Gentoo è uno spavento col brivido , però quando lo capisci sei uscito dall'università "GNU/Linux" ;)
Back to top
View user's profile Send private message
pierino_89
Guru
Guru


Joined: 03 Oct 2009
Posts: 524

PostPosted: Wed Jun 12, 2013 12:19 pm    Post subject: Reply with quote

Devi installare il pacchetto omonimo: sys-kernel/module-rebuild :wink:
_________________
Linux registered user 461710
Back to top
View user's profile Send private message
sabayonino
Veteran
Veteran


Joined: 03 Jan 2012
Posts: 1038

PostPosted: Wed Jun 12, 2013 12:31 pm    Post subject: Reply with quote

pierino_89 wrote:
Devi installare il pacchetto omonimo: sys-kernel/module-rebuild :wink:


...ed eseguire
Code:
# module-rebuild rebuild


Altre opzioni
Code:
module-rebuild
module-rebuild [options] action [category/package]
Version: 0.5

Where options are:
        -X       - Emerge based on package names,
                   not exact versions.
        -C       - Disable all coloured output.

Where action is one of:
        add      - Add package to moduledb.
        del      - Delete a package from moduledb.
        toggle   - Toggle auto-rebuild of Package.
        list     - List packages to auto-rebuild.
        rebuild  - Rebuild packages.
        populate - Populate the database with any
                   packages which currently install
                   drivers into the running kernel.


[edit] Questo comunque dipende su quale hardware viene passatto il kernel "imballato"
Back to top
View user's profile Send private message
djinnZ
Advocate
Advocate


Joined: 02 Nov 2006
Posts: 4831
Location: somewhere in L.O.S.

PostPosted: Wed Jun 12, 2013 2:35 pm    Post subject: Reply with quote

Teoricamente (molto teoricamente, genkernel fa schifo, devi gestire BOOTDIR INSTALL_MOD_PATH e le tmp) dovrebbe bastare aggiungere (ovviamente controllata da apposita use flag se vuoi fare le cose per bene) una invocazione a genkernel (per module-rebuild ci vorrebbe un semaforo e non so se emerge ammette una invocazione ricorsiva) nell'ebuild.
In questo modo dovresti trovarti nel pacchetto moduli e kernel già compilato e completo.
Il problema del tirarsi dietro i sorgenti è legato prevalentemente alle verifiche sulle variabili quindi dovrebbe bastare l'esistenza di /usr/src/linux/.config

Altrimenti potresti provare con
Quote:
ebuild kernel compile
, compilare il kernel (anche con genkernel basta che imposti la destinazione nella sandbox)e poi continuare l'esecuzione con
Quote:
FEATURES="keeptemp keepwork" emerge -b kernel
o
Quote:
ebuild kernel merge
. Che è la via più banale per avere il tutto senza troppe seccature.

Sicuramente se apri un bug per proporre la patch ti risponderanno a suon di fumose illazioni di stampo sacerdotale che non va bene, quindi non lo ho mai proposto.

Come per la faccenda di aggiungere direttamente al kernel i moduli esterni (che sarebbe utile per non ammattire con slot e controslot) ma tant'è... vedi quanto è stato scritto a proposito di unionfs e non ce li vedo i devel ad andare contro le policy imposte upstream... :evil:

Ma nulla ti vieta di farlo da te.

In genkernel, in alternativa, puoi agire con KERNCACHE INSTALL_MOD_PATH MINKERNPACKAGE e MODULESPACKAGE. Chissà perchè non c'è un modo per creare direttamente un tar.bz2 utile mah, credo che per questo si potrebbe aprire un bug.
_________________
scita et risus abundant in ore stultorum sed etiam semper severi insani sunt:wink:
mala tempora currunt...mater stultorum semper pregna est :evil:
Murpy'sLaw:If anything can go wrong, it will - O'Toole's Corollary:Murphy was an optimist :wink:
Back to top
View user's profile Send private message
ago
Developer
Developer


Joined: 01 Mar 2008
Posts: 1527
Location: Milan, Italy

PostPosted: Wed Jun 12, 2013 3:33 pm    Post subject: Reply with quote

Personalmente conservo il .config e la BzImage(non ho supporto ai moduli)
Back to top
View user's profile Send private message
bi-andrea
Apprentice
Apprentice


Joined: 09 Mar 2010
Posts: 171
Location: cesenatico

PostPosted: Sat Jun 15, 2013 7:42 pm    Post subject: Reply with quote

Il tuo discorso è molto molto interessante, analizziamo....

djinnZ wrote:
Teoricamente (molto teoricamente, genkernel fa schifo, devi gestire BOOTDIR INSTALL_MOD_PATH e le tmp) dovrebbe bastare aggiungere (ovviamente controllata da apposita use flag se vuoi fare le cose per bene) una invocazione a genkernel (per module-rebuild ci vorrebbe un semaforo e non so se emerge ammette una invocazione ricorsiva) nell'ebuild.
In questo modo dovresti trovarti nel pacchetto moduli e kernel già compilato e completo.


creare un ebuild è un discroso interessante e usa script di bash quindi bisogna conoscere quel linguaggio di programmazione e nel moi caso mi servirebbe binario.
quindi penso che prima devo capire come usare anche genkernel per creare i vari moduli, lernel e intramfs in una cartella come si presenterebbe se io avessi usato tar andandoli a prendere dove li installerebbe genkernel, da lì nasce lo script.


Quote:
Il problema del tirarsi dietro i sorgenti è legato prevalentemente alle verifiche sulle variabili quindi dovrebbe bastare l'esistenza di /usr/src/linux/.config

/usr/src/linux/.config

serve perchè sono i pacchetti che stiamo installando che lo cercano e infatti mi va bene solo lui anche a me

Code:
Altrimenti potresti provare con [quote]ebuild [i]kernel[/i] compile[/quote], compilare il kernel (anche con genkernel basta che imposti la destinazione nella sandbox)e poi continuare l'esecuzione con [quote]FEATURES="keeptemp keepwork" emerge -b [i]kernel[/i][/quote] o [quote]ebuild [i]kernel[/i] merge[/quote]. Che è la via più banale per avere il tutto senza troppe seccature.

come potrei scriverlo questo nell'ebuild?
Quote:
Sicuramente se apri un bug per proporre la patch ti risponderanno a suon di fumose illazioni di stampo sacerdotale che non va bene, quindi non lo ho mai proposto.
[/quote]
lasciamo stare mi darebbero picche
Quote:
Come per la faccenda di aggiungere direttamente al kernel i moduli esterni (che sarebbe utile per non ammattire con slot e controslot) ma tant'è... vedi quanto è stato scritto a proposito di unionfs e non ce li vedo i devel ad andare contro le policy imposte upstream... :evil:

Ma nulla ti vieta di farlo da te.

infatti
Quote:
In genkernel, in alternativa, puoi agire con KERNCACHE INSTALL_MOD_PATH MINKERNPACKAGE e MODULESPACKAGE. Chissà perchè non c'è un modo per creare direttamente un tar.bz2 utile mah, credo che per questo si potrebbe aprire un bug.

questa procedura non la conosco
_________________
Quando arrivi a Linux è un trauma, abituati a Windows, quando arrivi a Gentoo è uno spavento col brivido , però quando lo capisci sei uscito dall'università "GNU/Linux" ;)
Back to top
View user's profile Send private message
djinnZ
Advocate
Advocate


Joined: 02 Nov 2006
Posts: 4831
Location: somewhere in L.O.S.

PostPosted: Mon Jun 17, 2013 9:17 am    Post subject: Reply with quote

Non la conosco neppure io, so che ci sono e mi sono sempre chiesto perché non prevedere direttamente la creazione di un tar appropriato invece che due.
_________________
scita et risus abundant in ore stultorum sed etiam semper severi insani sunt:wink:
mala tempora currunt...mater stultorum semper pregna est :evil:
Murpy'sLaw:If anything can go wrong, it will - O'Toole's Corollary:Murphy was an optimist :wink:
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Forum italiano (Italian) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum