简述
如果需要从U盘启动,需要向树莓派的SOC里的OTP(One Time Programmable一次性编程器)设置修复位,使之支持usb boot mode
模式。该过程是不可逆的。
方法一
- 连接树莓派,执行命令:
echo program_usb_boot_mode=1 | sudo tee -a /boot/config.txt
这行代码将program_usb_boot_mode=1
插入到/boot/cinfig.txt
文件的末尾。
- 检查设置是否成功,输入命令:
vcgencmd otp_dump | grep 17
如果输出的结果和下图一直,说明设置成功
方法二
在sd卡boot盘的cmdline.txt
文件中追加一行命令:
program_usb_boot_mode=1
然后插入树莓派,通电60s,便设置成功了。以后就可以不使用sd卡,直接把镜像写到u盘中。
注意事项
1、USB Boot Mode模式实质是向SOC里的OTP(One Time Programmable)设置修复位使之支持,该操作是不可逆的;
2、该模式仅支持树莓派3B机型;
3、因为仍然优先检测SD卡是否存在,所以usb boot会有5~10秒延迟来启动usb设备;可以插上一张空白sd卡来减低延迟。
4、因为usb和网卡共用smsc lan9514芯片,所以该模式同时打开network boot模式,即允许通过网络安装启动系统;
5、有些U盘可能不支持,以下是官方测试通过的U盘:
- Sandisk Cruzer Fit 16GB
- Sandisk Cruzer Blade 16Gb
- 三星32GB USB 3.0硬盘
- MeCo 16GB USB 3.0
https://www.raspberrypi.org/documentation/hardware/raspberrypi/bootmodes/msd.md
https://www.raspberrypi.org/blog/pi-3-booting-part-i-usb-mass-storage-boot/