官方的文章,方法很简单,不过对U盘有要求,需要兼容的。
只限树莓派3
原理是修改树莓派的/boot/config.txt文件,在后面追加一个program_usb_boot_mode标志位。
重启后,树莓派系统会根据这个标志位,在树莓派的OTP存储器中,写入标志位。这个存储器是内化在SOC芯片中的。一旦写入,将不可逆。
然后按常规方法在U盘中写入系统。
步骤:
更新系统,确保系统是-04-10之后的版本
$ sudo apt-get update && sudo apt-get upgrade
在终端中输入,修改树莓派的/boot/config.txt文件,在后面追加一个program_usb_boot_mode标志位。:
echo program_usb_boot_mode=1 | sudo tee -a /boot/config.txt
重启系统
然后输入
$ vcgencmd otp_dump | grep 17:
17:3020000a
确认输出是否为:0x3020000a,假如不是,说明标志位写入OTP存储器没有成功。
假如你觉得有必要,在config.txt中,删除刚添加的最后一行program_usb_boot_mode=1相关的内容。
不然此SD卡插入其他树莓派,会改写其他树莓派的OTP存储器。
然后重新在U盘中做系统。
后续:
目前有人尝试闪迪酷豆32G的U盘是可以的,不过64G的不行
我自己试验了家里3个U盘,发现兼容性不是太客观。
其中一个朋友DIY的USB 2.0的优盘可以支持,就是速度比较慢,能感受到系统明显比sd卡运行卡顿
金士顿DataTraveler 100G3 16G,USB3.0的,系统倒是能运行正常,速度跟SD卡感觉也差不多,但是sudo reboot后没办法重启....默认好像关机。
还有一个速度最快的USB3.0的U盘,做好系统后,插上去没有任何反应...
详细请看官方的文章,文章入口比较深,备忘,地址:
/documentation/hardware/raspberrypi/bootmodes/msd.md
如果觉得《树莓派linux系统识别u盘启动 树莓派3 U盘启动方案》对你有帮助,请点赞、收藏,并留下你的观点哦!