shodan
13-05-2005, 09:07
Ciao a tutti,
sono 2 giorni che sto cercando di capire come sia possibile compilare un kernel per x86_64 (ho un A64 3000+ per le mani) partendo da una distribuzione a 32 bit. Mi è parso di capire che occorre fare una cross-compilation utilizzando una versione recente di gcc (>= 3.4); non mi è ben chiaro invece se devo prima costruirmi un ambiente a 64 bit facendo una directory con tutto il necessario e poi facendoci un chroot.
Ho iniziato la configurazione del nuovo kernel dando il comando "make ARCH=x86_64 CROSS_COMPILE=x86_64-linux- menuconfig"; il file di configurazione generato contiene correttamente la variabile "ARCH=x86_64". Ho creato un link a gcc-3.4 chiamandolo x86_64-linux-gcc dato che usando la variabile "CROSS_COMPILE=x86_64-linux-" il make cerca di trovare il compilatore chiamato nome_variabile+"gcc".
Ho quindi dato il comando "make ARCH=x86_64 CROSS_COMPILE=x86_64-linux-" per iniziare la compilazione ma la compilazione si interrompe subito dandomi il messaggio "cripts/mod/empty.c:1: error: code model `kernel' not supported in the 32 bit mode".
Non riesco a capire quale sia il problema, dato che in rete c'è una confusione incredibile sull'argomento...
Potete indicarmi dove sbaglio e cosa posso fare per correggermi?
Grazie a tutti! :)
sono 2 giorni che sto cercando di capire come sia possibile compilare un kernel per x86_64 (ho un A64 3000+ per le mani) partendo da una distribuzione a 32 bit. Mi è parso di capire che occorre fare una cross-compilation utilizzando una versione recente di gcc (>= 3.4); non mi è ben chiaro invece se devo prima costruirmi un ambiente a 64 bit facendo una directory con tutto il necessario e poi facendoci un chroot.
Ho iniziato la configurazione del nuovo kernel dando il comando "make ARCH=x86_64 CROSS_COMPILE=x86_64-linux- menuconfig"; il file di configurazione generato contiene correttamente la variabile "ARCH=x86_64". Ho creato un link a gcc-3.4 chiamandolo x86_64-linux-gcc dato che usando la variabile "CROSS_COMPILE=x86_64-linux-" il make cerca di trovare il compilatore chiamato nome_variabile+"gcc".
Ho quindi dato il comando "make ARCH=x86_64 CROSS_COMPILE=x86_64-linux-" per iniziare la compilazione ma la compilazione si interrompe subito dandomi il messaggio "cripts/mod/empty.c:1: error: code model `kernel' not supported in the 32 bit mode".
Non riesco a capire quale sia il problema, dato che in rete c'è una confusione incredibile sull'argomento...
Potete indicarmi dove sbaglio e cosa posso fare per correggermi?
Grazie a tutti! :)