weidong zhou

Native compile Linux kernel on i.MX6ULL platform

Discussion created by weidong zhou on Aug 14, 2018

Normally Linux kernel is built on various x86 architecture platform which we call it "cross-compiling" or "cross-development". In this test we will take a NXP i.MX6ULL 900MHz platform as build machine to make a native compiling of Linux kernel. And this make possible to compare the performance with the main stream x86 desktop.

 

Environment

Platform NameInnostick 6
CPUi.MX6ULL 900MHz
RAM512MB DDR3L
eMMC16GB
NetworkWiFi

 

====Pre-requirements====

 

====CPU Info.====

debian@arm:/opt/innostick6$ lscpu

Architecture: armv7l

Byte Order: Little Endian

CPU(s): 1

On-line CPU(s) list: 0

Thread(s) per core: 1

Core(s) per socket: 1

Socket(s): 1

Model: 5

Model name: ARMv7 Processor rev 5 (v7l)

CPU max MHz: 900.0000

CPU min MHz: 198.0000

BogoMIPS: 13.63

Flags: half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae

 

====Debian Version====

debian@arm:/opt/innostick6$ cat /etc/os-release

PRETTY_NAME="Debian GNU/Linux 9 (stretch)"

NAME="Debian GNU/Linux"

VERSION_ID="9"

VERSION="9 (stretch)"

ID=debian

HOME_URL="https://www.debian.org/"

SUPPORT_URL="https://www.debian.org/support"

BUG_REPORT_URL="https://bugs.debian.org/

 

====Install build-essential====

sudo apt-get install build-essential libncurses5-dev lzop

 

====Disk Info.====

debian@arm:/opt/innostick6$ df -h

Filesystem Size Used Avail Use% Mounted on

/dev/root 14G 2.5G 11G 20% /

devtmpfs 86M 0 86M 0% /dev

tmpfs 247M 0 247M 0% /dev/shm

tmpfs 247M 10M 237M 5% /run

tmpfs 5.0M 0 5.0M 0% /run/lock

tmpfs 247M 0 247M 0% /sys/fs/cgroup

tmpfs 50M 4.0K 50M 1% /run/user/112

tmpfs 50M 0 50M 0% /run/user/1000

 

====Build U-Boot====

Get source code:

git clone https://source.codeaurora.org/external/imx/uboot-imx -b imx_v2017.03_4.9.88_2.0.0_ga

 

Start to Compile:

cd uboot-imx

make clean

make mx6ull_14x14_evk_defconfig

make

 

====Build Kernel====

Get source code:

git clone https://source.codeaurora.org/external/imx/linux-imx -b imx_4.9.88_2.0.0_ga

Start to compile

cd linux-imx

make imx_v7_defconfig

make

 

====Check Disk Info. Again====

debian@arm:/opt/innostick6/linux-imx$ df -h

Filesystem Size Used Avail Use% Mounted on

/dev/root 14G 3.4G 9.6G 26% /

devtmpfs 86M 0 86M 0% /dev

tmpfs 247M 0 247M 0% /dev/shm

tmpfs 247M 6.9M 240M 3% /run

tmpfs 5.0M 0 5.0M 0% /run/lock

tmpfs 247M 0 247M 0% /sys/fs/cgroup

tmpfs 50M 4.0K 50M 1% /run/user/112

tmpfs 50M 0 50M 0% /run/user/1000

 

====Time Consumption====

Approximately 210 minutes

Outcomes