官方的文章,方法很简单,不过对U盘有要求,须要兼容的。
只限树莓派3
原理是修改树莓派的/boot/config.txt文件,在后面追加一个program_usb_boot_mode标志位。
重启后,树莓派系统会根据这个标志位,在树莓派的OTP存储器中,写入标志位。这个存储器是内化在SOC芯片中的。一旦写入,将不可逆。
而后按常规方法在U盘中写入系统。
步骤:code
更新系统,确保系统是2017-04-10以后的版本get
$ sudo apt-get update && sudo apt-get upgrade
在终端中输入,修改树莓派的/boot/config.txt文件,在后面追加一个program_usb_boot_mode标志位。:cmd
echo program_usb_boot_mode=1 | sudo tee -a /boot/config.txt
重启系统
而后输入io
$ 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盘,作好系统后,插上去没有任何反应...
详细请看官方的文章,文章入口比较深,备忘,地址:
https://www.raspberrypi.org/documentation/hardware/raspberrypi/bootmodes/msd.md兼容性