Copy the kernel module files to the root file system:
rsync -av ./modules_install/ /path/to/your/rfs/You can also copy to the development board, using ssh remote connection:
rsync -av ./modules_install/ root@ Modify Parameter FileThe root file system can reside on different partitions in different storage devices (eMMC, TF card or USB disk, etc). It must be specified in the kernel’s command line. There is a CMDLINE in the paramter file:
CMDLINE:console=tty0 … mtdparts=rk29xxnand:0x00002000@0x00002000(uboot),…,-@0x00394000(user)Add one of below according to your need: (# and contents after are comments, no need to enter):
root=/dev/block/mtd/by-name/linuxroot # flash partition named "linuxroot"root=/dev/mmcblk0p1 # First partition of TF cardroot=/dev/sda1 # First partition of USB diskroot=LABEL=linuxroot # Partition whose label is “linuxroot”
===== compile rockchip linux kernel image =====
$ cd ~/rk3288/firefly-rk3288-kernel
$ find ./ -name *dts | grep 3288
./arch/arm/boot/dts/rk3288-tb1.dts
./arch/arm/boot/dts/rk3288-chrome.dts
./arch/arm/boot/dts/rk3288-tesco.dts
./arch/arm/boot/dts/firefly-rk3288_beta.dts
./arch/arm/boot/dts/rk3288-fpga.dts
./arch/arm/boot/dts/rk3288-box-rk808.dts
./arch/arm/boot/dts/rk3288-p977_8846.dts
./arch/arm/boot/dts/firefly-rk3288.dts ===> this file is what we need
./arch/arm/boot/dts/rk3288-p977.dts
./arch/arm/boot/dts/rk3288-box.dts
./arch/arm/boot/dts/rk3288-tb.dts
$ make firefly-rk3288_defconfig
$ make -j8 firefly-rk3288.img
Kernel: arch/arm/boot/zImage is ready
Image: kernel.img is ready
Pack to resource.img successed!
Image: resource.img (with firefly-rk3288.dtb logo.bmp) is ready
===== compile rockchip linux kernel modules =====
$ cd ~/rk3288/firefly-rk3288-kernel
$ make modules
$ mkdir modules_install
$ make INSTALL_MOD_PATH=./modules_install modules_install
===== create Initramfs (the linux kernel will load the initramfs as the first root file system and it will find the actual root device and switch to it) =====
$ cd ~/rk3288/firefly-rk3288-kernel
$ git clone https://github.com/TeeFirefly/initrd.git
$ cd initrd
$ make all
$ ls ../initrd.img (*the initrd.img is generated to the parent folder)
===== package liunx kernel and initrd.img into boot.img =====
$ cd ~/rk3288/firefly-rk3288-kernel
$ mkbootimg --kernel arch/arm/boot/zImage --ramdisk initrd.img -o boot.img