fireflyrk3399 linux4.19移植
获取内核源码
- git clone ssh://XXXX.git
- 把远程分支拉到本地 git fetch origin dev(dev为远程仓库的分支名)
- 在本地创建分支dev并切换到该分支 git checkout -b dev(本地分支名称) origin/dev(远程分支名称)
- 把某个分支上的内容都拉取到本地 git pull origin dev(远程分支名称)
添加到RK的SDK用脚本进行编译
- 将RK的SDK中的kernel目录修改为kernel_4.4 mv kernel kernel_4.4
- 将新内核放入SDK mv …/kernel ./kernel_4.19
- 创建一个软连接 ln -sf kernel kernel_4.19
修改SDK指定的设备树和配置文件
- 修改板机配置文件 vim device/rockchip/.BoardConfig.mk 其文件.BoardConfig.mk为符号链接,指向firefly-rk3399-ubuntu.mk文件
- 将配置文件指定为rockchip_linux_defconfig, export RK_KERNEL_DEFCONFIG=rockchip_linux_defconfig
- 将设备树指定为rk3399-firefly-linux, export RK_KERNEL_DTS=rk3399-firefly-linux
修改u-boot配置文件
- 在SDK中的u-boot目录下make menuconfig
- 搜索KERNEL, /KERNEL
- 跳转至Symbol: USING_KERNEL_DTB, 位于ARM architecture选项下
- 取消Using dtb from Kernel/resource for U-Boot的选项,使其方括号内为空,取消该选项后uboot会使用自带的dtb文件,而不是从内核获取dtb.
- 保存退出,配置将保存在.config文件
- 使用make savedeconfig命令将.config保存成deconfig
- 在u-boot目录下将生成的deconfig重命名为板级配置文件指定的名字, mv defconfig configs/firefly-rk3399_defconfig
- 在SDK中使用./build.sh uboot进行编译,编译后会在u-boot目录下生成uboot.img文件
修改设备树
- 失能uart2节点status = “disabled”;
烧写文件
- 从服务器获取rk3399_loader_v1.24.126.bin文件
- 使用命令烧写 sudo upgrade_tool ul rk3399_loader_v1.24.126.bin
- 从服务器获取uboot.img文件
- 使用命令烧写 sudo upgrade_tool di -uboot uboot.img
- 从服务器获取boot.img文件
- 使用命令烧写 sudo upgrade_tool di -boot boot.img