Sign inSign up

araczkowski/s905

By araczkowski

•Updated over 5 years ago

arm-src-kernel + toolchain

Image
0

292

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