在折腾x2的jellyfin参考,ophub项目的文档学习armbian的编译,写个博客以免以后忘记.ophub的中文文档非常的详细,认真看文档上手非常的快,在此感谢ophub大佬,对于armbian的付出.
本文基于编译github action,如果你有ubuntu的机器,网络环境较好.本地编译的难度与速度要大大优于云编译.
如果你对git有一点了解 也可以跟着教程编译自己的固件

零.常用操作

1
2
3
4
5
6
7
8
9
10
# 进入rk dtb目录
cd amlogic-s9xxx-armbian/build-armbian/armbian-files/platform-files/rockchip/bootfs/dtb/rockchip
# 本地修改dts需要安装dtc反编译
apt install -y device-tree-compiler
# MacOS
brew isntall dtc
# 反编译dts
dtc -I dtb -O dts -o 自定义名称.dts 原始.dtb
# 编译为dtb
dtc -I dts -O dtb -o 自定义.dtb 需要编译的.dts

一.Fork项目到自己仓库

前两项可以参考amlogic-s9xxx-armbian/documents/README.cn.md at main · ophub/amlogic-s9xxx-armbian (github.com)
这个教程更加详细更加小白

  1. 打开官方项目地址:ophub/amlogic-s9xxx-armbian: Support for Armbian in Amlogic, Rockchip and Allwinner boxes. Support a311d, s922x, s905x3, s905x2, s912, s905d, s905x, s905w, s905, s905l, rk3588, rk3568, rk3399, rk3328, h6, etc. (github.com)
  2. image.png
  3. 确认

二.设置 Github 隐私变量GITHUB_TOKEN

  1. image.png
  2. image.png
  3. image.png
  4. image.png
  5. 名字随意,勾选如下两个
  6. image.png
  7. 记录生成的token
  8. 仓库设置中填写刚刚生成的token,这里的Name一定是GH_TOKEN.流水线中会用到
  9. image.png
  10. 设置流水线权限
  11. image.png
  12. 到此基础的准备就结束了

三.修改编译信息

1. clone项目到本地

git clone https://github.com/用户名/amlogic-s9xxx-armbian.git

2.编辑相应信息

2.1.github/workflows/build-armbian.yml流水线中需要将项目地址换成自己的项目地址

image.png

2.2修改build-armbian/armbian-files/common-files/etc/model_database.conf文件,找到自己想要编译的机型.进行对应的修改.

image.png

2.3如果你选择的内核与内核版本在,流水线build-armbian.yml不存在,也需要添加相应的选项

image.png

四.修改更换u-boot

1.fork官方ophub的u-boot的仓库

2.将rebuild下的u-boot仓库改为自己的

image.png

3.调整model_database.conf,如果同名则不用调整

五.修改更换dtb

  1. 需要先将dtb反编译为dts
    1
    dtc -I dtb -O dts -o 自定义名称.dts 原始.dtb
  2. 将修改过的dts编译为dtb
    1
    dtc -I dts -O dtb -o 自定义.dtb 需要编译的.dts

六.参考资料

只有ophub的文档,写的非常详细

  1. amlogic-s9xxx-armbian/documents/README.cn.md at main · ophub/amlogic-s9xxx-armbian (github.com)