第一章: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 -xzvcd yy3568-debian10git 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.imglrwxrwxrwx red red 41 b wed aug 9 14:30:44 2023 miniloaderall.bin ⇒ ../u-boot/rk356x_spl_loader_v1.13.112.binlrwxrwxrwx 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.imgdrwxrwxr-x red red 0 b sat aug 5 10:59:30 2023 packlrwxrwxrwx 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.txtlrwxrwxrwx red red 64 b wed aug 9 14:30:44 2023 recovery.img ⇒ ../buildroot/output/rockchip_rk356x_recovery/images/recovery.imglrwxrwxrwx red red 54 b wed aug 9 15:27:21 2023 rootfs.ext4 ⇒ ../buildroot/output/rockchip_rk3568/images/rootfs.ext2lrwxrwxrwx red red 54 b wed aug 9 14:30:44 2023 rootfs.img ⇒ ../buildroot/output/rockchip_rk3568/images/rootfs.ext2lrwxrwxrwx 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_defconfigindex 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.configdiff --git a/buildroot/fs/common.mk b/buildroot/fs/common.mkindex 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.mkindex 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/shset -e# 主要是修改这些文件的 ownersudo chown -h -r 0:0 /home/red/samba/debian_yy3568/yy3568-debian10/buildroot/output/rockchip_rk3568/targetsudo 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。
油库、加油站、危化企业防雷工程应用方案
近年来自动驾驶事故频发,拒绝购买自动驾驶汽车的美国人数量增加
智能监控领域特征识别有什么发展
低压差线性稳压器的稳压原理介绍
重庆首届中国国际智能产业博览会期间举行
【风火轮YY3568开发板免费体验】第一章:开发环境搭建,系统替换为原生Linux
补光灯和闪光灯哪个好_闪光灯和补光灯的效果对比
3D打印首饰欣赏 真是太美了
新生态系统合作伙伴为英飞凌AIROC™ CYW5459X系列产品提供支持,加速连接设计周期,为视频与AI边缘设备以及物
5G AI+数字孪生技术将助力运营商实现共建共享
电力监控系统在无锡港龙20KV变电所项目中的应用
友达光电:Touch Taiwan 2012盛大展出
兆芯出席国产软硬件技术研讨会暨金融行业应用推进沙龙
自适应绕组应变(AWS)仿生传感器可穿戴集成系统助力植物“脉搏”监测
出门问问TicWatchS2和TicWatchE2正式发售 售价999元
一种长周期扩频码的设计
安立公司全球领先的LTE信令分析仪MD8430A荣获EDN创新大奖
未来,人工智能让智能家居呈现终极形态
射频移相器的工作原理
华为 Mate 40系列新机尊享服务权益上线