設置 | 登錄 | 註冊

目前共有3篇帖子。

入手三块蓝色的RK3308B开发板

37樓 巨大八爪鱼 2026-7-31 11:19
目前linux内核和根文件系统都是用的幸狐Luckfox_Nova_SDK_250430编译出来的镜像。
但uboot和设备树dts源文件还是用的rk3308-rock-pi-s开发板的。
设备树dtb二进制文件是把设备树dts源文件放到幸狐的内核目录里面(Z:\Documents\Code\C\Luckfox_Nova_SDK_250430\kernel\arch\arm64\boot\dts\rockchip)编译出来的。

这个uboot没有saveenv命令,无法永久保存bootcmd环境变量,这样的话每次开机都得手动输入命令才行。
但可以在sd卡的efi分区里面建立boot.scr文件,把bootcmd写进去,开机时就能自动读取。

板子开机后,会自动把sd卡的efi分区挂载到/mnt/sdcard目录下。
root@rk3308b-buildroot:/# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/root        58G   95M   55G   1% /
devtmpfs        118M     0  118M   0% /dev
tmpfs           119M   12K  119M   1% /tmp
tmpfs           119M  120K  119M   1% /run
tmpfs           119M   68K  119M   1% /var/log
tmpfs           119M     0  119M   0% /dev/shm
/dev/mmcblk1p1  112M   13M   99M  12% /mnt/sdcard
root@rk3308b-buildroot:/# ls /mnt/sdcard
Image  luckfox-rk3308b-evb-v10.dtb
root@rk3308b-buildroot:/#

在电脑的ubuntu22.04虚拟机上创建一个文本文件“bootcmd.txt”,内容如下:
setenv bootargs root=/dev/mmcblk1p2 rootwait rw rootfstype=ext4 console=ttyS0,1500000n8
load mmc 0:1 0x00280000 Image
load mmc 0:1 0x01f00000 luckfox-rk3308b-evb-v10.dtb
booti 0x00280000 - 0x01f00000
注意必须要使用Unix (LF)换行格式。建议在vim编译器里面创建这个文件。

然后把这个文件打包成镜像格式:
mkimage -A arm -O linux -T script -C none -a 0 -e 0 -n "luckfox_bootcmd" -d bootcmd.txt bootcmd.img

然后用adb push到板子上:
adb push "Z:\Documents\Code\C\test\bootcmd\bootcmd.img" /mnt/sdcard/boot.scr

板子reboot后,就能自动执行我们设定的bootcmd命令,成功开机了。
巨大八爪鱼 2026-7-31 11:36
Device 0: unknown device
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1...
Found U-Boot script /boot.scr
reading /boot.scr
264 bytes read in 2 ms (128.9 KiB/s)
## Executing script at 00500000
reading Image
13414408 bytes read in 578 ms (22.1 MiB/s)
reading luckfox-rk3308b-evb-v10.dtb
53635 bytes read in 5 ms (10.2 MiB/s)
## Flattened Device Tree blob at 01f00000
   Booting using the fdt blob at 0x1f00000
   Loading Device Tree to 000000000f4f6000, end 000000000f506182 ... OK
Adding bank: 0x00200000 - 0x10000000 (size: 0x0fe00000)

Starting kernel ...


[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd042]
[    0.000000] Linux version 5.10.198 (oct1158@oct1158-ubuntu) (aarch64-none-linux-gnu-gcc (GNU Toolchain for the A-profile Architecture 10.3-2021.07 (arm-10.29)) 10.3.1 20210621, GNU ld (GNU Toolchain for the A-profile Architecture 10.3-2021.07 (arm-10.29)) 2.36.1.20210621) #35 SMP PREEMPT Wed Jul 22 10:02:18 CST 2026
[    0.000000] Machine model: Radxa ROCK Pi S
[    0.000000] OF: fdt: Reserved memory: failed to reserve memory for node 'drm-logo@00000000': base 0x0000000000000000, size 0 MiB
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x0000000000200000-0x000000000fffffff]
[    0.000000]   DMA32    empty
[    0.000000]   Normal   empty
巨大八爪鱼 2026-8-3 18:17
/dev/mmcblk0p1和/dev/mmcblk0p2同时都被自动挂载到了/mnt/sdcard目录下,所以最好不要用/mnt/sdcard,最好改用/media/sdcard1。

內容轉換:

回覆帖子
內容:
用戶名: 您目前是匿名發表。
驗證碼:
看不清?換一張