Discussione:
compilare il kernel a 64bit
(troppo vecchio per rispondere)
Matteo Rossini
2008-05-18 09:27:08 UTC
Permalink
Salve.
Ho una distribuzione running a 32bit.
Volevo compilare un kernel a 64bit per poi portarlo dove mi serve.

Cosa mi serve?
al momento ho fatto
make menuconfig ARCH=x86_64
ma al
make bzImage ARCH=x86_64
mi dà
arch/x86/kernel/asm-offsets.c:1: error: code model 'kernel' not
supported in the 32 bit mode
arch/x86/kernel/asm-offsets.c:1: sorry, unimplemented: 64-bit mode not
compiled in

nota...
in arch/ non trovo x86_64!
Jack Malmostoso
2008-05-18 16:40:52 UTC
Permalink
Post by Matteo Rossini
in arch/ non trovo x86_64!
Le architetture i386 e x86_64 sono state unificate, da un paio di release
a questa parte.
--
Best Regards, Jack
Linux User #264449
Powered by Debian GNU/Linux on AMD64
Matteo Rossini
2008-05-19 09:20:51 UTC
Permalink
Post by Jack Malmostoso
Le architetture i386 e x86_64 sono state unificate, da un paio di release
a questa parte.
mmm

ho preso i sorgenti del kernel di slamd64 e lì l'x86_64 c'è.

Matteo
Valeria Dal Monte
2008-05-18 21:50:15 UTC
Permalink
Post by Matteo Rossini
Salve.
Ho una distribuzione running a 32bit. Volevo compilare un kernel a 64bit
per poi portarlo dove mi serve.
Non puoi. Ti manca tutta la catena a 64 bit, dal compilatore alle
librerie. E poi ti manca la cpu a 64 bit quindi non hai modo di eseguirne
il codice.
Come dici? Hai un Core 2 Duo o un X2? D'accordo, ma se sei in modo 64 bit
puoi eseguire codice a 32, non viceversa.
Insomma con la distribuzione a 64 bit fai quel che vuoi, con la 32 no.
Ecco uno dei tanti motivi perche' non ha molto senso usarne una a 32.
Matteo Rossini
2008-05-19 09:19:31 UTC
Permalink
Post by Valeria Dal Monte
Non puoi. Ti manca tutta la catena a 64 bit, dal compilatore alle
librerie.
e questo l'avevo capito... chiaramente dovrò scaricare le librerie e
gli headers per crosscompilare
Post by Valeria Dal Monte
E poi ti manca la cpu a 64 bit quindi non hai modo di eseguirne
il codice.
e infatti il finale lo voglio eseguire su un altro pc (che poi
eseguire ha poco senso, visto che parliamo di un kernel)

Matteo
Valeria Dal Monte
2008-05-19 12:30:58 UTC
Permalink
Post by Matteo Rossini
E poi ti manca la cpu a 64 bit quindi non hai modo di eseguirne il
codice.
e infatti il finale lo voglio eseguire su un altro pc
Come debbo dirtelo che non puoi farlo su i386?
Jack
2008-05-19 14:37:50 UTC
Permalink
Post by Valeria Dal Monte
Come debbo dirtelo che non puoi farlo su i386?
LOL.
basta crosscompilare. => http://en.wikipedia.org/wiki/Cross_compiler

Ciao Jack
Valeria Dal Monte
2008-05-19 14:55:20 UTC
Permalink
Post by Jack
Post by Valeria Dal Monte
Come debbo dirtelo che non puoi farlo su i386?
LOL.
Adesso vedi come LOLLO IO.
Post by Jack
basta crosscompilare
Certo. Adesso crosscompili per x864_64 su i386. Provaci, dai.
Sto gia' ridendo, conosco il risultato.
ROTFL carpiato.
7***@gmail.com
2008-05-19 20:45:59 UTC
Permalink
Post by Valeria Dal Monte
Certo. Adesso crosscompili per x864_64 su i386. Provaci, dai.
Sto gia' ridendo, conosco il risultato.
Non credo che tu lo conosca. Puoi crosscompilare tranquillamente per
x86_64 su una macchina i386.
Giusto per fornirti una prova questo e' il primo link che ho trovato
con google:
http://groups.google.com/group/linux.kernel/browse_frm/thread/c8d02838ab778eaf/6f74e6acacb78e92?lnk=gst&q=i386+-%3E+x86_64+cross+compile+failure#6f74e6acacb78e92

Saluti,
The Librarian
Valeria Dal Monte
2008-05-19 22:49:35 UTC
Permalink
Post by 7***@gmail.com
Certo. Adesso crosscompili per x864_64 su i386. Provaci, dai. Sto gia'
ridendo, conosco il risultato.
Non credo che tu
Non darmi il link. Fallo. Che noi ci facciamo quattro risate.
7***@gmail.com
2008-05-20 19:53:36 UTC
Permalink
Post by Valeria Dal Monte
Post by 7***@gmail.com
Certo. Adesso crosscompili per x864_64 su i386. Provaci, dai. Sto gia'
ridendo, conosco il risultato.
Non credo che tu
Non darmi il link. Fallo. Che noi ci facciamo quattro risate.
Non c'e' alcuna ragione perche' io lo debba fare. Ho gia' cross-
compilato piu' volte senza grossi problemi ed il meccanismo e' sempre
lo stesso. In piu', come ti ho fatto notare, su internet c'e' un bel
po' di gente che dice di averlo fatto e da anche le istruzioni.

Ora e' meglio chiarire una cosa: tu non sai di cosa stai parlando.

Saluti,
The Librarian
Valeria Dal Monte
2008-05-21 14:32:56 UTC
Permalink
Post by 7***@gmail.com
Post by Valeria Dal Monte
Post by 7***@gmail.com
Certo. Adesso crosscompili per x864_64 su i386. Provaci, dai. Sto
gia' ridendo, conosco il risultato.
Non credo che tu
Non darmi il link. Fallo. Che noi ci facciamo quattro risate.
Non c'e' alcuna ragione perche' io lo debba fare.
Una c'e'. Non ne sei capace.
7***@gmail.com
2008-05-21 21:39:56 UTC
Permalink
Post by Valeria Dal Monte
Post by 7***@gmail.com
Non c'e' alcuna ragione perche' io lo debba fare.
Una c'e'. Non ne sei capace.
Toglimi una curiosita'...
Lo so che puo' sembrare strana come domanda...
si, insomma, non e' il tipo di domanda che uno si sente fare tutti i
giorni...
Pero' la devo fare perche' sono troppo curioso...
Ma non e' che per caso quando eri piccolo hai avuto un qualche trauma
con i crosscompiler?
No, perche' senno' non si spiega questa tua ostinazione...
O forse pensi di essere un genio incompreso e credi che siccome tu non
sei capace di costruire una toolchain allora nessun altro possa
riuscirci.
Boh, chi lo sa...

Saluti,
The Librarian
Valeria Dal Monte
2008-05-22 14:29:01 UTC
Permalink
Post by 7***@gmail.com
Post by Valeria Dal Monte
Post by 7***@gmail.com
Non c'e' alcuna ragione perche' io lo debba fare.
Una c'e'. Non ne sei capace.
Toglimi una curiosita'.
Ignoro i motivi della tua incapacita'. Ne' mi interessa.
Resterai con la curiosita'.
Matteo Rossini
2008-05-20 09:49:45 UTC
Permalink
Post by 7***@gmail.com
Post by Valeria Dal Monte
Certo. Adesso crosscompili per x864_64 su i386. Provaci, dai.
Sto gia' ridendo, conosco il risultato.
Non credo che tu lo conosca. Puoi crosscompilare tranquillamente per
x86_64 su una macchina i386.
Giusto per fornirti una prova questo e' il primo link che ho trovato
con google:http://groups.google.com/group/linux.kernel/browse_frm/thread/c8d0283...
Saluti,
The Librarian
sò che tocca cross compilare (infatti mi serviva più capire di quali
strumenti avevo bisogno, in modo un po' più pratico che concettuale),
solo che in quel link si parla di una patch per linux/arch/x86_64/...
che però nel kernel della distribuzione (slackware, e quindi quasi
vanilla) non c'è. Ma se mi dite che i386 e x86_64 è stato unificato
negli ultimi kernel, allora procedo con il resto.
Però per cominciare cerco prima di crosscompilare un classico
helloworld.c, in modo di non aver bisogno di chissà quali strumenti
particolari.

Matteo
7***@gmail.com
2008-05-20 19:45:12 UTC
Permalink
Post by Matteo Rossini
sò che tocca cross compilare (infatti mi serviva più capire di quali
strumenti avevo bisogno, in modo un po' più pratico che concettuale),
In realta' non sono cosi' sicuro che sia proprio necessario cross-
compilare.
Il problema che hai e' dovuto al fatto che la tua versione del gcc non
supporta codice a 64 bit.
Io fossi in te proverei prima a dare una bella ricompilata al gcc con
il config giusto, tanto ci vuole poco tempo.
Comunque ti anticipo che potrebbe non funzionare, vedi qui dove sono
stati costretti a cross-compilare alla fine:
http://archives.devshed.com/forums/development-94/sorry-unimplemented-64-bit-mode-not-compiled-in--1950062.html
Post by Matteo Rossini
Ma se mi dite che i386 e x86_64 è stato unificato
negli ultimi kernel, allora procedo con il resto.
Te lo confermo.

Saluti,
The Librarian
Matteo Rossini
2008-05-20 21:35:08 UTC
Permalink
Post by 7***@gmail.com
Io fossi in te proverei prima a dare una bella ricompilata al gcc con
il config giusto, tanto ci vuole poco tempo.
si, infatti stavo facendo così (come è scritto nel wiki indicato):
non ho il portatile dove stò compilando sottomano, ma più o meno ho
fatto così
compilazione e installazione di binutils con --prefix=/usr/cross --
target=x86_64-slackware-linux
export PATH=/usr/cross/bin:$PATH
compilazione e installazione di gcc come sopra (e qualcosaltro che ora
non ricordo).
# type gcc
/usr/cross/bin/gcc

se dò gcc helloworld.c produce codice a 32bit
non conosco bene i vari parametri di gcc, quindi ho dato
-march=x86_64 ma sembra non gli piaccia
da una rapida lettura del link che mi hai dato sembra serva -m64
appena accendo il portatile provo.

Matteo
Matteo Rossini
2008-05-21 20:20:44 UTC
Permalink
Post by 7***@gmail.com
Io fossi in te proverei prima a dare una bella ricompilata al gcc con
il config giusto, tanto ci vuole poco tempo.
infatti è quello che stò cercando di fare
le binutils si sono compilate bene
./configure --prefix=/usr/cross --target=x86_64-slackware-linux

ma gcc non ne vuole sapere
export PATH=/usr/cross/bin:$PATH
./configure --prefix=/usr/cross --target=x86_64-slackware-linux --
enable-languages=c
il problema è che in fase di compilazione ad un certo punto va a
cercare un paio di include (pthread.h e unistd.h) che si trovano nel
pacchetto glibc, nel path /usr/include

che mi manca?

Matteo
7***@gmail.com
2008-05-21 21:29:33 UTC
Permalink
On May 21, 10:20 pm, Matteo Rossini <***@tiscali.it> wrote:

[megacut]
Post by Matteo Rossini
che mi manca?
Mancano proprio gli header della glibc.
Ti consiglio di seguire bene una guida passo passo la prima volta che
costruisci una toolchain per un crosscompiler.
Non ho molto tempo, ma ho trovato questa che sembra essere fatta molto
bene:

http://cross-lfs.org/view/clfs-2.0/arm/cross-tools/introduction.html

La guida fa parte di Cross-Compiled Linux From Scratch, quindi
presuppone un ambiente di partenza molto minimale. Tu avrai bisogno di
fare meno della meta' delle operazioni descritte. Inoltre alcune
operazioni nel tuo caso non sono applicabili (la guida e' per arm) e
le versioni dei pacchetti gcc, glibc e binutils potrebbero differire
da quelle che utilizzi tu. Sono sicuro che se ci spendi un po' di
tempo trovi una guida piu' generale, ma comunque questa dovrebbe darti
sufficienti hint per riuscire nell'impresa.

Un'altra possibilita' e' quella di usare degli script per creare la
toolchain. Qui trovi gli script:
http://www.kegel.com/crosstool/
Pero' la prima volta IMHO e' meglio fare le cose a manina cosi' si
impara e soprattutto si capisce che creare una toolchain non e' una
cosa poi cosi' complicata.

Saluti,
The Librarian
Matteo Rossini
2008-05-21 21:56:24 UTC
Permalink
grazie
Matteo Rossini
2008-05-22 21:44:37 UTC
Permalink
Post by 7***@gmail.com
http://cross-lfs.org/view/clfs-2.0/arm/cross-tools/introduction.html
Si, la guida è fatta molto bene.
Stò utilizzando la versione per alpha che mi mette una aggiunta per il
64bit

secondo le istruzioni ho compilato binutils, glibc e gcc, ma alla
compilazione di un programma non mi trova il crt1.o perchè le glibc me
le fa compilare con make install-headers
poco male... lancio make da solo.

ma ad un certo punto mi dà
../sysdeps/unix/sysv/linux/accept.S:5:20: error: socket.S: No such
file or directory
e difatti socket.S in quella directory non esiste.

dov'è l'inghippo?

Matteo
7***@gmail.com
2008-05-23 18:12:36 UTC
Permalink
Post by Matteo Rossini
secondo le istruzioni ho compilato binutils, glibc e gcc, ma alla
compilazione di un programma non mi trova il crt1.o perchè le glibc me
le fa compilare con make install-headers
poco male... lancio make da solo.
Innanzitutto credo che per compilare solo il kernel non ti serva la
glibc (mai provato ma dovrebbe funzionare).
Ovviamente la glibc ti serve per linkare un qualsiasi altro programma.
Post by Matteo Rossini
ma ad un certo punto mi dà
../sysdeps/unix/sysv/linux/accept.S:5:20: error: socket.S: No such
file or directory
e difatti socket.S in quella directory non esiste.
dov'è l'inghippo?
Il tuo problema e' che non hai seguito le istruzioni fino in fondo.
Da quello che ho capito tu hai seguito le seguenti indicazioni (in
ordine):

http://cross-lfs.org/view/clfs-2.0/alpha/cross-tools/binutils.html
http://cross-lfs.org/view/clfs-2.0/alpha/cross-tools/glibc-headers.html
http://cross-lfs.org/view/clfs-2.0/alpha/cross-tools/gcc-static.html

dopodiche' hai visto che la glibc non era stata compilata e sei andato
direttamente di make.

Invece avresti dovuto seguire le istruzioni riportate qui:
http://cross-lfs.org/view/clfs-2.0/alpha/cross-tools/glibc.html

E io a questo punto farei anche questo:
http://cross-lfs.org/view/clfs-2.0/alpha/cross-tools/gcc-final.html

Se c'e' qualcosa che non ti funziona riprova da capo, inquanto e'
probabile che tu abbia inavvertitamente saltato qualche passaggio.
Infatti le indicazioni della guida sono giuste al 99% (quelli di LFS &
CO testano tutto piu' volte prima di pubblicare una guida).

Saluti,
The Librarian
Matteo Rossini
2008-05-25 17:24:45 UTC
Permalink
ok.
prima di riprovare...
io stò utilizzando i pacchetti delle ultime versioni presi
direttamente dai siti originali, e non usavo le patch perchè non
sapevo dove prenderle... (ora lo so).

dici che è meglio usare le versioni specificate?

un altro problema a volte è capire se utilizzare 'x86' o 'x86_64' al
posto di 'alpha', p.e. per prelevare le kernel header, lui le andrebbe
a cercare su x86_64, ma, non esistendo, ho dovuto copiarle
manualmente.


Mi ero messo a leggere la guida anche un po' indietro di quel capitolo
e ho capito qualcos'altro... ora riprovo da zero.

Matteo
Matteo Rossini
2008-05-25 19:58:21 UTC
Permalink
sembrerebbe andare tutto bene, ma con una eccezione.

stò compilando le glibc (non le header),
ma mi da una valanga di warning:
warning: C99 inline functions are not supported; using GNU89
cioè non gli piace -std=gnu99 ed userà -ansi
sono solo warning, ma al termine da un errore; non so quanto siano
collegati:

/home/clfs/clfs/cross-tools/lib/gcc/x86_64-unknown-linux-gnu/
4.2.1/../../../../x86_64-unknown-linux-gnu/bin/ld: cannot open linker
script file /home/clfs/glibc-build/ld.map: No such file or directory
(il linker ha come parametro --version-script=/home/clfs/glibc-build/
ld.map)
e in effetti ld.map non esiste, MA esiste nella directory glibc-build
della precedente compilazione (quella di glibc-header) in quanto non
ho riciclato la stessa ma ne ho fatta una nuova (riscompattato il
tar.bz2)

premetto che in aggiunta al tutorial ho solamente fatto:
export PATH="/home/clfs/clfs/cross-tools/bin:$PATH"
in quanto il configure non riusciva a trovare x86_64-unknown-linux-gnu-
gcc

inoltre non mi tornano questi switch
--prefix=/usr --libexecdir=/usr/lib/glibc
non dovrebbe essere --prefix=$CLFS/usr --libexecdir=$CLFS/usr/lib/
glibc
o addirittura --prefix=$CLFS/usr/cross-tools --libexecdir=$CLFS/usr/
cross-tools/lib/glibc ?

Matteo
Matteo Rossini
2008-05-25 21:47:56 UTC
Permalink
VITTORIA:

***@portros:~/clfs/cross-tools/bin$ uname -a
Linux portros 2.6.24.5-smp #1 SMP Wed Apr 30 13:18:13 CDT 2008 i686
Intel(R) Core(TM)2 Duo CPU T5550 @ 1.83GHz GenuineIntel GNU/Linux

***@portros:~/clfs/cross-tools/bin$ cat ~/helloworld.c
#include <stdio.h>
int main() {
printf("Hello World x64!\n");
return 0;
}

***@portros:~/clfs/cross-tools/bin$ ./x86_64-unknown-linux-gnu-gcc ~/
helloworld.c -o ~/helloworld.o
***@portros:~/clfs/cross-tools/bin$ file ~/helloworld.o
/home/clfs/helloworld.o: ELF 64-bit LSB executable, x86-64, version 1
(SYSV), dynamically linked (uses shared libs), not stripped

***@portros:~/clfs/cross-tools/bin$ ~/helloworld.o
-su: /home/clfs/helloworld.o: cannot execute binary file



reboot


***@darkstar:/clfs# uname -a
Linux darkstar 2.6.24.5 #1 SMP Sun May 4 16:51:34 BST 2008 x86_64
x86_64 x86_64 GNU/Linux

***@darkstar:/clfs# ./helloworld.o
Hello World x64!

Matteo
Matteo Rossini
2008-05-26 13:40:08 UTC
Permalink
Post by Matteo Rossini
Linux darkstar 2.6.24.5 #1 SMP Sun May 4 16:51:34 BST 2008 x86_64
x86_64 x86_64 GNU/Linux
e ho anche ricompilato il kernel
***@darkstar:/clfs# uname -a
Linux darkstar 2.6.24.5 #2 SMP Mon May 26 15:05:27 CEST 2008 x86_64
x86_64 x86_64 GNU/Linux

(notare la data)
Jack
2008-05-20 06:25:14 UTC
Permalink
Post by Valeria Dal Monte
Certo. Adesso crosscompili per x864_64 su i386. Provaci, dai.
Sto gia' ridendo, conosco il risultato.
ROTFL carpiato.
LOLLA quanto ti pare, da linux ho le toolchain pronte (e funzionanti)
per crosscompilare per ARM, 8051 e HC08.
Su mac crosscompilo per ppc32, ppc64, intel32 e intel64.

Non vedo il problema a crosscompilare da i386 a x86_64 una volta che
hai pronta la toolchain.

Visto che dici che non si puo' spiega il motivo invece trollare qua
dentro.

Ciao Jack
Valeria Dal Monte
2008-05-20 13:04:55 UTC
Permalink
Post by Jack
Certo. Adesso crosscompili per x864_64 su i386. Provaci, dai. Sto gia'
ridendo, conosco il risultato. ROTFL carpiato.
LOLLA quanto ti pare,
Allora mostrami questo kernel, forza. Fatti, non chiacchiere.
Jack
2008-05-20 14:06:12 UTC
Permalink
Post by Valeria Dal Monte
Post by Jack
Certo. Adesso crosscompili per x864_64 su i386. Provaci, dai. Sto gia'
ridendo, conosco il risultato. ROTFL carpiato.
LOLLA quanto ti pare,
Allora mostrami questo kernel, forza. Fatti, non chiacchiere.
ahahah, a quanto apre non riesci fornire prove del fatto che NON si
possa fare, quindi plonk.

addio troll, fa attenzione a non prendere troppo sole, altrimenti
diventi di pietra.
Valeria Dal Monte
2008-05-20 18:45:54 UTC
Permalink
Post by Jack
Post by Valeria Dal Monte
Post by Jack
Certo. Adesso crosscompili per x864_64 su i386. Provaci, dai. Sto
gia' ridendo, conosco il risultato. ROTFL carpiato.
LOLLA quanto ti pare,
Allora mostrami questo kernel, forza. Fatti, non chiacchiere.
ahahah, a quanto apre non riesci
Tu non riesci a farlo. Stai zitto, somaro.
Matteo Rossini
2008-05-20 21:56:28 UTC
Permalink
pur non conoscendo ancora la teoria e tutto il resto e forse sò poco
di cosa si stà parlando, ma immagino che si possa fare per uno e un
solo motivo:

se per compilare un programma per una determinata cpu, devo avere un
linux running sulla stessa cpu, allora non esisterebbe alcuna
distribuzione per quella cpu, in quanto nessuno potrebbe compilare la
prima distribuzione running su quella cpu.
più concreto:
supponiamo che al mondo esista una sola distribuzione, per esempio
slackware (ma anche altre vanno bene)
fino al 2004 non esisteva alcun porting a 64bit
come è nata slamd64?

visto che invece esistono già versioni di suse, ubuntu.. a 64bit,
potrei lanciare quelle e compilare slamd64.
vero, si, ma come sono state compilate suse e ubuntu a 64bit?

se ora, invece, fosse possibile ottenere un compilatore e un linker
che abbiano gli header e le info per compilare a 64 bit, allora
compilo un programma a 64bit, che NON posso avviare, naturalmente.
Allora compilo il kernel a 64bit; compilo anche bash a 64 bit metto in
lilo e riavvio; a questo punto il programmino lo posso lanciare.



smentiscimi e ti darò ragione...
ma poi mi spieghi come si crea una distribuzione a 64bit, o una per
mips, sparc, ecc..

Ciao,
Matteo
Valeria Dal Monte
2008-05-21 14:35:11 UTC
Permalink
Post by Matteo Rossini
pur non conoscendo ancora la teoria
Mi sa che non cogli il punto.
Mica ho detto che non esiste il cross-compiler.
Ho detto che non ci riuscirai.

Provami il contrario. Ma perderai solo tempo.

Intanto dov'e' il "hello world" che dovevi provare? E' roba di pochi
secondi.
Matteo Rossini
2008-05-21 19:43:13 UTC
Permalink
Post by Valeria Dal Monte
Post by Matteo Rossini
pur non conoscendo ancora la teoria
Mi sa che non cogli il punto.
Mica ho detto che non esiste il cross-compiler.
Ho detto che non ci riuscirai.
non ti seguo... dici che non è possibile o che non ci riuscirò? visto
che dici che il cross-compiling esiste
Post by Valeria Dal Monte
Intanto dov'e' il "hello world" che dovevi provare? E' roba di pochi
secondi.
non ho mica detto che ci metto un attimo (considerando che devo ancora
imparare e che tocco il computer solo ora da ieri sera)

Matteo
Valeria Dal Monte
2008-05-22 14:29:39 UTC
Permalink
Post by Matteo Rossini
Post by Valeria Dal Monte
Intanto dov'e' il "hello world" che dovevi provare? E' roba di pochi
secondi.
non ho mica detto che ci metto un attimo (considerando che devo ancora
imparare e che tocco il computer solo ora da ieri sera)
Classico caso di mirror climbing.
Matteo Rossini
2008-05-22 16:50:20 UTC
Permalink
Post by Valeria Dal Monte
Classico caso di mirror climbing.
non ti seguo... dici che non è possibile o che non ci riuscirò? visto
che dici che il cross-compiling esiste
forse è meglio chiarire alcuni punti (così parliamo la stessa lingua):
dici che non è possibile compilare in _nessun_ caso un programma a
64bit (per essere eseguito su una piattaforma a 64bit), nemmeno cross-
compilando,
oppure dici che non è possibile compilarlo con il gcc e gli strumenti
così come sono (perchè in tal caso mi sembra ovvio che non si possa
fare)

traslando il discorso su mips, sparc... il discorso cambia o è uguale?

è importante sapere questo.


Matteo
Jack
2008-05-22 17:10:24 UTC
Permalink
Post by Matteo Rossini
è importante sapere questo.
l'essere con cui stai tentando una discussione seria e' un troll.
lascia perdere.

Ciao Jack
--
Yoda of Borg am I! Assimilated shall you be! Futile resistance is, hmm?
Valeria Dal Monte
2008-05-31 02:50:53 UTC
Permalink
Post by Jack
Post by Matteo Rossini
è importante sapere questo.
l'essere
Zitto idiota di uno zerbino.

Hai avuto abbastanza tempo, dov'e' il risultato?
Fatti aiutare da quel subnormale, facciamoci 4 risate.
Matteo Rossini
2008-06-01 08:50:04 UTC
Permalink
Post by Valeria Dal Monte
Hai avuto abbastanza tempo, dov'e' il risultato?
toh, pensavo che il topic fosse chiuso con i miei post del 25 e 26
maggio (se li hai letti).
li riporto. Dopo magari dai uno sguardo a linux from scratch:
http://trac.cross-lfs.org

============================================================
VITTORIA:

***@portros:~/clfs/cross-tools/bin$ uname -a
Linux portros 2.6.24.5-smp #1 SMP Wed Apr 30 13:18:13 CDT 2008 i686
Intel(R) Core(TM)2 Duo CPU T5550 @ 1.83GHz GenuineIntel GNU/Linux

***@portros:~/clfs/cross-tools/bin$ cat ~/helloworld.c
#include <stdio.h>
int main() {
printf("Hello World x64!\n");
return 0;

}

***@portros:~/clfs/cross-tools/bin$ ./x86_64-unknown-linux-gnu-gcc ~/
helloworld.c -o ~/helloworld.o
***@portros:~/clfs/cross-tools/bin$ file ~/helloworld.o
/home/clfs/helloworld.o: ELF 64-bit LSB executable, x86-64, version 1
(SYSV), dynamically linked (uses shared libs), not stripped

***@portros:~/clfs/cross-tools/bin$ ~/helloworld.o
-su: /home/clfs/helloworld.o: cannot execute binary file

reboot

***@darkstar:/clfs# uname -a
Linux darkstar 2.6.24.5 #1 SMP Sun May 4 16:51:34 BST 2008 x86_64
x86_64 x86_64 GNU/Linux

***@darkstar:/clfs# ./helloworld.o
Hello World x64!

Matteo

=======================================================
Post by Valeria Dal Monte
Linux darkstar 2.6.24.5 #1 SMP Sun May 4 16:51:34 BST 2008 x86_64
x86_64 x86_64 GNU/Linux
e ho anche ricompilato il kernel
***@darkstar:/clfs# uname -a
Linux darkstar 2.6.24.5 #2 SMP Mon May 26 15:05:27 CEST 2008 x86_64
x86_64 x86_64 GNU/Linux

(notare la data)

=======================================================
Valeria Dal Monte
2008-06-03 13:33:08 UTC
Permalink
Post by Matteo Rossini
Post by Valeria Dal Monte
Hai avuto abbastanza tempo, dov'e' il risultato?
toh, pensavo che il topic fosse chiuso con i miei post del 25 e 26
maggio (se li hai letti).
http://trac.cross-lfs.org
Cioe' faresti girare eseguibili a 64 su una distribuzione a 32? Kernel
compreso?

C'e' qualcosa che non va.
Matteo Rossini
2008-06-03 14:26:31 UTC
Permalink
Post by Valeria Dal Monte
Cioe' faresti girare eseguibili a 64 su una distribuzione a 32? Kernel
compreso?
no. questo non l'ho mai detto e so benissimo che non è possibile.

io *compilo* su una distribuzione a 32 bit, come puoi vedere seguendo
bene gli output che ho postato.

Il compilatore mi *genera* un binario a 64bit che *non* eseguo su
questa piattaforma, visto che è a 32bit.
prendo il binario che mi ha generato il compilatore, lo porto su una
distribuzione *già a 64bit* e lo eseguo... e funge.

nel caso del kernel, cross-compilo su una distro a *32bit* e mi viene
generato un kernel a *64bit*. Lo metto dentro lilo, rebootto e carico
il nuovo kernel che, sempre dall'output, vedi che è a *64bit*


a disposizione per ulteriori prove o spiegazioni di passi non chiari

Ciao
Matteo

GenTLe
2008-06-01 08:56:52 UTC
Permalink
Post by Valeria Dal Monte
Zitto idiota di uno zerbino.
Tu è MOLTISSIMO che non scopi, vero?
--
GenTLe ...di Varese, provincia.
TL1000S + Mito 125 per la pista
La mia HP: http://digilander.iol.it/thegentle/index.htm

Debian Lenny powered... Again :-)
Valeria Dal Monte
2008-06-03 13:31:57 UTC
Permalink
Post by GenTLe
Post by Valeria Dal Monte
Zitto idiota di uno zerbino.
Tu è MOLTISSIMO che non scopi, vero?
No, tua madre e tua sorella me la danno quotidianamente.
Continua a leggere su narkive:
Loading...