第一章:YY3568 内核开发环境搭建
本章主要记录如何替换 YY3568 出厂的安卓系统(开发起来有点不纯粹,我更习惯在原生的Linux上进行开发)。在替换系统的过程中,有一些要点和经验做一些记录:
- YY3568 的 UART2 是 UART DEBUG。波特率为1500000
- 使用 Loader 模式分区烧写镜像,涉及到使用parameter.txt查看分区信息,在Loader模式中根据这些分区信息进行烧写
- 在 Debian源码中分别编译kernel,uboot以及buildroot对应的根文件系统
- 在使用 buildroot 编译根文件系统的时候,出现了 su 命令切换 root 提示错误的问题,通过修改 buildroot 打包根文件系统的过程手动打包出来rootfs规避了这个问题。这里还简单描述下https://youyeetoo.cn/thread-6228-1-1.html
1. 获取源码,编译
本次编译我使用的是在一台 Fedora35 的 PC机上编译 debian10 的源码,相关资料在风火轮的wiki中都有体现,具体链接是https://pan.baidu.com/s/1NynxVL6VnqPBSOVkRu8J7Q?pwd=t6cg
下载下来后根据编译方法进行编译就行了,我选择的是分别编译uboot,kernel和rootfs(buildroot)。具体流程是:
# 解压
cat YY3568-Debian10.tar.gz.0* | tar -xzv
cd YY3568-Debian10
git reset --hard HEAD
#编译
./build.sh YY3568-Debian10.mk
#./build.sh 这一步我没有执行,因为我担心编译太耗时
./build.sh uboot # 比较流畅,主要修改了几个配置,1. 修改 env 存储到 emmc 2. 设置 BOOT_DELAY 为 5,默认是0
./build.sh kernel # 比较流畅,就是耗时
./build.sh buildroot # 这一步特别耗费时间,并且还需要根据错误提示进行修错处理,我做的一些修改做了一个 patch 文件放在附件中,仅供参考
./build.sh firmware # 将需要烧写的文件存放到根目录的 rockdev 目录,这样方便烧写
#./build.sh updateimg # 这一步是打包成一个单独的 img,没有成功,所以采用了分区烧写
执行完 ./build.sh firmware
之后就可以看到 rockdev 目录下的内容
▸ ll rockdev/
lrwxrwxrwx red red 18 B Wed Aug 9 14:30:44 2023 boot.img ⇒ ../kernel/boot.img
lrwxrwxrwx red red 41 B Wed Aug 9 14:30:44 2023 MiniLoaderAll.bin ⇒ ../u-boot/rk356x_spl_loader_v1.13.112.bin
lrwxrwxrwx red red 44 B Wed Aug 9 14:30:44 2023 misc.img ⇒ ../device/rockchip/rockimg/wipe_all-misc.img
.rw-rw-r-- red red 17 MB Wed Aug 9 14:30:44 2023 oem.img
drwxrwxr-x red red 0 B Sat Aug 5 10:59:30 2023 pack
lrwxrwxrwx red red 96 B Wed Aug 9 15:20:15 2023 parameter.txt ⇒ /home/red/Samba/debian_yy3568/YY3568-Debian10/device/rockchip/rk356x/parameter-buildroot-fit.txt
lrwxrwxrwx red red 64 B Wed Aug 9 14:30:44 2023 recovery.img ⇒ ../buildroot/output/rockchip_rk356x_recovery/images/recovery.img
lrwxrwxrwx red red 54 B Wed Aug 9 15:27:21 2023 rootfs.ext4 ⇒ ../buildroot/output/rockchip_rk3568/images/rootfs.ext2
lrwxrwxrwx red red 54 B Wed Aug 9 14:30:44 2023 rootfs.img ⇒ ../buildroot/output/rockchip_rk3568/images/rootfs.ext2
lrwxrwxrwx red red 19 B Wed Aug 9 14:30:44 2023 uboot.img ⇒ ../u-boot/uboot.img
.rw-rw-r-- red red 34 MB Tue Aug 8 17:32:15 2023 update.img
.rw-rw-r-- red red 4.3 MB Wed Aug 9 14:30:44 2023 userdata.img
可以看到这里很多是软链接,其中一个比较重要的 recovery.img 是没有的,这个文件没有会导致 uboot 和 kernel 不能正常工作,后来我从 YY3568-Debian10-xxxx.img中解包出来了 recovery.img。至此,所有需要的文件都准备好了。下面就开始准备分区烧录了。
2. 分区烧录文件
因为我在 Fedora 下没有打包出来一个完整的 img,所以就需要分区烧写(实际这样也方便,可以随时更新kernel,uboot或者rootfs,一般开发只用更新这些就可以)。这时候就出现了一个新的问题分区的地址该如何填写呢?通过查找文档,看到了一段描述:
测试确实可以读出来分区信息,按照分区信息填写将文件烧录进去就可以了。
3.引导启动
因为默认的 bootcmd 会首先尝试 boot_android, 所以可以修改 bootcmd 直接启动 boot_fit.加快引导。因为打包出来的 boot.img 是 FIT 的。
前面部分的关键引导日志如下,完整的我放到附件*附件:yy3568_log.zip中了。
[2023-08-09 17:22:00.491] U-Boot 2017.09 (Aug 09 2023 - 11:24:35 +0800)
[2023-08-09 17:22:00.491]
[2023-08-09 17:22:00.491] Model: Rockchip RK3568 Evaluation Board
[2023-08-09 17:22:00.491] PreSerial: 2, raw, 0xfe660000
[2023-08-09 17:22:00.491] DRAM: 2 GiB
[2023-08-09 17:22:00.494] Sysmem: init
[2023-08-09 17:22:00.494] Relocation Offset: 7d343000
[2023-08-09 17:22:00.494] Relocation fdt: 7b9f8a80 - 7b9fecc8
[2023-08-09 17:22:00.539] CR: M/C/I
[2023-08-09 17:22:00.539] dwmmc@fe2b0000: 1, dwmmc@fe2c0000: 2, sdhci@fe310000: 0
[2023-08-09 17:22:00.601] Bootdev(atags): mmc 0
[2023-08-09 17:22:00.602] MMC0: HS200, 200Mhz
[2023-08-09 17:22:00.602] PartType: EFI
[2023-08-09 17:22:00.602] DM: v1
[2023-08-09 17:22:00.602] boot mode: None
[2023-08-09 17:22:00.620] FIT: no signed, no conf required
[2023-08-09 17:22:00.620] DTB: rk-kernel.dtb
[2023-08-09 17:22:00.620] HASH(c): OK
[2023-08-09 17:22:00.649] I2c0 speed: 100000Hz
[2023-08-09 17:22:00.649] vsel-gpios- not found! Error: -2
[2023-08-09 17:22:00.649] vdd_cpu init 900000 uV
[2023-08-09 17:22:00.649] PMIC: RK8090 (on=0x40, off=0x00)
[2023-08-09 17:22:00.652] vdd_logic init 1100000 uV
[2023-08-09 17:22:00.659] vdd_gpu init 950000 uV
[2023-08-09 17:22:00.661] vdd_npu init 900000 uV
[2023-08-09 17:22:00.681] io-domain: OK
[2023-08-09 17:22:00.681] Could not find baseparameter partition
[2023-08-09 17:22:00.686] Model: Rockchip RK3568 EVB1 DDR4 V10 Board
[2023-08-09 17:22:00.686] ## Error: Can't overwrite "ethaddr"
[2023-08-09 17:22:00.686] ## Error inserting "ethaddr" variable, errno=1
[2023-08-09 17:22:00.686] ## Error: Can't overwrite "eth1addr"
[2023-08-09 17:22:00.686] ## Error inserting "eth1addr" variable, errno=1
[2023-08-09 17:22:00.686] ## Error: Can't overwrite "serial#"
[2023-08-09 17:22:00.687] ## Error inserting "serial#" variable, errno=1
[2023-08-09 17:22:00.688] Rockchip UBOOT DRM driver version: v1.0.1
[2023-08-09 17:22:00.695] VOP have 2 active VP
[2023-08-09 17:22:00.695] vp0 have layer nr:3[1 3 5 ], primary plane: 5
[2023-08-09 17:22:00.695] vp1 have layer nr:3[0 2 4 ], primary plane: 4
[2023-08-09 17:22:00.695] vp2 have layer nr:0[], primary plane: 0
[2023-08-09 17:22:00.695] Using display timing dts
[2023-08-09 17:22:00.695] dsi@fe060000: detailed mode clock 51668 kHz, flags[8000000a]
[2023-08-09 17:22:00.702] H: 1024 1184 1194 1354
[2023-08-09 17:22:00.702] V: 0600 0612 0613 0636
[2023-08-09 17:22:00.702] bus_format: 100e
[2023-08-09 17:22:00.702] VOP update mode to: 1024x600p0, type: MIPI0 for VP1
[2023-08-09 17:22:00.702] rockchip_vop2_init: Failed to get hdmi0_phy_pll ret=-22
[2023-08-09 17:22:00.702] rockchip_vop2_init: Failed to get hdmi1_phy_pll ret=-22
[2023-08-09 17:22:00.702] VOP VP1 enable Smart0[500x501- >500x501@262x49] fmt[1] addr[0x7dfb8000]
[2023-08-09 17:22:00.702] final DSI-Link bandwidth: 342 Mbps x 4
[2023-08-09 17:22:00.899] xfer: num: 2, addr: 0x50
[2023-08-09 17:22:01.024] xfer: num: 2, addr: 0x50
[2023-08-09 17:22:01.153] Monitor has basic audio support
[2023-08-09 17:22:01.153] can't find to match
[2023-08-09 17:22:01.153] Could not find baseparameter partition
[2023-08-09 17:22:01.153] mode:1920x1080
[2023-08-09 17:22:01.153] hdmi@fe0a0000: detailed mode clock 148500 kHz, flags[5]
[2023-08-09 17:22:01.153] H: 1920 2008 2052 2200
[2023-08-09 17:22:01.153] V: 1080 1084 1089 1125
[20[2023-08-09 17:22:01.187] dpll 780000 KHz
[2023-08-09 17:22:01.187] gpll 1188000 KHz
[2023-08-09 17:22:01.187] cpll 1000000 KHz
[2023-08-09 17:22:01.187] npll 1200000 KHz
[2023-08-09 17:22:01.187] vpll 620000 KHz
[2023-08-09 17:22:01.187] hpll 148000 KHz
[2023-08-09 17:22:01.187] ppll 200000 KHz
[2023-08-09 17:22:01.187] armclk 1416000 KHz
[2023-08-09 17:22:01.187] aclk_bus 150000 KHz
[2023-08-09 17:22:01.187] pclk_bus 100000 KHz
[2023-08-09 17:22:01.187] aclk_top_high 500000 KHz
[2023-08-09 17:22:01.187] aclk_top_low 400000 KHz
[2023-08-09 17:22:01.187] hclk_top 150000 KHz
[2023-08-09 17:22:01.187] pclk_top 100000 KHz
[2023-08-09 17:22:01.187] aclk_perimid 300000 KHz
[2023-08-09 17:22:01.187] hclk_perimid 150000 KHz
[2023-08-09 17:22:01.187] pclk_pmu 100000 KHz
[2023-08-09 17:22:01.187] Net: eth1: ethernet@fe010000, eth0: ethernet@fe2a0000
[2023-08-09 17:22:01.187] Hit key to stop autoboot('CTRL+C'): 5 4 3 2 1 0
[2023-08-09 17:22:06.186] ANDROID: reboot reason: "(none)"
[2023-08-09 17:22:06.186] optee api revision: 2.0
[2023-08-09 17:22:06.186] TEEC: Waring: Could not find security partition
[2023-08-09 17:22:06.186] Not AVB images, AVB skip
[2023-08-09 17:22:06.186] No valid android hdr
[2023-08-09 17:22:06.186] Android image load failed
[2023-08-09 17:22:06.186] Android boot failed, error -1.
[2023-08-09 17:22:06.186] ## Booting FIT Image at 0x79bae440 with size 0x01c49600
[2023-08-09 17:22:06.362] Fdt Ramdisk skip relocation
[2023-08-09 17:22:06.362] ## Loading kernel from FIT Image at 79bae440 ...
[2023-08-09 17:22:06.362] Using 'conf' configuration
[2023-08-09 17:22:06.362] ## Verified-boot: 0
[2023-08-09 17:22:06.362] Trying 'kernel' kernel subimage
[2023-08-09 17:22:06.362] Description: unavailable
[2023-08-09 17:22:06.362] Type: Kernel Image
[2023-08-09 17:22:06.362] Compression: uncompressed
[2023-08-09 17:22:06.362] Data Start: 0x79bcf840
[2023-08-09 17:22:06.362] Data Size: 29523976 Bytes = 28.2 MiB
[2023-08-09 17:22:06.362] Architecture: AArch64
[2023-08-09 17:22:06.362] OS: Linux
[2023-08-09 17:22:06.362] Load Address: 0x00280000
[2023-08-09 17:22:06.362] Entry Point: 0x00280000
[2023-08-09 17:22:06.362] Hash algo: sha256
[2023-08-09 17:22:06.362] Hash value: 2ddc540c7ac8498ec9fdb2f98f90e4789a963cf5056b813c479567eefc200785
[2023-08-09 17:22:06.362] Verifying Hash Integrity ... sha256+ OK
[2023-08-09 17:22:06.568] ## Loading fdt from FIT Image at 79bae440 ...
[2023-08-09 17:22:06.568] Using 'conf' configuration
[2023-08-09 17:22:06.568] Trying 'fdt' fdt subimage
[2023-08-09 17:22:06.568] Description: unavailable
[2023-08-09 17:22:06.568] Type: Flat Device Tree
[2023-08-09 17:22:06.568] Compression: uncompressed
[2023-08-09 17:22:06.568] Data Start: 0x79baec40
[2023-08-09 17:22:06.568] Data Size: 134037 Bytes = 130.9 KiB
[2023-08-09 17:22:06.568] Architecture: AArch64
[2023-08-09 17:22:06.568] Load Address: 0x0a100000
[2023-08-09 17:22:06.568] Hash algo: sha256
[2023-08-09 17:22:06.568] Hash value: 58e8f3ca2524e5848665ec35337f707bb704ff6e6c7c0a1dbfaa182bb4abb3b1
[2023-08-09 17:22:06.568] Verifying Hash Integrity ... sha256+ OK
[2023-08-09 17:22:06.568] Loading fdt from 0x0a100000 to 0x0a100000
[2023-08-09 17:22:06.568] Booting using the fdt blob at 0x0a100000
[2023-08-09 17:22:06.568] Loading Kernel Image from 0x79bcf840 to 0x00280000 ... OK
[2023-08-09 17:22:06.579] kernel loaded at 0x00280000, end = 0x01ea8008
[2023-08-09 17:22:06.579] 'reserved-memory' ramoops@110000: addr=110000 size=f0000
[2023-08-09 17:22:06.579] Using Device Tree in place at 000000000a100000, end 000000000a123b94
[2023-08-09 17:22:06.581] vp1 adjust cursor plane from 0 to 1
[2023-08-09 17:22:06.585] vp0, plane_mask:0x2a, primary-id:5, curser-id:1
[2023-08-09 17:22:06.588] vp1 adjust cursor plane from 1 to 0
[2023-08-09 17:22:06.588] vp1, plane_mask:0x15, primary-id:4, curser-id:0
[2023-08-09 17:22:06.588] vp2, plane_mask:0x0, primary-id:0, curser-id:-1
[2023-08-09 17:22:06.613] Adding bank: 0x00200000 - 0x08400000 (size: 0x08200000)
[2023-08-09 17:22:06.613] Adding bank: 0x09400000 - 0x80000000 (size: 0x76c00000)
[2023-08-09 17:22:06.615] Total: 6193.945 ms
[2023-08-09 17:22:06.615]
[2023-08-09 17:22:06.615] Starting kernel ...
[2023-08-09 17:22:06.615]
[2023-08-09 17:22:06.618] [ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x412fd050]
[2023-08-09 17:22:06.622] [ 0.000000] Linux version 4.19.232 (red@fedora) (gcc version 6.3.1 20170404 (Linaro GCC 6.3-2017.05), GNU ld (Linaro_Binutils-2017.05) 2.27.0.20161019) #2 SMP Tue Aug 8 16:53:48 CST 2023
[2023-08-09 17:22:06.622] [ 0.000000] Machine model: Rockchip RK3568 EVB1 DDR4 V10 Board
[2023-08-09 17:22:06.622] [ 0.000000] earlycon: uart8250 at MMIO32 0x00000000fe660000 (options '')
[2023-08-09 17:22:06.622] [ 0.000000] bootconsole [uart8250] enabled
[2023-08-09 17:22:06.624] [ 0.000000] cma: Reserved 16 MiB at 0x000000007ec00000
[2023-08-09 17:22:06.676] [ 0.000000] psci: probing for conduit method from DT.
[2023-08-09 17:22:06.676] [ 0.000000] psci: PSCIv1.1 detected in firmware.
[2023-08-09 17:22:01.187] dpll 780000 KHz
[2023-08-09 17:22:01.187] gpll 1188000 KHz
[2023-08-09 17:22:01.187] cpll 1000000 KHz
[2023-08-09 17:22:01.187] npll 1200000 KHz
[2023-08-09 17:22:01.187] vpll 620000 KHz
[2023-08-09 17:22:01.187] hpll 148000 KHz
[2023-08-09 17:22:01.187] ppll 200000 KHz
[2023-08-09 17:22:01.187] armclk 1416000 KHz
[2023-08-09 17:22:01.187] aclk_bus 150000 KHz
[2023-08-09 17:22:01.187] pclk_bus 100000 KHz
[2023-08-09 17:22:01.187] aclk_top_high 500000 KHz
[2023-08-09 17:22:01.187] aclk_top_low 400000 KHz
[2023-08-09 17:22:01.187] hclk_top 150000 KHz
[2023-08-09 17:22:01.187] pclk_top 100000 KHz
[2023-08-09 17:22:01.187] aclk_perimid 300000 KHz
[2023-08-09 17:22:01.187] hclk_perimid 150000 KHz
[2023-08-09 17:22:01.187] pclk_pmu 100000 KHz
[2023-08-09 17:22:01.187] Net: eth1: ethernet@fe010000, eth0: ethernet@fe2a0000
[2023-08-09 17:22:01.187] Hit key to stop autoboot('CTRL+C'): 5 4 3 2 1 0
[2023-08-09 17:22:06.186] ANDROID: reboot reason: "(none)"
[2023-08-09 17:22:06.186] optee api revision: 2.0
[2023-08-09 17:22:06.186] TEEC: Waring: Could not find security partition
[2023-08-09 17:22:06.186] Not AVB images, AVB skip
[2023-08-09 17:22:06.186] No valid android hdr
[2023-08-09 17:22:06.186] Android image load failed
[2023-08-09 17:22:06.186] Android boot failed, error -1.
[2023-08-09 17:22:06.186] ## Booting FIT Image at 0x79bae440 with size 0x01c49600
[2023-08-09 17:22:06.362] Fdt Ramdisk skip relocation
[2023-08-09 17:22:06.362] ## Loading kernel from FIT Image at 79bae440 ...
[2023-08-09 17:22:06.362] Using 'conf' configuration
[2023-08-09 17:22:06.362] ## Verified-boot: 0
[2023-08-09 17:22:06.362] Trying 'kernel' kernel subimage
[2023-08-09 17:22:06.362] Description: unavailable
[2023-08-09 17:22:06.362] Type: Kernel Image
[2023-08-09 17:22:06.362] Compression: uncompressed
[2023-08-09 17:22:06.362] Data Start: 0x79bcf840
[2023-08-09 17:22:06.362] Data Size: 29523976 Bytes = 28.2 MiB
[2023-08-09 17:22:06.362] Architecture: AArch64
[2023-08-09 17:22:06.362] OS: Linux
[2023-08-09 17:22:06.362] Load Address: 0x00280000
[2023-08-09 17:22:06.362] Entry Point: 0x00280000
[2023-08-09 17:22:06.362] Hash algo: sha256
[2023-08-09 17:22:06.362] Hash value: 2ddc540c7ac8498ec9fdb2f98f90e4789a963cf5056b813c479567eefc200785
[2023-08-09 17:22:06.362] Verifying Hash Integrity ... sha256+ OK
[2023-08-09 17:22:06.568] ## Loading fdt from FIT Image at 79bae440 ...
[2023-08-09 17:22:06.568] Using 'conf' configuration
[2023-08-09 17:22:06.568] Trying 'fdt' fdt subimage
[2023-08-09 17:22:06.568] Description: unavailable
[2023-08-09 17:22:06.568] Type: Flat Device Tree
[2023-08-09 17:22:06.568] Compression: uncompressed
[2023-08-09 17:22:06.568] Data Start: 0x79baec40
[2023-08-09 17:22:06.568] Data Size: 134037 Bytes = 130.9 KiB
[2023-08-09 17:22:06.568] Architecture: AArch64
[2023-08-09 17:22:06.568] Load Address: 0x0a100000
[2023-08-09 17:22:06.568] Hash algo: sha256
[2023-08-09 17:22:06.568] Hash value: 58e8f3ca2524e5848665ec35337f707bb704ff6e6c7c0a1dbfaa182bb4abb3b1
[2023-08-09 17:22:06.568] Verifying Hash Integrity ... sha256+ OK
[2023-08-09 17:22:06.568] Loading fdt from 0x0a100000 to 0x0a100000
[2023-08-09 17:22:06.568] Booting using the fdt blob at 0x0a100000
[2023-08-09 17:22:06.568] Loading Kernel Image from 0x79bcf840 to 0x00280000 ... OK
[2023-08-09 17:22:06.579] kernel loaded at 0x00280000, end = 0x01ea8008
[2023-08-09 17:22:06.579] 'reserved-memory' ramoops@110000: addr=110000 size=f0000
[2023-08-09 17:22:06.579] Using Device Tree in place at 000000000a100000, end 000000000a123b94
[2023-08-09 17:22:06.581] vp1 adjust cursor plane from 0 to 1
[2023-08-09 17:22:06.585] vp0, plane_mask:0x2a, primary-id:5, curser-id:1
[2023-08-09 17:22:06.588] vp1 adjust cursor plane from 1 to 0
[2023-08-09 17:22:06.588] vp1, plane_mask:0x15, primary-id:4, curser-id:0
[2023-08-09 17:22:06.588] vp2, plane_mask:0x0, primary-id:0, curser-id:-1
[2023-08-09 17:22:06.613] Adding bank: 0x00200000 - 0x08400000 (size: 0x08200000)
[2023-08-09 17:22:06.613] Adding bank: 0x09400000 - 0x80000000 (size: 0x76c00000)
[2023-08-09 17:22:06.615] Total: 6193.945 ms
[2023-08-09 17:22:06.615]
[2023-08-09 17:22:06.615] Starting kernel ...
[2023-08-09 17:22:06.615]
[2023-08-09 17:22:06.618] [ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x412fd050]
[2023-08-09 17:22:06.622] [ 0.000000] Linux version 4.19.232 (red@fedora) (gcc version 6.3.1 20170404 (Linaro GCC 6.3-2017.05), GNU ld (Linaro_Binutils-2017.05) 2.27.0.20161019) #2 SMP Tue Aug 8 16:53:48 CST 2023
[2023-08-09 17:22:06.622] [ 0.000000] Machine model: Rockchip RK3568 EVB1 DDR4 V10 Board
[2023-08-09 17:22:06.622] [ 0.000000] earlycon: uart8250 at MMIO32 0x00000000fe660000 (options '')
[2023-08-09 17:22:06.622] [ 0.000000] bootconsole [uart8250] enabled
[2023-08-09 17:22:06.624] [ 0.000000] cma: Reserved 16 MiB at 0x000000007ec00000
[2023-08-09 17:22:06.676] [ 0.000000] psci: probing for conduit method from DT.
[2023-08-09 17:22:06.676] [ 0.000000] psci: PSCIv1.1 detected in firmware.
23-08-09 17:22:01.153] bus_format: 2025
[2023-08-09 17:22:01.153] VOP update mode to: 1920x1080p0, type: HDMI0 for VP0
[2023-08-09 17:22:01.153] rockchip_vop2_init: Failed to get hdmi0_phy_pll ret=-22
[2023-08-09 17:22:01.153] rockchip_vop2_init: Failed to get hdmi1_phy_pll ret=-22
[2023-08-09 17:22:01.153] VOP VP0 enable Smart1[500x501- >500x501@710x289] fmt[1] addr[0x7dfb8000]
[2023-08-09 17:22:01.153] CEA mode used vic=17
[2023-08-09 17:22:01.153] final pixclk = 148000000 tmdsclk = 148000000
[2023-08-09 17:22:01.153] PHY powered down in 0 iterations
[2023-08-09 17:22:01.159] PHY PLL locked 1 iterations
[2023-08-09 17:22:01.159] PHY powered down in 0 iterations
[2023-08-09 17:22:01.187] PHY PLL locked 1 iterations
[2023-08-09 17:22:01.187] sink has audio support
再展示一些 weston 启动图片:
额外描述下为了顺利编译buildoroot,我做的一些修改(还有一些软件包的修改,根据编译提示错误修复就可以,这里就不再一一展示了):
diff --git a/buildroot/configs/rockchip_rk3568_defconfig b/buildroot/configs/rockchip_rk3568_defconfig
index fb532be..8efac66 100644
--- a/buildroot/configs/rockchip_rk3568_defconfig
+++ b/buildroot/configs/rockchip_rk3568_defconfig
@@ -12,8 +12,6 @@
#include "gpu.config"
#include "network.config"
#include "ntfs.config"
-#include "qt.config"
-#include "qt_app.config"
#include "video_mpp.config"
#include "video_gst.config"
#include "video_gst_rtsp.config"
diff --git a/buildroot/fs/common.mk b/buildroot/fs/common.mk
index a7b72f6..4294923 100644
--- a/buildroot/fs/common.mk
+++ b/buildroot/fs/common.mk
@@ -72,6 +72,7 @@ ROOTFS_$(2)_COMPRESS_EXT = .xz
ROOTFS_$(2)_COMPRESS_CMD = xz -9 -C crc32 -c
endif
+#echo "sudo chown -h -R 0:0 $$(TARGET_DIR)" > > $$(FAKEROOT_SCRIPT)
$$(BINARIES_DIR)/rootfs.$(1): target-finalize $$(ROOTFS_$(2)_DEPENDENCIES)
@$$(call MESSAGE,"Generating root filesystem image rootfs.$(1)")
rm -rf $(FS_DIR)
diff --git a/buildroot/fs/cpio/cpio.mk b/buildroot/fs/cpio/cpio.mk
index aa4d947..c256e40 100644
--- a/buildroot/fs/cpio/cpio.mk
+++ b/buildroot/fs/cpio/cpio.mk
@@ -21,7 +21,7 @@ define ROOTFS_CPIO_ADD_INIT
fi
endef
-PACKAGES_PERMISSIONS_TABLE += /dev/console c 622 0 0 5 1 - - -$(sep)
+#PACKAGES_PERMISSIONS_TABLE += /dev/console c 755 0 0 5 1 - - -$(sep)
endif # BR2_ROOTFS_DEVICE_CREATION_STATIC
以及手动打包的脚本
#!/bin/sh
set -e
# 主要是修改这些文件的 owner
sudo chown -h -R 0:0 /home/red/Samba/debian_yy3568/YY3568-Debian10/buildroot/output/rockchip_rk3568/target
sudo chown -h -R 1000:1000 '/home/red/Samba/debian_yy3568/YY3568-Debian10/buildroot/output/rockchip_rk3568/target//var/run/dbus'
/home/red/Samba/debian_yy3568/YY3568-Debian10/buildroot/output/rockchip_rk3568/host/sbin/mkfs.ext4 red_yy3568.ext2 -d /home/red/Samba/debian_yy3568/YY3568-Debian10/buildroot/output/rockchip_rk3568/target -r 1 -N 0 -m 5 -L "" -O ^64bit "512M"
至此就可以构建出来关键的rootfs,red_yy3568.ext2。
▸ du -h red_yy3568.ext2
283M red_yy3568.ext2
审核编辑 黄宇
-
Linux
+关注
关注
87文章
11219浏览量
208869 -
开发板
+关注
关注
25文章
4933浏览量
97157 -
开发环境
+关注
关注
1文章
220浏览量
16580 -
loader
+关注
关注
0文章
8浏览量
7836 -
UART2
+关注
关注
0文章
6浏览量
2335 -
RK3568
+关注
关注
4文章
495浏览量
4919 -
Buildroot
+关注
关注
1文章
48浏览量
1384
发布评论请先 登录
相关推荐
评论