RPiLinuxKernelBuild

De Wiki LOGre
Révision datée du 4 février 2013 à 02:06 par Gregorio (discussion | contributions) (la compilation)
Aller à : navigation, rechercher

En cross compilation

la compilation

WORKDIR=direcotry de travail
cd $WORKDIR

Get compilateurs

git clone https://github.com/raspberrypi/tools.git

On a 3 compilos diffrents :

arm-bcm2708-linux-gnueabi
arm-bcm2708hardfp-linux-gnueabi
gcc-linaro-arm-linux-gnueabihf-raspbian

Le 3eme est le plus performant (utilisation du FPU hardware)

PATH=$PATH:$WORKDIR/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin

get kernel source

git clone https://github.com/raspberrypi/linux.git

Prepare env:

mkdir -p $WORKDIR/kernel_output
cd $WORKDIR/linux

Compile le kernel

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- O=$WORKDIR/kernel_output

Copie les modules

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- INSTALL_MOD_PATH=<modules_path> modules_install

Directfb fusion compilation

cd $WORKDIR
git clone git://git.directfb.org/git/directfb/core/linux-fusion.git
cd linux_fusion
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- KERNELDIR=$WORKDIR/kernel_output

Install les modules

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- KERNELDIR=$WORKDIR/kernel_output INSTALL_MOD_PATH=<modules_path> modules_install

Mettre sur la target

Le noyau

Création de l'image noyau attendu par le bootloader

cd $WORKDIR/tools/mkimage
./imagetool-uncompressed.py $WORKDIR/kernel_output/arch/arm/boot/zImage

Copie sur la Rpi

scp $WORKDIR/tools/mkimage/kernel.img pi@<rpi_ip>:/boot/ma_kernel.img

Les modules

cd <modules_path>
tar cpf - * | ssh pi@192.168.0.18 "sudo tar xpf - -C /"

sources

http://airlab.elet.polimi.it/index.php/Cross-compiling_for_the_RaspberryPi http://elinux.org/RPi_Kernel_Compilation