第一章:YY3568 內(nèi)核開發(fā)環(huán)境搭建
本章主要記錄如何替換 YY3568 出廠的安卓系統(tǒng)(開發(fā)起來(lái)有點(diǎn)不純粹,我更習(xí)慣在原生的Linux上進(jìn)行開發(fā))。在替換系統(tǒng)的過(guò)程中,有一些要點(diǎn)和經(jīng)驗(yàn)做一些記錄:
- YY3568 的 UART2 是 UART DEBUG。波特率為1500000
- 使用 Loader 模式分區(qū)燒寫鏡像,涉及到使用parameter.txt查看分區(qū)信息,在Loader模式中根據(jù)這些分區(qū)信息進(jìn)行燒寫
- 在 Debian源碼中分別編譯kernel,uboot以及buildroot對(duì)應(yīng)的根文件系統(tǒng)
- 在使用 buildroot 編譯根文件系統(tǒng)的時(shí)候,出現(xiàn)了 su 命令切換 root 提示錯(cuò)誤的問(wèn)題,通過(guò)修改 buildroot 打包根文件系統(tǒng)的過(guò)程手動(dòng)打包出來(lái)rootfs規(guī)避了這個(gè)問(wèn)題。這里還簡(jiǎn)單描述下https://youyeetoo.cn/thread-6228-1-1.html
1. 獲取源碼,編譯
本次編譯我使用的是在一臺(tái) Fedora35 的 PC機(jī)上編譯 debian10 的源碼,相關(guān)資料在風(fēng)火輪的wiki中都有體現(xiàn),具體鏈接是https://pan.baidu.com/s/1NynxVL6VnqPBSOVkRu8J7Q?pwd=t6cg
下載下來(lái)后根據(jù)編譯方法進(jìn)行編譯就行了,我選擇的是分別編譯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 這一步我沒(méi)有執(zhí)行,因?yàn)槲覔?dān)心編譯太耗時(shí)
./build.sh uboot # 比較流暢,主要修改了幾個(gè)配置,1. 修改 env 存儲(chǔ)到 emmc 2. 設(shè)置 BOOT_DELAY 為 5,默認(rèn)是0
./build.sh kernel # 比較流暢,就是耗時(shí)
./build.sh buildroot # 這一步特別耗費(fèi)時(shí)間,并且還需要根據(jù)錯(cuò)誤提示進(jìn)行修錯(cuò)處理,我做的一些修改做了一個(gè) patch 文件放在附件中,僅供參考
./build.sh firmware # 將需要燒寫的文件存放到根目錄的 rockdev 目錄,這樣方便燒寫
#./build.sh updateimg # 這一步是打包成一個(gè)單獨(dú)的 img,沒(méi)有成功,所以采用了分區(qū)燒寫
執(zhí)行完 ./build.sh firmware
之后就可以看到 rockdev 目錄下的內(nèi)容
? 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
可以看到這里很多是軟鏈接,其中一個(gè)比較重要的 recovery.img 是沒(méi)有的,這個(gè)文件沒(méi)有會(huì)導(dǎo)致 uboot 和 kernel 不能正常工作,后來(lái)我從 YY3568-Debian10-xxxx.img中解包出來(lái)了 recovery.img。至此,所有需要的文件都準(zhǔn)備好了。下面就開始準(zhǔn)備分區(qū)燒錄了。
2. 分區(qū)燒錄文件
因?yàn)槲以?Fedora 下沒(méi)有打包出來(lái)一個(gè)完整的 img,所以就需要分區(qū)燒寫(實(shí)際這樣也方便,可以隨時(shí)更新kernel,uboot或者rootfs,一般開發(fā)只用更新這些就可以)。這時(shí)候就出現(xiàn)了一個(gè)新的問(wèn)題分區(qū)的地址該如何填寫呢?通過(guò)查找文檔,看到了一段描述:
測(cè)試確實(shí)可以讀出來(lái)分區(qū)信息,按照分區(qū)信息填寫將文件燒錄進(jìn)去就可以了。
3.引導(dǎo)啟動(dòng)
因?yàn)槟J(rèn)的 bootcmd 會(huì)首先嘗試 boot_android, 所以可以修改 bootcmd 直接啟動(dòng) boot_fit.加快引導(dǎo)。因?yàn)榇虬鰜?lái)的 boot.img 是 FIT 的。
前面部分的關(guān)鍵引導(dǎo)日志如下,完整的我放到附件*附件: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 啟動(dòng)圖片:
額外描述下為了順利編譯buildoroot,我做的一些修改(還有一些軟件包的修改,根據(jù)編譯提示錯(cuò)誤修復(fù)就可以,這里就不再一一展示了):
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
以及手動(dòng)打包的腳本
#!/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"
至此就可以構(gòu)建出來(lái)關(guān)鍵的rootfs,red_yy3568.ext2。
? du -h red_yy3568.ext2
283M red_yy3568.ext2
審核編輯 黃宇
-
Linux
+關(guān)注
關(guān)注
87文章
11225瀏覽量
208910 -
開發(fā)板
+關(guān)注
關(guān)注
25文章
4943瀏覽量
97188 -
開發(fā)環(huán)境
+關(guān)注
關(guān)注
1文章
221瀏覽量
16585 -
loader
+關(guān)注
關(guān)注
0文章
8瀏覽量
7836 -
UART2
+關(guān)注
關(guān)注
0文章
6瀏覽量
2335 -
RK3568
+關(guān)注
關(guān)注
4文章
498瀏覽量
4930 -
Buildroot
+關(guān)注
關(guān)注
1文章
48瀏覽量
1384
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論