Linux Kernel 4.1.y

From IGEP - ISEE Wiki

Jump to: navigation, search

Introduction

This article is for specific 4.1.y Linux kernel branch serie.
It is interesting read The Linux kernel article previously.

On this 4.1.y version, supported IGEP Processor Boards are:

  • IGEP COM AQUILA 256 MB RAM (IGEP0033-RB11)
  • IGEP COM AQUILA 512 MB RAM (IGEP0033-RB30)
  • IGEP SMARC AM335x Lite
  • IGEP SMARC AM335x

The currently supported IGEP Expansion Boards are as follows:

  • IGEP AQUILA EXPANSION (BASE0033) for IGEP COM AQUILA
  • IGEP SMARC EXPANSION (BASE0040) for IGEP SMARC AM335x

Compiler used

2015.07.y series has been compiled with gcc-linaro-4.9-2015.05-x86_64_arm-linux-gnueabihf.

Download compiler:

wget --no-check-certificate http://releases.linaro.org/archive/15.05/components/toolchain/binaries/arm-linux-gnueabihf/gcc-linaro-4.9-2015.05-x86_64_arm-linux-gnueabihf.tar.xz

Install compiler:

sudo tar -xvf gcc-linaro-4.9-2015.05-x86_64_arm-linux-gnueabihf.tar.xz -C /opt

Export environment variables:

export PATH=/opt/gcc-linaro-4.9-2015.05-x86_64_arm-linux-gnueabihf/bin:$PATH

Build kernel from sources

Download the latest stable version from ISEE GIT Repository

git clone -b linux-4.1.y-am335x git://git.isee.biz/pub/scm/linux-omap-2.6.git
cd linux-omap-2.6/

Also, it could download from GIT Repositories (http://git.isee.biz/) and test the last unstable version at your own risk (see "Linux mainline tree (development)" chapter in The Linux kernel)

Configure Linux kernel for IGEP devices. IGEP is ARM architecture based device.

A generic configuration is provided for IGEP COM AQUILA:

make ARCH=arm CROSS_COMPILE=[your cross compiler]  am335x_igep0033_defconfig

A generic configuration is provided for IGEP SMARC AM335x:

make ARCH=arm CROSS_COMPILE=[your cross compiler]  am335x_igep0034_defconfig

Then build the kernel, the kernel modules and the device tree files. The result will be an zImage file in arch/arm/boot directory. Execute:

make ARCH=arm CROSS_COMPILE=[your cross compiler] zImage modules dtbs

You can install the kernel modules to your target rootfs

make ARCH=arm CROSS_COMPILE=[your cross compiler] INSTALL_MOD_PATH=[path to your target rootfs] modules_install