View previous topic :: View next topic |
Author |
Message |
socrat3 n00b
Joined: 10 Jul 2004 Posts: 38
|
Posted: Mon Jan 15, 2007 11:47 pm Post subject: compilare per altre piattaforme |
|
|
Salve,
ho un portatile con processore amd64. Vorrei compilare il kernel come se compilassi su una macchina 486 x86.
mi sapete aiutare? |
|
Back to top |
|
|
Scen Retired Dev
Joined: 29 Jul 2003 Posts: 2470 Location: Padova, Italy
|
Posted: Tue Jan 16, 2007 7:38 am Post subject: |
|
|
Per utilizzare un ambiente a 32 bit in un sistema Gentoo x86_64 puoi crearti una chroot a 32 bit (guida).
Comunque mi pare che al minimo riesci ad "emulare" la compilazione come se fossi su un i686 (quindi da Pentium Pro in poi, per intenderci).
Chi ne sa più di me mi corregga, eventualmente _________________ I was born in a deep forest/I wish I could live here all my life/I am made from stones and roots/My home, these woods and roads
All my life I loved this sound/Of the woods all around/Eagles flies where the winds blows free
Journey is my destiny |
|
Back to top |
|
|
drizztbsd Retired Dev
Joined: 21 Nov 2004 Posts: 278 Location: Cesano Maderno
|
|
Back to top |
|
|
Scen Retired Dev
Joined: 29 Jul 2003 Posts: 2470 Location: Padova, Italy
|
Posted: Tue Jan 16, 2007 10:17 am Post subject: |
|
|
Drizzt Do` Urden wrote: | Guida deprecata, basta fare |
Mitici!!!
Non vedo l'ora di provare l'ebuild _________________ I was born in a deep forest/I wish I could live here all my life/I am made from stones and roots/My home, these woods and roads
All my life I loved this sound/Of the woods all around/Eagles flies where the winds blows free
Journey is my destiny |
|
Back to top |
|
|
Kernel78 Moderator
Joined: 24 Jun 2005 Posts: 3654
|
Posted: Tue Jan 16, 2007 10:30 am Post subject: |
|
|
Drizzt Do` Urden wrote: | Guida deprecata, basta fare |
Stavo per mettermi a seguire la guida quando ho letto questo tuo post ...
Dove trovo info a riguardo, anche la documentazione in inglese e relativa al "vecchio" metodo ... _________________ 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 |
|
|
socrat3 n00b
Joined: 10 Jul 2004 Posts: 38
|
Posted: Wed Jan 17, 2007 7:54 am Post subject: |
|
|
questo forum è il paradiso! si trava la risposta a tutto.
Grazie... provo il pacchetto. |
|
Back to top |
|
|
GiRa l33t
Joined: 07 Apr 2005 Posts: 717
|
Posted: Wed Jan 17, 2007 10:02 am Post subject: |
|
|
Per compilare solo un kernel mi pare che un chroot sia esagerato.
Io consiglio di copiare i sorgenti in una directory a tua scelta, poi: Code: | $ linux32 bash
$ arch
$ make menuconfig
$ make && make modules
|
Il comando arch ti serve solo come verifica, ovviamente non ho inserito l'installazione dei moduli. |
|
Back to top |
|
|
cloc3 Advocate
Joined: 13 Jan 2004 Posts: 4810 Location: http://www.gentoo-users.org/user/cloc3/
|
Posted: Wed Jan 17, 2007 10:34 am Post subject: |
|
|
Drizzt Do` Urden wrote: | Guida deprecata, basta fare |
comodoso!!
e naturalmente si può utilizzare anche per altre funzionalità, tipo i chroot di apache e compagnia.
vero _________________ vu vu vu
gentù
mi piaci tu |
|
Back to top |
|
|
Scen Retired Dev
Joined: 29 Jul 2003 Posts: 2470 Location: Padova, Italy
|
Posted: Wed Jan 17, 2007 11:25 am Post subject: |
|
|
cloc3 wrote: | e naturalmente si può utilizzare anche per altre funzionalità, tipo i chroot di apache e compagnia.
vero |
Questo non lo so, l'ebuild (che praticamente automatizza i passaggi descritti nell'attuale guida) è pensato per un uso interattivo del chroot a 32bit, ovvero testare e utilizzare programmi compilati nativamente a 32bit su macchine a 64bit.
Per l'utilizzo di "servizi chrootati" da avviare all'avvio della macchina penso che le soluzioni da adottare siano altre (vedi certi ebuild che hanno la flag "chroot"). _________________ I was born in a deep forest/I wish I could live here all my life/I am made from stones and roots/My home, these woods and roads
All my life I loved this sound/Of the woods all around/Eagles flies where the winds blows free
Journey is my destiny |
|
Back to top |
|
|
cloc3 Advocate
Joined: 13 Jan 2004 Posts: 4810 Location: http://www.gentoo-users.org/user/cloc3/
|
Posted: Thu Jan 18, 2007 7:06 am Post subject: |
|
|
Scen wrote: | è pensato per un uso interattivo del chroot a 32bit. |
hai ragione. è possibile estendere l'uso come chroot a 32 per un sistema a 32, ma non come chroot a 64 per un sistema a 64.
sarebbe da proporre ai developer un pacchetto chroot, con un insieme più nutrito di useflags, per consentire usi differenti.
i servizi specifici di cui parli, che eseguono un proprio chroot, di solito non hanno necessità di una bash, ma quasi esclusivamente di una /etc personalizzata. io invece pensavo a situazioni leggermente più complesse. _________________ vu vu vu
gentù
mi piaci tu |
|
Back to top |
|
|
Kernel78 Moderator
Joined: 24 Jun 2005 Posts: 3654
|
Posted: Thu Jan 18, 2007 8:14 am Post subject: |
|
|
cloc3 wrote: | sarebbe da proporre ai developer un pacchetto chroot, con un insieme più nutrito di useflags, per consentire usi differenti. |
Scusa ma non è più corretto impostarti le USE che vuoi nel make.conf presente nel chroot ? io faccio così e non ho problemi ... _________________ 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 |
|
|
cloc3 Advocate
Joined: 13 Jan 2004 Posts: 4810 Location: http://www.gentoo-users.org/user/cloc3/
|
Posted: Fri Jan 19, 2007 2:54 pm Post subject: |
|
|
Kernel78 wrote: |
Scusa ma non è più corretto impostarti le USE che vuoi nel make.conf presente nel chroot ? io faccio così e non ho problemi ... |
non hai capito l'argomento del discorso.
si parlava di x86-chroot, che produce un chroot per chi, avendo un 64 bit, vuole il sottosistema a 32.
ora, possono esistere centodiciotto ragioni per cui un utente possa desiderare invece un chroot, fornito di bash a 64 bit.
perchè non creare un pacchetto che si chiama semplicemente chroot, con un paio di flag per selezionare il tipo di installazione desiderato? _________________ vu vu vu
gentù
mi piaci tu |
|
Back to top |
|
|
gioi Apprentice
Joined: 14 Feb 2006 Posts: 236
|
Posted: Fri Jan 19, 2007 3:19 pm Post subject: |
|
|
Scusate l'arroganza del post ma non capisco l'utilità di un chroot a 64 bit in alcun caso!
1- Se hai un processore a 32 bit e vuoi fare crosscompiling per un processore a 64 bit mi sembra una perdita di tempo. Il compilatore pur attivando le giuste flag per il processore a 64bit non potrà sfruttarle in fase di compilazione impiegandoci molto più tempo (quanto meno nella fase di ottimizzazione!)
2- Se hai un processore a 32 bit con estensioni a 64bit (come la maggior parte degli Intel EMT64 e credo anche degli AMD, ma su questi non ne sono sicuro), un ambiente chroot a 64 bit (ipotizzando di usare un ambiente x86_32 di default) servirebbe ad emulare un'ambiente per un'architettura che già di per sè è emulata dal processore... non credo abbia molto senso... se hai le estensioni a 64bit e le vuoi usare usa un profilo x86_64 come predefinito ed usa un ambiente x86_32 per la compatibilità... altrimenti usa l'x86_32 e basta... a meno che tu non abbia bisogno di indirizzare 2^64byte (che significa un numero a 18 zeri se non erro!)di memoria all'interno di binari precompilati a 32 bit non credo che si possa notare la differenza.
3- Se hai un processore full 64 bit (qualcuno mi dice i nuovi AMD, io però non lo so... sono fermo ai Barton...) si presume che tu abbia già un profilo x86_64 con cui sfruttare al meglio le migliori potenzialità di indirizzamento della memoria della nuova architettura, per cui a cosa serve un chroot a 64 bit in un ambiente già a 64 bit?
Questi sono gli unici scenari che sono riuscito ad immaginare, se qualcuno ne ha altri (magari concreti) discutiamone perchè 'sta cosa mi affascina.
PS: io ho un portatile centrino duo 2 (quindi procio core duo 2 mobile) con estensioni EMT64 ed un fisso core duo 2 sempre con EMT64, ma continuo ad utilizzare il buon vecchio x86_32 (a differenza di altri miei amici e colleghi che sono subito passati al 64) senza notare un divario così marcato... ecco perchè la penso così! |
|
Back to top |
|
|
Kernel78 Moderator
Joined: 24 Jun 2005 Posts: 3654
|
Posted: Fri Jan 19, 2007 3:20 pm Post subject: |
|
|
cloc3 wrote: | Kernel78 wrote: |
Scusa ma non è più corretto impostarti le USE che vuoi nel make.conf presente nel chroot ? io faccio così e non ho problemi ... |
non hai capito l'argomento del discorso.
si parlava di x86-chroot, che produce un chroot per chi, avendo un 64 bit, vuole il sottosistema a 32.
ora, possono esistere centodiciotto ragioni per cui un utente possa desiderare invece un chroot, fornito di bash a 64 bit.
perchè non creare un pacchetto che si chiama semplicemente chroot, con un paio di flag per selezionare il tipo di installazione desiderato? |
Io ho l'impressione che tu non abbia ben capito ...
x86-chroot installa un completo sistema x86 con un suo make.conf che ovviamente può essere personalizzato con tutte le USE come se si trattasse di una normale installazione (inclusi i file package.*).
Di fatto è praticamente la stessa cosa che seguire la guida per l'installazione gentoo, entri in una chroot e installi tutto), una cosa simile riferita all'ambiente a 64bit sarebbe fattibile (anche se non riesco a immaginarmi nemmeno uno dei centodiciotto motivi) ma sarebbe a sua volta un'installazione completa personalizzabile con tutte le USE quindi rendere il pacchetto stesso configurabile solo con poche USE sarebbe solo riduttivo ...
Al massimo prima ti installi il pacchetto e poi configuri make.conf e i vari package.* e poi dai un bel emerge -uDavN world (ovviamente tutto questo nel chroot), in questo modo hai il sistema personalizzato molto meglio di quanto potrebbero fare un paio di USE in fase di installazione. _________________ 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 |
|
|
|