这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » DIY与开源设计 » 电子DIY » 【BEAGLEBONEBLKREVCAM3358BZCZ】—通过软件设置系统启动

共1条 1/1 1 跳转至

【BEAGLEBONEBLKREVCAM3358BZCZ】—通过软件设置系统启动首选项

工程师
2026-03-04 19:00:23     打赏

一、目标说明

       每次启动都需要按S2按键才能选择SD卡启动的话非常麻烦,没有跳线帽或拨码开关等通过硬件的方式设置默认启动选项。不过可以通过软件的方式设置默认启动选项。软件设置默认启动选项的方式还是比较多的,这里提供一种不修改eMMC文件内容或数据的方式设置启动默认选项。

二、设置步骤

       先通过按键的方式选择SD卡启动,进入调试界面输入如下指令

sudo nano /boot/firmware/uEnv.txt

       即在/boot/firmware目录下创建uEnv.txt文件,复制如下内容

#核心:指定优先从SD卡(mmc0)启动(当前SD卡就是mmc0)
mmcdev=0
 
#指定SD卡的根分区(当前根目录是mmcblk0p3)
mmcroot=/dev/mmcblk0p3 ro
 
#指定SD卡的Boot分区(mmc0的第1分区)
bootpart=0:1
 
#指定文件系统类型(必须匹配)
mmcrootfstype=ext4
 
# 禁用eMMC启动检测(避免切回eMMC)
#disable_uboot_overlay_emmc=1
 
# 简化启动参数(避免复杂指令导致重启)
optargs=quiet console=ttyO0,115200n8

       按Ctrl+O→回车→Ctrl+X保存并退出。其中如果#disable_uboot_overlay_emmc=1前面的#的话,在系统启动后不会挂载eMMC,这样可以很好地保护好eMMC中的数据。输入如下指令重启设备

sudo reboot

       设备重启后还是通过判断启动选项的方式查看设备是通过SD卡还是eMMC的方式启动,如果没有错误的话是通过SD卡启动。

三、总结

       板卡虽然没有通过硬件的方式设置系统启动默认选项,但是通过软件的方式可以简单的设置还是很方便的。不过还有另外一种方式在/boot/firmware目录下创建uEnv.txt文件的方式,但是多次尝试后发现不能生效,设置出现启动失败的现象。具体描述如下:

       SD卡在烧录后因为其EFI系统分区的格式是Fat32的,会导致部分的Windows系统无法正常识别,也是通过相关的指令创建一个压缩卷才正常识别的,指令如下

image.png

       创建压缩卷的方式是通过Windows的diskpart软件创建的,调用方式是在CMD指令窗口输入diskpart。其中指令select disk 2是选中对应的SD卡,需要根据自己电脑的实际情况设置。select partition 1是选择SD卡分区中对应Debian Linux的EFI系统分区,对应的文件夹路径是/boot/firmware。assign letter=G是给压缩卷分配对应的分区,需要结合自己电脑的实际情况进行分区。

       然后电脑就会识别出SD卡对应的分区,在根目录下创建uEnv.txt文件并复制对应的内容,但是文件建议用ANSI的格式,不过测试过ANSI和UTF-8格式都不能生效,所以建议在系统调试的时候修改系统启动默认首选项。




关键词: BEAGLEBONEBLKREVCAM3358BZ    

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]