Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[TIP] Usare config-kernel per evitare Sandbox Violations
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) Risorse italiane (documentazione e tools)
View previous topic :: View next topic  
Author Message
motaboy
Developer
Developer


Joined: 15 Dec 2003
Posts: 1483

PostPosted: Sun May 09, 2004 3:53 pm    Post subject: [TIP] Usare config-kernel per evitare Sandbox Violations Reply with quote

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
View user's profile Send private message
FonderiaDigitale
Veteran
Veteran


Joined: 06 Nov 2003
Posts: 1710
Location: Rome, Italy

PostPosted: Sun May 09, 2004 11:24 pm    Post subject: Reply with quote

..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
View user's profile Send private message
GhePeU
Guru
Guru


Joined: 12 Aug 2003
Posts: 549
Location: Mestre, Italy

PostPosted: Sun May 09, 2004 11:49 pm    Post subject: Reply with quote

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
View user's profile Send private message
FonderiaDigitale
Veteran
Veteran


Joined: 06 Nov 2003
Posts: 1710
Location: Rome, Italy

PostPosted: Sun May 09, 2004 11:58 pm    Post subject: Reply with quote

ah ok, quindi gli ebuild per il supporto di vendor esterni :)

pardon :oops:
_________________
Come disse un amico, i sistemisti sono un po' come gli artigiani per l'informatica :)
Back to top
View user's profile Send private message
federico
Advocate
Advocate


Joined: 18 Feb 2003
Posts: 3272
Location: Italy, Milano

PostPosted: Tue Aug 03, 2004 2:52 pm    Post subject: Reply with quote

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
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Forum italiano (Italian) Risorse italiane (documentazione e tools) 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