Caricamento contenuto pagina

È possibile caricare il contenuto per la pagina indicata sotto. Se viene cambiato il nome della pagina, è possibile caricare il contenuto per un'altra pagina. Se il nome della pagina è lasciato vuoto, il nome della pagina viene ipotizzato dal nome del file.

File da cui caricare il contenuto della pagina
Nome pagina
Commento
Di che colore era il cavallo bianco di Napoleone?

Italiano English
Modifica History Actions

debian_kernel_crosscompile

My conf: Debian 8 (Jessie) with Backports, 4 cores, 4Gb RAM.

Target: OrangePi One H3 (AllWinner) armhf, .deb only for a specific board

Install crossbuild packages for the target architecture.

dpkg --add-architecture armhf
apt-get update
apt-get install crossbuild-essential-armhf
apt-get install cross-gcc-dev gcc-arm-none-aebi binutils-arm-linux-gnueabihf 

Install kernel sources

apt-get install linux-source-X.X

Move to your working dir & copy kernel sources.

cd ~
cp /usr/src/linux.source-X.X.tar.xz .

Expand kernel sources

tar xavf linux-source-X.X.tar.xz

Move to sources dir

cd linux-source-X.X 

If you have patches to apply then copy them into linux-source-X.X folder and then for each patch do:

patch -p1 < MYPATCH 

Into arch/arm/ there are all supported boards, choose your board (mine is OrangePi One and it's a sunxi board)

Prepare for configuration, start with a minimum configurations

ARCH=arm CROSS_COMPILE=/usr/bin/arm-none-eabi- make sunxi_defconfig

Now, we probably need more modules because that defconfig is a very minimal configuration

ARCH=arm CROSS_COMPILE=/usr/bin/arm-none-eabi- make menuconfig

Choose your modules.

* In General Setup -> Stack Protector buffer overflow detection set it to None (or build will fail).

Build!

ARCH=arm CROSS_COMPILE=/usr/bin/arm-none-eabi- DEB_BUILD_OPTIONS=nocheck make deb-pkg LOCALVERSION=-YOUR_TARGET_ARCH KDEB_PKGVERSION=$(make kernelversion) -j#num_of_cores

Don't forget to set the target LOCAL_VERSION=-YOUR_TARGET_ARCH (ie: -arm-antani-lpae ), otherwise dpkg will not install the kernel. This is what i did for my OrangePi One:

ARCH=arm CROSS_COMPILE=/usr/bin/arm-none-eabi- DEB_BUILD_OPTIONS=nocheck make deb-pkg LOCALVERSION=-armmp-lpae KDEB_PKGVERSION=$(make kernelversion) -j4

Wait until build process completes; ready to use .debs are in the upper level folder.