#1 楼
如果您在Pi上运行了现有的操作系统,那么首先了解是否支持USB设备会很有用。您可以像平常一样通过安装它来做到这一点:mount /dev/sda1 /mnt
如果失败,那么您将无法在不启用内核模块的情况下将USB设备用作根分区。它。为此,您可能需要编译自己的内核。
如果成功,则可以通过对Pi使用的启动参数进行一些调整来正常工作:
现有映像,打开
cmdline.txt
,可以在引导分区上找到它,然后输入以下行:dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1
root=/dev/sda1 rootfstype=ext4 rootwait text
然后,您要做的就是将该映像闪存到SD卡并启动Pi。如果一切顺利,则Pi引导时,
/dev/sda1
应该是USB驱动器的位置,因此,它应尝试使用该位置作为root用户。 rootwait
参数很重要,因为它会使引导过程挂起,直到识别出USB驱动器为止。没有它,Pi可能会抱怨该位置不存在。我建议您将根分区从现有的Raspberry Pi映像复制到USB驱动器,然后使用该分区从中启动。
如果您需要更多信息,请告诉我。
#2 楼
进行此设置的最简单方法是使用BerryBoot。它支持通过一个不错的GUI界面直接从USB记忆棒(或SD卡本身)上的一个或多个图像进行安装或安装。要进行设置,您只需要做的就是将〜70MB的安装文件复制到FAT32格式的SD卡上,将其插入设备并启动。它甚至还包含预配置映像的列表,它可以通过以太网或wi-fi连接自动下载并安装。映像,如果要在以后添加新映像或更改默认值,只需在引导过程中按Enter键即可重新配置!
评论
将图像移至SD卡?我以为我们想将其安装在USB记忆棒上?
– Suhaib
13年5月12日在21:57
正如OP所述,无法直接从Raspberry Pi上的USB记忆棒引导-您需要安装了引导加载程序的SD卡,一旦启动该程序即可将该过程移交给另一台设备。
–内森·邓恩(Nathan Dunn)
13年5月14日在0:19
#3 楼
好的,请澄清-@Jivings答案-
有几种方法可以在fstab中引用磁盘。使用/ dev / sdXX可能并不总是安全的,因为不能保证scsi磁盘出现的顺序。
我不知道,启动配置是否能理解基本设备标签以外的内容。但是,“ root = / dev / sda1”是一个抽象,因此理论上root = LABEL = TEST可能有效。我需要调查。
如果我不太清楚,我深表歉意。很明显,我在向新手介绍linux方面有一些技巧上的收获。
评论
Jivings:您能为我们的nubies解释一下comand行示例中的一些参数吗?谢谢。
–迈克尔·莫里亚蒂
16-9-29在2:12
他从未提到过fstab。目标设备/分区名称是内核参数。我相信现代内核也可以使用其他命名约定,例如UUID,特别是如果它们具有initrd / initramfs模块。
– Jiggunjer
17年1月23日在4:53
评论
+1好答案。控制台是否不应该已经存在?
–亚历山大·张伯伦
2012年7月21日在14:02
另外,您可以在命令行上使用UUID吗?
–亚历山大·张伯伦
2012年7月21日在15:27
是的,我提供了整个文件,您在哪里谈论使用UUID?
–活动
2012年7月21日在18:01
非常感谢Jivings,我将正式图像“刷”到了USB记忆棒中,然后将内容从FAT分区复制到SD卡并调整了cmdline.txt。在我的情况下,根分区就是/ dev / sda2,因为/ dev / sda1是USB记忆棒上的(未使用的)启动分区。在我的情况下,我不需要rootwait,但是很高兴知道这个参数!
–stefan.at.wpf
2012年7月21日在18:14
@ stefan.at.wpf(和Jivings)您可以使用UUID代替/ dev / sdx-至少在/ etc / fstab /中使用-然后x的变化并不重要。
–亚历山大·张伯伦
2012年7月22日在16:28