【风火轮YY3568开发板免费体验】第一章:开发环境搭建,系统替换为原生Linux

描述

第一章: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

主要参考资料:YY3568 wiki


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,一般开发只用更新这些就可以)。这时候就出现了一个新的问题分区的地址该如何填写呢?通过查找文档,看到了一段描述:

loader

测试确实可以读出来分区信息,按照分区信息填写将文件烧录进去就可以了。

loader

3.引导启动

因为默认的 bootcmd 会首先尝试 boot_android, 所以可以修改 bootcmd 直接启动 boot_fit.加快引导。因为打包出来的 boot.img 是 FIT 的。

loader

前面部分的关键引导日志如下,完整的我放到附件*附件: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 启动图片:

loader
loader
loader

额外描述下为了顺利编译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

审核编辑 黄宇

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分