#1 楼
现在,在作者最初提出这个问题后近五年后,Raspberry Pi正式支持从USB大容量存储设备启动。但是,只有Raspberry Pi 3支持此功能。原因如下:
是否可以使用MSD引导Pi 1或Pi 2?
不幸的是没有。引导代码仅存储在BCM2837设备中,
,因此Pi 1,Pi 2和Pi Zero都将需要SD卡。
#2 楼
从真正的意义上讲,不可能直接从USB启动RPi。但是,没有什么可以阻止某人制作包含/ boot和某种启动管理器的迷你发行版的。然后,这可以实现从USB甚至PXE风格环境的启动。这可能适合微型SD卡-现在便士可以使用64MB卡。我期望有人为此发布一个发行版-但到目前为止还没有找到发行版。同时,您可以将自己的根分区移动到硬盘上以加快启动时间,但是它有点涉及,因为您需要获得一个支持USB存储的内核。有关如何执行此操作的良好说明,请访问:http://mitchtech.net/raspberry-pi-root-fs-on-usb-drive/
评论
这是一个好主意。
–活动
2012年6月27日9:04
更新:现在有实验性支持直接引导到USB。初始设置后无需sdcard。
–Hydraxan14
17年1月17日在22:27
#3 楼
在Raspberry Pi常见问题解答中:您必须从SD引导,但是USB HD可以在初始引导后“接管”。没有SD卡就无法启动。
评论
这是否意味着在硬盘接管之后就不再需要存储卡了?
– Suhaib
13年5月12日在22:02
#4 楼
确实,如果您可以仅使用内核所在的SD MS-DOS分区(/ boot),则可以在外部设备上具有/ root以及其他所有内容。 USB存储卡或物理硬盘驱动器也可以用作辅助驱动器。好消息是,除非您将dd'dd'定位到错误的位置,否则这是非破坏性的过程:只需进行一次编辑即可返回到原始位置,设置此配置非常容易。您可以像往常一样配置安装,然后将EXT4分区移动/复制到外部驱动器。
使用'
fdisk
'对所选的辅助驱动器进行分区,创建一个与当前mmcblk0p2(或mmcblk0p5)大小相同或更大的分区。保存新配置。 查找分区名称,在此示例中为“ / dev / sda5”,但是此分区将取决于您的配置。
复制正在运行的分区(注意:建议不要复制正在运行的分区,某些文件处于“不稳定”或打开状态,但是可以正常工作):
dd if=/dev/mmcblk0p2 of=/dev/sda5 bs=10M
现在,在/boot/cmdline.txt文件中编辑以下行并修改'root'位置:
dwc_otg.lpm_enable=0 console=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait
到此新行。
dwc_otg.lpm_enable=0 console=ttyAMA0,115200 console=tty1 root=/dev/sda5 rootfstype=ext4 elevator=deadline rootwait
请注意,引导分区是MS-DOS,因此,如果需要修复,可以将SD挂载在其他位置并进行编辑。如果引导失败,则加载程序将在(HDMI)屏幕上显示可用的安装点。
此设置取决于安装顺序。如果设备安装在另一个插槽上,则分区号可能会更改;您可以按如下所示使该位置独立。
找到设备'UUID'
blkid /dev/sda5
/dev/sda5: UUID="13d368bf-6dbf-4751-8ba1-88bed06bef77" TYPE="ext4"
或创建一个新的
tune2fs -U random /dev/sda5
并获取新分配的名称
blkid /dev/sda5
/dev/sda5: UUID="25b6aa72-ddc4-485e-8044-900ac24d662b" TYPE="ext4"
,然后编辑先前修改的cmdline.txt,将根位置更改为:
root=UUID=25b6aa72-ddc4-485e-8044-900ac24d662b
引导新配置后,编辑fstab,删除旧的/ mmcblk0p2
注意:这是一个文件,将位于“新” / root设备上
替换/ dev / mmcblk0p%(%为linux分区)
nano /etc/fstab
UUID=25b6aa72-ddc4-485e-8044-900ac24d662b ...
#5 楼
在raspbian中,只需将root
中的/boot/cmdline.txt
标志更改为root=/dev/sdaX
,其中X
是相应分区的编号。有关如何在USB上获取raspbian的详细信息,等等,您可以在此处查看http:/ /blog.krastanov.org/2014/01/30/booting-pi-reliably-from-usb/
#6 楼
相反,我使用Windows进行了100%的创建。我使用了(免费的)“ MiniTool分区管理器”,并将引导转移到了我最小的SD卡中,可以使用分区管理器自动对其进行扩展。打开
cmdline.txt
并更改为root=/dev/sda5
。相同的分区管理器让我将ext4复制到我的便携式1TB(FYI首先从驱动器中删除所有分区,以便在传输前具有未分区的空间)。瓦拉-启动。我注意到,与大多数SD卡相比,标准HDD的读写速度有些欠缺,尽管它们的读写速度非常快。 我现在遇到的唯一问题是从原始SD卡的原始32GB扩展ext4(根)分区。所以我目前只有1TB的32GB。嗯我只是终端机及其命令的新手,因此在linux中进行分区有点麻烦,但是本指南非常有效。
评论
抱歉,什么指南?
– Bex
16年5月23日在6:54
抱歉,这个论坛。
–戴夫
16年6月14日在11:58
评论
这只是实际教程的链接,因此我将其保留为评论:blog.krastanov.org/2014/01/30/booting-pi-reliably-from-usb