Home
Accesso / Registrazione
 di 

Embedded GNU/Linux partendo da zero: ricompilare il kernel

Embedded GNU/Linux partendo da zero

L'obiettivo di questa serie di articoli è di fornire una guida passo passo per la creazione da zero di un sistema GNU/Linux perfettamente funzionante,
applicabile ad esempio in scenari di tipo embedded come base per la generazione di un semplice BSP (Board Support Package), di un firmware Linux-based, o di una micro-distribuzione totalmente custom.

Contenuto esclusivo per gli ABBONATI PLATINUM di Elettronica Open Source.

Leggi subito tutto l'articolo e poi ricevilo in PDF all'interno di EOS-Book insieme a tanti altri vantaggi offerti dall'Abbonamento Platinum! Diventa Utente PLATINUM

SCOPRI TUTTI I VANTAGGI DI UN ABBONAMENTO ANNUALE CHE COMPRENDE ANCHE TUTTO L'ARCHIVIO

 

 

 

 

 

Scrivi un commento all'articolo esprimendo la tua opinione sul tema, chiedendo eventuali spiegazioni e/o approfondimenti e contribuendo allo sviluppo dell'argomento proposto. Verranno accettati solo commenti a tema con l'argomento dell'articolo stesso. Commenti NON a tema dovranno essere necessariamente inseriti nel Forum creando un "nuovo argomento di discussione". Per commentare devi accedere al Blog
ritratto di northpole

Non compilo il Kernel

Ho il compilatore GCC sotto /home/cesare/Scaricati/gcc-linaro-arm-linux-gnueabihf-2012.09-20120921_linux/bin ma lanciando la compilazione del kernel il link che lo punta sembra non essere visto. Di seguito quello che succede .... sapete darmi un aiuto ?
Grazie

cesare@ubuntu:~/Scaricati$ export PATH=$PWD/gcc-linaro-arm-linux-gnueabihf-2012.09-20120921_linux/bin:$PATH
cesare@ubuntu:~/Scaricati$ $PATH
bash: /home/cesare/Scaricati/gcc-linaro-arm-linux-gnueabihf-2012.09-20120921_linux/bin:/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games: No such file or directory
cesare@ubuntu:~/Scaricati$ cd linux-3.5.4/
cesare@ubuntu:~/Scaricati/linux-3.5.4$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- vexpress_defconfig
#
# configuration written to .config
#
cesare@ubuntu:~/Scaricati/linux-3.5.4$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-
make: arm-linux-gnueabihf-gcc: Command not found
scripts/kconfig/conf --silentoldconfig Kconfig
make: arm-linux-gnueabihf-gcc: Command not found
CHK include/linux/version.h
CHK include/generated/utsrelease.h
make[1]: `include/generated/mach-types.h' is up to date.
CC kernel/bounds.s
/bin/sh: 1: arm-linux-gnueabihf-gcc: not found
make[1]: *** [kernel/bounds.s] Error 127
make: *** [prepare0] Error 2
cesare@ubuntu:~/Scaricati/linux-3.5.4$ make ARCH=arm CROSS_COMPILE=/home/cesare/Scaricati/gcc-linaro-arm-linux-gnueabihf-2012.09-20120921_linux/bin/arm-linux-gnueabihf-
make: /home/cesare/Scaricati/gcc-linaro-arm-linux-gnueabihf-2012.09-20120921_linux/bin/arm-linux-gnueabihf-gcc: Command not found
CHK include/linux/version.h
CHK include/generated/utsrelease.h
make[1]: `include/generated/mach-types.h' is up to date.
CC kernel/bounds.s
/bin/sh: 1: /home/cesare/Scaricati/gcc-linaro-arm-linux-gnueabihf-2012.09-20120921_linux/bin/arm-linux-gnueabihf-gcc: not found
make[1]: *** [kernel/bounds.s] Error 127
make: *** [prepare0] Error 2
cesare@ubuntu:~/Scaricati/linux-3.5.4$ ls -la /home/cesare/Scaricati/gcc-linaro-arm-linux-gnueabihf-2012.09-20120921_linux/bin/arm-linux-gnueabihf-gcc
lrwxrwxrwx 1 cesare cesare 29 feb 3 21:16 /home/cesare/Scaricati/gcc-linaro-arm-linux-gnueabihf-2012.09-20120921_linux/bin/arm-linux-gnueabihf-gcc -> arm-linux-gnueabihf-gcc-4.7.2

ritratto di arighi

Cosa succede se provi a

Cosa succede se provi a lanciare arm-linux-gnueabihf-gcc dalla shell, dopo aver impostato il path?

Forse ti manca qualche libreria richiesta dal compilatore; prova a dare un "ldd /home/cesare/Scaricati/gcc-linaro-arm-linux-gnueabihf-2012.09-20120921_linux/bin/arm-linux-gnueabihf-gcc" e vedere cosa ti dice.

ritratto di northpole

Risolto

ldd: /home/cesare/Scaricati/gcc-linaro-arm-linux-gnueabihf-2012.09-20120921_linux/bin/arm-linux-gnueabihf-: No such file or directory
cesare@ubuntu:~/Scaricati/linux-3.5.4$ ldd /home/cesare/Scaricati/gcc-linaro-arm-linux-gnueabihf-2012.09-20120921_linux/bin/arm-linux-gnueabihf-gcc
linux-gate.so.1 => (0xf7790000)
libstdc++.so.6 => /usr/lib/i386-linux-gnu/libstdc++.so.6 (0xf768d000)
libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xf7661000)
libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xf7645000)
libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xf7640000)
libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xf7622000)
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf7478000)
/lib/ld-linux.so.2 (0xf7791000)

Ho risolto poco fa girando su forum ed era un problema analogo a quello che dicevi tu. Qualcuno aveva Ubuntu a 64 bit e non aveva installate le lib a 32 bit. Ho verificato di avere anch'io il SO a 64 bit visto che nemmeno lo sapevo ed ho installato le lib a 32
sudo apt-get install ia32.libs
Poi tutto è andato.
Grazie

ritratto di arighi

Ottimo! Grazie per aver

Ottimo! Grazie per aver condiviso il modo in cui hai risolto. ;)

ritratto di k0ral

emulare raspberry

mi chiedevo....per fare delle prove senza avere fisicamente il raspberry, posso emularlo con Qemu?

ritratto di arighi

E` possibile, ma e`

E` possibile, ma e` necessaria una versione particolare di qemu, patchata per emulare tutti i componenti hardware del raspberry. Comunque e` piuttosto semplice, i passaggi sono tutti riportati qua:
http://www.raspberrypi.org/phpBB3/viewtopic.php?f=72&t=26561

 

 

Login   
 Twitter Facebook LinkedIn Youtube Google RSS

Chi è online

Ci sono attualmente 6 utenti e 49 visitatori collegati.

Ultimi Commenti