View previous topic :: View next topic |
Author |
Message |
motaboy Developer
Joined: 15 Dec 2003 Posts: 1483
|
Posted: Sun May 09, 2004 3:53 pm Post subject: [TIP] Usare config-kernel per evitare Sandbox Violations |
|
|
Compilando i moduli per i kernel 2.6 (come per esempio gli ipw2100) sarà capitato di dovere utilizzare la FEATURES="-sandbox" per evitare errori. questi errori sono causati dal fatto che a volte è necessario modificare files nelle directory del kernel (quella linkata simbolicamente a /usr/src/linux), ma la sandbox vieta questo (visto che il suo scopo è quello di non permettere di scrivere direttamente nel file system ma solo in /var/tmp/.
Cosi, cercando di emerge submount (che dovrebbe essere il sostituto di supermount) ho scoperto un tool chiamato "config-kernel", potete leggere il suo manuale qua:
http://www.gentoo.org/doc/en/2.6-koutput-user.xml
non è ancora stato tradotto ma è molto chiaro.
Comunque se vi interessa riassumo i passi fondamentali.
Innanzittuto bisogna creare una directory in cui verranno posti tutti i file di output del kernel. Perciò d'ora in avanti, per ogni kernel che compilate i file compilati verranno messi in questa directory.
N.B. Questo secondo me è un buggetto, perchè se non create la directory le operazioni seguente non andranno a buon fine. Ho riportato il bug qui.
Code: |
mkdir /var/tmp/kernel-output
|
Poi è necessario settare questa directory come la predefinita per l'output della compilazione:
Code: |
config-kernel --output-dir default
|
dove default è considerata appunto /var/tmp/kernel-output, si poteva benissimo esplicitare.
Ora se si emerge un qualsiasi kernel (usando appunto emerge) tutto dovrebbe essere a posto, altrimenti è necessario modificare il Makefile del kernel. Per fare questo, per esempio con kernel già installati si può usare:
Code: |
config-kernel --make-koutput /usr/src/X
|
Dove X è il nome del kernel (per esempio linux-2.6.5-gentoo-r1).
In questo modo config-kernel modifica il Makefile per settare la corretta output directory. ATTENZIONE che questo lancia mrproper perciò tutto ciò che era stato compilato viene cancellato compreso il .config (che comunque dovrebbe essere salvato e ripristinato in /var/tmp/kernel-output).
D'ora in avanti dovremo entrare nell'ottica che alcuni file si troveranno in una differente posizione, i 2 più importanti sono il .config e la bzImage.
Code: |
Vecchia locazione Nuova locazione
/usr/src/linux/.config /var/tmp/kernel-output/2.6.4/.config
/usr/src/linux/arch/i386/boot/bzImage /var/tmp/kernel-output/2.6.4/arch/i386/boot/bzImage
|
Sembra un lavoro complesso, ma questa è la "gentoo way" di fare le cose e mi sembra una cosa corretta nel caso si vogliano evitare problemi per la compilazione di alcuni ebuild che devono generare moduli per il kernel.
Ovviamente ci sono metodi più sbrigativi, ma i puristi come me storcerebbero il naso, chi invece è per la praticità può solamente fare ciò:
Code: |
config-kernel --allow-writable yes
|
In questo modo tutto ciò spiegato sopra non serve, ma potrebbero crearsi problemi di sicurezza, per il fatto che portage può sovrascrivere i sorgenti del kernel.
Spero che vi sia utile.
Bye! _________________ ... |
|
Back to top |
|
|
FonderiaDigitale Veteran
Joined: 06 Nov 2003 Posts: 1710 Location: Rome, Italy
|
Posted: Sun May 09, 2004 11:24 pm Post subject: |
|
|
..forse mi sfugge qualcosa: cosa c'entra la compilazione del kernel con sandbox?
Io sempre emerge-ato il kernel e compilato alla vecchia maniera (make menuconfig && make && make modules_install) e mai avuto problemi di locking.
Mi son perso qualche passaggio? _________________ Come disse un amico, i sistemisti sono un po' come gli artigiani per l'informatica
|
|
Back to top |
|
|
GhePeU Guru
Joined: 12 Aug 2003 Posts: 549 Location: Mestre, Italy
|
Posted: Sun May 09, 2004 11:49 pm Post subject: |
|
|
se non ho capito male non si riferisce ai moduli del kernel presenti nei sorgenti ufficiali (quelli che si compilano quando si fa make menuconfig make all make modules_install) ma a moduli del kernel aggiuntivi creati da alcuni ebuild (tipo quelli per i sensori o l'accelerazione 3d nel 2.4) _________________ That is not dead which can eternal lie,
and with strange aeons even death may die. |
|
Back to top |
|
|
FonderiaDigitale Veteran
Joined: 06 Nov 2003 Posts: 1710 Location: Rome, Italy
|
Posted: Sun May 09, 2004 11:58 pm Post subject: |
|
|
ah ok, quindi gli ebuild per il supporto di vendor esterni
pardon _________________ Come disse un amico, i sistemisti sono un po' come gli artigiani per l'informatica
|
|
Back to top |
|
|
federico Advocate
Joined: 18 Feb 2003 Posts: 3272 Location: Italy, Milano
|
Posted: Tue Aug 03, 2004 2:52 pm Post subject: |
|
|
Come ti trovi coi file spostati nella dir del kernel-config ?
A me non pare un metodo cosi' intelligente e non ho neanche capito quali sarebbero i problemi di sicurezza che portage lamenta... _________________ Sideralis www.sideralis.org
Pic http://blackman.amicofigo.com/gallery
Arduino http://www.arduino.cc
Chi aveva potuto aveva spaccato
2000 pezzi buttati là
Molti saluti,qualche domanda
Semplice come musica punk |
|
Back to top |
|
|
|