Sono ansioso di compilare e vorrei usare gli strumenti più recenti e migliori.
In effetti, gli strumenti più recenti e migliori non devono essere creati da soli. Sul repository GitHub di Raspberry Pi Tool troverai i toolchain X86_64
e x686
per il software di compilazione incrociata.
Consiglio di utilizzare la x86-linux64-cross-arm-linux-hardfp
toolchain, poiché verrà compilata per Hard Floating Point, il che si tradurrà in un sistema molto più veloce.
$ arm-bcm2708hardfp-linux-gnueabi-gcc --version
arm-bcm2708-linux-gnueabi-gcc-4.5.1 (Broadcom-2708) 4.5.1
Copyright (C) 2010 Free Software Foundation, Inc.
Nota: se si utilizza un kernel esistente, sarà necessario utilizzare la toolchain corrispondente al kernel. Le applicazioni HardFP non funzioneranno su un kernel SoftFP.
Per utilizzare la toolchain è sufficiente controllare il repository:
git clone https://github.com/raspberrypi/tools.git --depth 1
Il --depth
parametro significherà che non è necessario attendere che venga scaricata anche la cronologia del repository (poiché non la useremo).
Quindi aggiungi i binari alla tua variabile PATH:
export PATH=~/tools/arm-bcm2708/x86-linux64-cross-arm-linux-hardfp/bin:$PATH
O per persistere nel PERCORSO:
echo "export PATH=~/tools/arm-bcm2708/x86-linux64-cross-arm-linux-hardfp/bin:$PATH" >> ~/.bashrc
source ~/.bashrc
Per compilare con la catena degli strumenti è ora possibile aggiungere il CROSS_COMPILE
parametro. Ad esempio, durante l'esecuzione make
:
make CROSS_COMPILE=arm-bcm2708hardfp-linux-gnueabi-
O per semplificare questo, puoi salvare di bashrc
nuovo la variabile :
echo "export TARGET=arm-bcm2708hardfp-linux-gnueabi" >> ~/.bashrc
source ~/.bashrc
e ora usa la variabile durante la compilazione:
make CROSS_COMPILE=${TARGET}