母婴网站建设 社区,建设电玩网站,html网站首页图片切换,海淀网站建设公司排名#x1f347; 博主主页#xff1a;Systemcall小酒屋#x1f347; 博主简介#xff1a;Neutionwei#xff0c;C站嵌入式领域新星创作者之一#xff0c;一枚热爱开源技术、喜欢分享技术心得的极客#xff0c;注重简约风格#xff0c;热衷于用简单的案例讲述复杂的技术 博主主页Systemcall小酒屋 博主简介NeutionweiC站嵌入式领域新星创作者之一一枚热爱开源技术、喜欢分享技术心得的极客注重简约风格热衷于用简单的案例讲述复杂的技术“假传万卷书真传一案例”这是厦大一位教数学的院士说过的一句话另外“成就是最好的老师”技术既要沉淀也得分享成就感的正反馈是支持我持续耕耘的动力 专栏目录Firefly-RK3399板卡 专栏说明本专栏主要基于Firefly旗下的RK3399板卡进行入门篇讲述欢迎订阅博主会持续更新 文章目录一、编译环境二、Git环境三、克隆源代码四、编译源代码五、烧录固件一、编译环境
我的 PC 机用的是 Ubuntu 18.04执行以下命令安装必要工具
sudo apt install gcc build-essential bison flex gettext tcl sharutils libncurses-dev zlib1g-dev \
exuberant-ctags g texinfo patch vim libtool bc git python3二、Git环境
配置好自己的邮箱与姓名
git config --global user.name userName //你的用户名
git config --global user.email email address //你的邮箱地址三、克隆源代码
进入官方下载页面找到克隆仓库 https://buildroot.org/download.html 克隆源代码
git clone https://git.buildroot.net/buildroot使用 git tag 命令可以查看版本情况
git tag把页面翻到最底下可以看到当前最新版本为 2023.02-rc3 切换到 2023.02-rc3分支
git checkout -b 2023.02-rc3 2023.02-rc3四、编译源代码
在主线 Buildroot 中并没有发现 rk3399 相关的 config 配置文件但是在历史提交中我发现被删除掉了。 被删掉的原因是因为编译不过 将其 git revert然后编译
git revert 6ade5915c1d65b7653125d1cf6952efdd6113806
make roc_pc_rk3399_defconfig
make第一个编译错误 打印说一个 arm-trusted-firmware 的源代码编译不过查看一下原因 看样子是指定的这个 arm-trusted-firmware 版本存在问题将其改为主线版本去掉定制版本
diff --git a/configs/roc_pc_rk3399_defconfig b/configs/roc_pc_rk3399_defconfig
index ae7cf19a80..3ee8722368 100644
--- a/configs/roc_pc_rk3399_defconfigb/configs/roc_pc_rk3399_defconfig-7,9 7,6 BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_4y# FirmwareBR2_TARGET_ARM_TRUSTED_FIRMWAREy
-BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GITy
-BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URLhttps://git.trustedfirmware.org/TF-A/trusted-firmware-a.git
-BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION11a0a46a899fcc3b1fdb214b382f3d7495d88ecaBR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORMrk3399BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31yBR2_TARGET_ARM_TRUSTED_FIRMWARE_NEEDS_ARM32_TOOLCHAINy重新编译第二个编译错误如下 看来是缺少board/firefly/roc-rk3399-pc/post-build.sh这个文件通过查看历史版本也是被删除掉了 将其 git revert然后编译。
一分钟不到编译完成看来那个脚本是打包使用的
看样子sdcard.img就是最终打包的 Buildroot 固件。
五、烧录固件
准备一张 TF卡TF 卡接上读卡器执行以下命令查看生成的设备节点
dmesg | tail我的设备节点是/dev/sdd把sdcard.img烧录 dd 到 TF 卡
sudo dd ifsdcard.img of/dev/sdd convnotrunc把 TF 卡接入到 ROC-RK3399-PC Pro TF卡槽上电启动系统。
如果是使用 Windows 系统也可以使用 Etcher 工具来烧录 https://www.balena.io/etcher 最后因为 kernel dts 使用的是早期的 ROC-RK3399-PC与 ROC-RK3399-PC Pro 存在某些硬件差异有些驱动可能是不正常。
具体看参考产品规格书
ROC-RK3399-PC Pro 产品规格书ROC-RK3399-PC 产品规格书