Ts-7553-v2 kernel compile guide
For adding new support to the kernel, or recompiling with more specific options you will need to have a compatible Linux workstation available that can handle the cross compiling. Compiling the kernel on the device is not supported or recommended.
A cross compiler is necessary, for recent Debian distributions, please follow the Debian Jessie cross compiling instructions to install a compatible cross compiler.
For other distributions, please refer to their documentation to find equivalent tools.
Additionally, some libraries and tools are required for the kernel build process:
# Install dependencies for kernel build # The following command is for Ubuntu / Debian workstations. If using a different # distribution, please consult distribution docs for the proper commands to install # new packages/tools/libraries/etc. apt-get install libncurses5-dev bc lzop
Download sources and configure
git clone https://github.com/embeddedarm/linux-tsimx cd linux-tsimx git checkout ts-imx_4.1.15_2.0.0_ga # These next commands set up some necessary environment variables export ARCH=arm export CROSS_COMPILE=arm-linux-gnueabihf- export LOADADDR=0x80800000 # This sets up the default configuration that we ship with make tsimx6ul_defconfig
Once you have the configuration ready you can make your changes to the kernel. Commonly a reason for recompiling is to add support that was not built into the standard image's kernel. You can get a menu to browse available options by running:
You can use the "/" key to search for specific terms through the kernel.
Build the kernel
Once you have it configured you can begin building the kernel. This usually takes about 5-10 minutes. This group of commands will also output a uImage file used by U-Boot on the TS-7680.
make && make zImage && make modules
We recommend running 'make' with the -jX argument, where X is the number of CPU cores+1 present on the build machine. This will greatly increase build speed.
Install the kernel/initramfs, headers, and modules
Next you need to install the kernel and modules to the SD card. Use the following to update the kernel, headers, and modules, this assumes the SD card connected to the workstation is assigned the device node /dev/sdc, please adjust the first command based on your specific setup:
export DEV=/dev/sdc1 sudo mkdir /mnt/sd sudo mount "$DEV" /mnt/sd sudo cp arch/arm/boot/zImage /mnt/sd/boot/ sudo cp arch/arm/boot/dts/imx6*ts*.dtb /mnt/sd/boot/ INSTALL_MOD_PATH="/mnt/sd" sudo -E make modules_install sudo -E make headers_install INSTALL_HDR_PATH="/mnt/sd/usr" sudo umount /mnt/sd/ sync