設置 | 登錄 | 註冊

目前共有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。

內容轉換:

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