View previous topic :: View next topic |
Author |
Message |
Luca89 Advocate
Joined: 27 Apr 2005 Posts: 2107 Location: Agrigento (Italy)
|
Posted: Sat Jan 28, 2006 6:12 pm Post subject: [tool] ekernel: semplificare la gestione del kernel |
|
|
Innanzitutto preciso che genkernel != ekernel: il primo serve per automatizzare il processo di compilazione del kernel con una configurazione generica, il mio tool invece serve per semplificare la gestione del kernel e dei suoi sorgenti. Esempio, per configurare e installare un kernel solitamente facciamo così:
Code: | # emerge gentoo-sources
# cd /usr/src
# ln -s linux-2.6.15-gentoo-r1 linux
# cd linux
# make menuconfig
# make
# make modules_install
# cp arch/i386/boot/bzImage /boot/kernel-2.6.15-gentoo-r1
# cp System.map /boot/System.map-2.6.15-gentoo-r1
# nano /boot/grub.conf
|
Con ekernel:
Code: | # emerge gentoo-sources
# ekernel --src-link
# ekernel --config
# ekernel --compile
# ekernel --install
|
inoltre esso gestisce un link simbolico in /boot/kernel che punta al kernel che si vuole bootare e quindi non è necessario aggiornare ogni volta grub.conf.
Un altro esempio del suo funzionamento è il caso in cui si deve aggiornare il kernel, manualmente:
Code: | # emerge -u gentoo-sources
# ln -s /usr/src/linux-2.6.15-gentoo-r1 /usr/src/linux
# cp /usr/src/linux-2.6.14-gentoo-r5/.config /usr/src/linux/
# cd /usr/src/linux
# make oldconfig
# make
# make modules_install
# cp arch/i386/boot/bzImage /boot/kernel-2.6.15-gentoo-r1
# cp System.map /boot/System.map-2.6.15-gentoo-r1
# nano /boot/grub.conf
|
Con ekernel invece:
Code: | # emerge -u gentoo-sources
# ekernel --src-link
# ekernel --import-config
# ekernel --compile
# ekernel --install --default
|
Oltre alle funzionalità che ho indicato ne ha una per me molto comoda che è quella di eliminare tutti i riferimenti ai kernel vecchi in /boot, /lib/modules e /usr/src ( modalità --prune). Comunque vi posto qui l'help completo che si ottiene con "ekernel --help":
Code: | Usage: ekernel action options
Actions:
--install
Installs kernel image and modules on your system.
--prune
Delete obsoletes files such as old kernel images or old modules.
--kernel-link
Creates a symlink on /boot/kernel for kernel which is
used to boot.
--compile
Compiles kernel sources.
--config
Launch an application to configure the kernel sources.
--import-config
Import config file from another kernel sources.
--show-kernels
Shows you kernels present on /boot.
--src-link
Creates a symlink on /usr/src/linux for the kernel source which is used by
default.
--show-sources
Shows you kernel sources present on /usr/src.
Options:
--kv="version"
Specify the kernel version that you want to use. If it isn't specified the
last available is used.
--old-kv="versione"
With action import-config specify the kernel version
from where the kernel config file must be imported.
--pretend
With prune action, specify that files must not be removed
but simply listed.
--color --no-color
Specify if you want to use colors or not.
--verbose
Swich verbose mode on.
--default
With install action implies calling "ekernel --kernel-link"
after the installation process.
--args=(boot,srcdir,modules,all)
With the prune action specify which dirs you want to prune:
/boot, /usr/src, /lib/modules or all of them.
|
Per chi voglia provarlo lo trova qui (fate un copia e incolla in una nuova scheda del browser oppure usate wget). Il tarball contiene un file eseguibile "ekernel.pl" che va posizionato in una directory appartenente al path e un file "ekernel.conf" che è il file di configurazione e va posizionato in /etc (se non vi piace il posto potete metterlo dove volete a patto di modificare la variabile $config_file in cima allo script). Il programma è rilasciato sotto licenza GPLv2 come è specificato in cima allo script, usatelo a vostro rischio e pericolo, non sono responsabile in caso di danni al vostro sistema!
Qualsiasi critica è ben accetta. _________________ Running Fast! |
|
Back to top |
|
|
Kernel78 Moderator
Joined: 24 Jun 2005 Posts: 3654
|
Posted: Mon Feb 20, 2006 1:29 pm Post subject: |
|
|
Una curiosità mia: perchè non setti la USE symlink invece di trovare altri modi di automatizzare la creazione del link ? _________________ Le tre grandi virtù di un programmatore: pigrizia, impazienza e arroganza. (Larry Wall).
Prima di postare un file togli i commenti con Code: | grep -vE '(^[[:space:]]*($|(#|!|;|//)))' |
|
|
Back to top |
|
|
Luca89 Advocate
Joined: 27 Apr 2005 Posts: 2107 Location: Agrigento (Italy)
|
Posted: Mon Feb 20, 2006 1:40 pm Post subject: |
|
|
Kernel78 wrote: | Una curiosità mia: perchè non setti la USE symlink invece di trovare altri modi di automatizzare la creazione del link ? |
Considera il caso in cui ho il pacchetto gentoo-sources-2.6.15-r5, aggiorni al gentoo-sources-2.6.15-r6. Emerge ti aggiorna il link in /usr/src/linux e fin qui va bene. Mettiamo però il caso che la r6 non mi piace e la voglio eliminare. Emerge cancella pure il link simbolico e mi tocca rifare il link a mano. In questo modo lancio "ekernel --src-link" e lui mi linka l'ultima versione che trova, qualunque essa sia. _________________ Running Fast! |
|
Back to top |
|
|
Kernel78 Moderator
Joined: 24 Jun 2005 Posts: 3654
|
Posted: Mon Feb 20, 2006 1:47 pm Post subject: |
|
|
Luca89 wrote: | Mettiamo però il caso che la r6 non mi piace e la voglio eliminare. |
Si ma se usi symlink non devi preoccuparti di fare Code: | # ekernel --src-link | dopo aver installato un kernel nuovo visto che verrebbe automaticamente creato il link da emerge. _________________ Le tre grandi virtù di un programmatore: pigrizia, impazienza e arroganza. (Larry Wall).
Prima di postare un file togli i commenti con Code: | grep -vE '(^[[:space:]]*($|(#|!|;|//)))' |
|
|
Back to top |
|
|
Luca89 Advocate
Joined: 27 Apr 2005 Posts: 2107 Location: Agrigento (Italy)
|
Posted: Mon Feb 20, 2006 1:57 pm Post subject: |
|
|
Kernel78 wrote: | Si ma se usi symlink non devi preoccuparti di fare Code: | # ekernel --src-link | dopo aver installato un kernel nuovo visto che verrebbe automaticamente creato il link da emerge. |
Su questo hai ragione. Dipende un po' dalle situazioni.
EDIT: il "non" non c'entrava _________________ Running Fast!
Last edited by Luca89 on Mon Feb 20, 2006 3:00 pm; edited 1 time in total |
|
Back to top |
|
|
funkoolow Guru
Joined: 21 Sep 2004 Posts: 545 Location: er paese delle anguille
|
|
Back to top |
|
|
Luca89 Advocate
Joined: 27 Apr 2005 Posts: 2107 Location: Agrigento (Italy)
|
Posted: Mon Feb 20, 2006 3:02 pm Post subject: |
|
|
Sei sicuro? A me va.
Code: | luca@Panther ~ $ wget http://holmes.altervista.org/files/ekernel-1.0_rc5.tar.gz
--16:00:59-- http://holmes.altervista.org/files/ekernel-1.0_rc5.tar.gz
=> `ekernel-1.0_rc5.tar.gz'
Risoluzione di holmes.altervista.org in corso... 207.44.172.63
Connessione a holmes.altervista.org|207.44.172.63:80... connesso.
HTTP richiesta inviata, aspetto la risposta... 200 OK
Lunghezza: 3,678 (3.6K) [application/x-tar]
100%[==================================================================>] 3,678 --.--K/s
16:01:00 (698.79 KB/s) - "ekernel-1.0_rc5.tar.gz" salvato [3678/3678]
luca@Panther ~ $ |
Non è che hai cliccato direttamente il link? Devi incollarlo in una nuova scheda del browser oppure direttamente con wget. _________________ Running Fast! |
|
Back to top |
|
|
funkoolow Guru
Joined: 21 Sep 2004 Posts: 545 Location: er paese delle anguille
|
Posted: Mon Feb 20, 2006 3:39 pm Post subject: |
|
|
Luca89 wrote: | Sei sicuro? A me va.
Code: | luca@Panther ~ $ wget http://holmes.altervista.org/files/ekernel-1.0_rc5.tar.gz
--16:00:59-- http://holmes.altervista.org/files/ekernel-1.0_rc5.tar.gz
=> `ekernel-1.0_rc5.tar.gz'
Risoluzione di holmes.altervista.org in corso... 207.44.172.63
Connessione a holmes.altervista.org|207.44.172.63:80... connesso.
HTTP richiesta inviata, aspetto la risposta... 200 OK
Lunghezza: 3,678 (3.6K) [application/x-tar]
100%[==================================================================>] 3,678 --.--K/s
16:01:00 (698.79 KB/s) - "ekernel-1.0_rc5.tar.gz" salvato [3678/3678]
luca@Panther ~ $ |
Non è che hai cliccato direttamente il link? Devi incollarlo in una nuova scheda del browser oppure direttamente con wget. |
hai ragione, copiando il link va anche a me. il perchè mi resta un mistero. chiedo cmq scusa per il post inutile (dato che era pure scritto, ignoranza mia) _________________ SabaziaLUG: il LUG a nord di Roma |
|
Back to top |
|
|
Delta9 n00b
Joined: 07 Mar 2004 Posts: 35
|
Posted: Mon Feb 20, 2006 4:35 pm Post subject: Re: [tool] ekernel: semplificare la gestione del kernel |
|
|
Scusa... ma per aggiornare il kernel non puoi fare così:
Code: | # USE="+symlink" emerge -u gentoo-sources
# cd /usr/src/linux
# cp /boot/config .config
# make oldconfig
# make
# make install
# make modules_install |
che copia l'immagine del kernel in /boot, linka quella vecchia in /boot/vmlinuz.old e quella nuova in /boot/vmlinuz.
Il tutto senza programmi esterni |
|
Back to top |
|
|
|