# fireflyrk3399 linux4.19移植笔记

fireflyrk3399 linux4.19移植

获取内核源码

  1. git clone ssh://XXXX.git
  2. 把远程分支拉到本地 git fetch origin dev(dev为远程仓库的分支名)
  3. 在本地创建分支dev并切换到该分支 git checkout -b dev(本地分支名称) origin/dev(远程分支名称)
  4. 把某个分支上的内容都拉取到本地 git pull origin dev(远程分支名称)

添加到RK的SDK用脚本进行编译

  1. 将RK的SDK中的kernel目录修改为kernel_4.4 mv kernel kernel_4.4
  2. 将新内核放入SDK mv …/kernel ./kernel_4.19
  3. 创建一个软连接 ln -sf kernel kernel_4.19

修改SDK指定的设备树和配置文件

  1. 修改板机配置文件 vim device/rockchip/.BoardConfig.mk 其文件.BoardConfig.mk为符号链接,指向firefly-rk3399-ubuntu.mk文件
  2. 将配置文件指定为rockchip_linux_defconfig, export RK_KERNEL_DEFCONFIG=rockchip_linux_defconfig
  3. 将设备树指定为rk3399-firefly-linux, export RK_KERNEL_DTS=rk3399-firefly-linux

修改u-boot配置文件

  1. 在SDK中的u-boot目录下make menuconfig
  2. 搜索KERNEL, /KERNEL
  3. 跳转至Symbol: USING_KERNEL_DTB, 位于ARM architecture选项下
  4. 取消Using dtb from Kernel/resource for U-Boot的选项,使其方括号内为空,取消该选项后uboot会使用自带的dtb文件,而不是从内核获取dtb.
  5. 保存退出,配置将保存在.config文件
  6. 使用make savedeconfig命令将.config保存成deconfig
  7. 在u-boot目录下将生成的deconfig重命名为板级配置文件指定的名字, mv defconfig configs/firefly-rk3399_defconfig
  8. 在SDK中使用./build.sh uboot进行编译,编译后会在u-boot目录下生成uboot.img文件

修改设备树

  1. 失能uart2节点status = “disabled”;

烧写文件

  1. 从服务器获取rk3399_loader_v1.24.126.bin文件
  2. 使用命令烧写 sudo upgrade_tool ul rk3399_loader_v1.24.126.bin
  3. 从服务器获取uboot.img文件
  4. 使用命令烧写 sudo upgrade_tool di -uboot uboot.img
  5. 从服务器获取boot.img文件
  6. 使用命令烧写 sudo upgrade_tool di -boot boot.img
上一篇:御神楽的学习记录之基于IO、NIO、Netty的TCP聊天程序


下一篇:RK3399 ubuntu18.04系统运行docker容器