系统: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