Le seguenti 127 parole non sono state trovate nel dizionario di 1275 termini (includendo 1275 LocalSpellingWords) e sono evidenziate qui sotto:
aebi   antani   apply   apt   arch   architecture   arm   armhf   armmp   Backports   because   bin   binutils   board   boards   buffer   build   Build   cd   Choose   choose   completes   conf   configuration   configurations   cores   cp   cross   crossbuild   deb   Debian   debs   defconfig   detection   dev   did   dir   Don   dpkg   eabi   each   essential   Expand   fail   folder   for   forget   Gb   gcc   General   get   gnueabihf   H3   ie   If   into   Into   j4   Jessie   kernel   kernelversion   level   lpae   make   menuconfig   mine   minimal   minimum   modules   more   Move   My   my   need   nocheck   None   none   Now   num   One   only   or   Orange   otherwise   overflow   p1   packages   patch   patches   Pi   pkg   Prepare   probably   process   Protector   ready   set   Setup   source   sources   specific   src   Stack   sunxi   supported   tar   Target   target   that   then   there   This   to   until   update   upper   use   usr   very   Wait   we   what   will   with   working   xavf   xz  

Nascondi questo messaggio
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.