2015-01-07

系统:Ubuntu 14.04 LTS
安装编译工具链

sudo apt-get install gcc-arm-linux-gnueabihf
sudo apt-get install lzop libncurses5-dev
export ARCH=arm
export CROSS_COMPILE=arm-linux-gnueabihf-

编译内核

make radxa_rock_pro_linux_defconfig
make -j8

编译内核模块

mkdir modules
export INSTALL_MOD_PATH=./modules
make modules && make modules_install

生成ramdisk

git clone https://github.com/radxa/initrd.git
make -C initrd

生成boot.img
安装mkbootimg

root@king#mkbootimg --kernel linux-rockchip/arch/arm/boot/Image --ramdisk initrd.img -o boot.img

修改使用新内核:
下载官方rock_lite镜像,使用Win32DiskImager将SD镜像写入SD卡,插入lite启动。通过scp或者工具将boot.img传输到rock_lite上。

dd if=boot.img of=/dev/mmcblk0 seek=$((0x4000))

SD镜像各分区起始位和偏移量

名称		起始位~结束位	单位
bootloader	0x0000~0x2000	block
parameter	0x2000~0x4000
boot.img	0x4000~0xC000
linuxroot	0xC000~0x82000
userdata	0x82000~
1 block = 0x200 bytes = 512 bytes