Sign inSign up

araczkowski/s905

By araczkowski

Updated over 5 years ago

arm-src-kernel + toolchain

Image
0

278

araczkowski/s905 repository overview

1. run this container

docker pull araczkowski/s905:kernel

docker run araczkowski/s905:kernel

docker exec -it araczkowski/s905:kernel /bin/bash

2. get your kernel config

you can back it up from a terminal/shell on the iot gate

dd if=/dev/block/boot of=/sdcard/boot-mmcblk0p12.bin

copy the /sdcard/boot-mmcblk0p12.bin file to your linux box.

use commands split_bootimg.pl boot-mmcblk0p12.bin to extract vmlinuz & initrd (ramdisk)

copy it back to container via docker cp and use this script to extract config

sh /home/arm-src-kernel-2015-11-04-9e845bea41/scripts/extract-ikconfig boot-mmcblk0p12.bin-zImage > config.txt

3. check config is ok

cp -a config.txt /home/arm-src-kernel-2015-11-04-9e845bea41/arch/arm64/configs/dev2_defconfig
make ARCH=arm64 dev2_defconfig

4. select driver to compiler as kernel module

make menuconfig ARCH=arm64

Navigate to “Device Drivers -> USB Support -> USB Serial Converter Support -> USB FTDI Single Port Serial Driver” [1]

Select it as a Module hitting the “M” key so that it reads “”.

or do this selection by hand in .config file

Make changes and save config as .config

5. Clean config and build drivers

make ARCH=arm64 clean
make all ARCH=arm64 CROSS_COMPILE=/opt/toolchains/gcc-linaro-aarch64-linux-gnu-4.9-2014.09_linux/bin/aarch64-linux-gnu- -j8
make ARCH=arm64 CROSS_COMPILE=/opt/toolchains/gcc-linaro-aarch64-linux-gnu-4.9-2014.09_linux/bin/aarch64-linux-gnu- -j8 modules
make ARCH=arm64 CROSS_COMPILE=/opt/toolchains/gcc-linaro-aarch64-linux-gnu-4.9-2014.09_linux/bin/aarch64-linux-gnu- M=drivers/usb/serial/

install driver on box

mount -o rw,remount /system
cd /system/lib/ 
insmod cp210x.ko

how this image was built:

docker run -it ubuntu:trusty /bin/bash

sudo apt -y install gcc-aarch64-linux-gnu libc6-dev gcc g++ make dpkg-dev ncurses-dev lzop wget bc wget bc

wget http://openlinux2.amlogic.com:8000/download/ARM/kernel/arm-src-kernel-2015-11-04-9e845bea41.tar.gz

tar xvf arm-src-kernel-2015-11-04-9e845bea41.tar.gz

cd arm-src-kernel-2015-11-04-9e845bea41

mkdir -p .git/hooks

install toolchain

mkdir -p /opt/toolchains

wget https://releases.linaro.org/archive/14.09/components/toolchain/binaries/gcc-linaro-aarch64-linux-gnu-4.9-2014.09_linux.tar.bz2 tar -xjf gcc-linaro-aarch64-linux-gnu-4.9-2014.09_linux.tar.bz2 -C /opt/toolchains

wget https://releases.linaro.org/archive/14.09/components/toolchain/binaries/gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux.tar.xz tar xvJf gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux.tar.xz -C /opt/toolchains

apt install agcc-multilib lib32stdc++6 lib32z1

export PATH=$PATH:/opt/toolchains/gcc-linaro-aarch64-linux-gnu-4.9-2014.09_linux/bin

howto

cat /proc/version Linux version 3.14.29 (ubuntu@google-server) (gcc version 4.9.2 20140904 (prerelease) (crosstool-NG linaro-1.13.1-4.9-2014.09 - Linaro GCC 4.9-2014.09) ) #1 SMP PREEMPT Thu Dec 28 16:40:15 CST 2017

gcc --version gcc (Ubuntu 4.8.4-2ubuntu1~14.04.4) 4.8.4

aarch64-linux-gnu-gcc --version aarch64-linux-gnu-gcc (Ubuntu/Linaro 4.8.4-2ubuntu1~14.04.1) 4.8.4

wget http://openlinux2.amlogic.com:8000/download/GPL_code_release/ThirdParty/gcc-linaro-aarch64-linux-gnu-4.9-2014.09_linux.tar.xz

Tag summary

Content type

Image

Digest

Size

1.8 GB

Last updated

over 5 years ago

docker pull araczkowski/s905:ko