下载股票图像,然后在单个Pi上修补它
将该图像保存/提取/复制到所有其他SD卡
已经设置了其他Pi的所有组件,而无需完成任何其他配置
我的计算机只有一个SD插槽,因此可以通过修改后的方法生成
.img
文件“主”卡?#1 楼
将克隆母版写入副本之前,需要执行几个简单的准备步骤,这将为您节省很多麻烦。为DHCP配置克隆母版
删除所有内容在
/etc/ssh/ssh_host*
中(运行SSHD时会重新创建)如果您有
/etc/udev/rules.d/70-network*
文件,则需要将eth0
条目修改为其他内容(我将eth9
用于克隆主文件)-并记得更新关联的ifconfig
文件-在centos中是/etc/sysconfig/network-scripts/ifcfg-eth0
(使其成为9
),在debian(树莓派)中是/etc/network/interfaces
#2 楼
我具有与1
和2
相同的要求来分发定制的OS。环顾四周后,我发现了很多命令,但没有一个工具可以从SD卡创建紧凑的.zip
文件,因此我编写了mkimg.sh
,其工作方式如下:sudo bash mkimg.sh /dev/sda sdcard.img.zip
这将在
/dev/sda
处获取已卸载的设备,缩小文件系统和分区,并写出压缩的zip。在我的使用中,这编写了一个约1.5GB的Raspbian系统来创建一个<500MB的.zip
。连同健全性检查和大小计算,该脚本实际上是这样做的:
脚本和文档可在GitHub上获得。
#3 楼
您可以在主计算机上使用Raspberry Pis本身和multixterm来“引导” SD卡的写入。您应该能够在许多发行版的程序包管理器中找到multixterm。步骤1:购买一堆USB记忆棒SD卡适配器。
步骤2:使用标准方法在主计算机上写入2张SD卡图像。
步骤3:将2张带有图像的SD卡放入2台Raspberry Pi中,然后将它们连接到网络并通电。
步骤4:将2个空SD卡插入USB记忆棒适配器中,然后将其插入2个运行的Rapsberry Pis中。
步骤5:现在,这在您的主计算机上变得很有趣multixterm在命令行中是这样的multixterm -xc“ ssh%n” host1 host2其中host1和host2是Raspberry Pi的ip地址。
步骤6:在multixterm的stdin窗口中,您可以使用dd就像通常将图像写入SD卡一样,但是现在multixterm会将dd命令同时发送到两个Raspberry Pi。
步骤7:重复步骤3-6,直到所有卡都写入为止。
您拍摄的SD卡越多,可以用来拍摄新SD卡的Raspberry Pi越多。显然,这项技术不会一次性写入所有卡,但可以减少完成写入所有卡所需的时间。该技术主要是实验性的,因此您的行驶里程会有所不同,但是它的理论听起来像是一个有趣的实验...
评论
非常有趣-但对于大规模生产而言也非常昂贵=)呵呵,喜欢它。是否可能无法在不同的控制台中将图像超线程写入不同的USB SD适配器?
– Piotr Kula
2012年11月1日上午10:12
#4 楼
您正在寻找的是用于SD卡或SD卡复制器的Gang编程器设备。是的,这些系统确实存在。这是我通过Googling找到的“ sd卡帮派程序员”。该特定设备具有一个主插槽,可以一次最多复制7个从SD卡。也可以使用其他具有3个或11个从属插槽的编程器。
也有不同类型的编程器。有些可以从硬盘驱动器中刷新图像,并且可以通过PC上安装的软件进行控制。其他设备(例如上面链接的设备)不必与服务器接口,因为它们将信息从主芯片中镜像出来。
值得一提的是,这些设备并不便宜。它们通常用于大规模生产环境,并且需求不会过高。准备为具有此功能的优质设备支付至少1,000美元的费用。
评论
我想知道为什么这些花费那么多,考虑到您仍然需要坐下来手动插入和取出SD卡。
–德米特里·格里戈里耶夫(Dmitry Grigoryev)
17年7月6日在9:32
@DmitryGrigoryev在我回答后的5年中,复制器站点现在有一个价格低于600美元的站点,恕我直言,这似乎很便宜。请记住,数量决定价格。没有多少人需要这些,所以它们很昂贵,因为他们需要收回开发和制造成本。如果每10台PC或笔记本电脑中就有一个这样的设备,则可能是100-150美元的设备。
–RLH
17年7月6日在18:15
#5 楼
我们对一个项目有类似的要求,即我们需要每天能够将图像写入10多个Raspberry Pi SD卡。我们查看了可购买的各种Card Duplicator,但发现其中的大多数都无法成功制作可引导的SD卡,因为大多数只能直接复制文件而不是可引导信息,它们也非常昂贵!因此,作为解决方案,我们编写了自己的简单的基于Web的软件,以在连接到2个7端口Belkin供电的USB集线器的Raspberry Pi上运行(Pi限制为2个集线器,最多14个USB端口) 。
我们现在已将其作为开源软件发布,以帮助具有相同要求的其他人。目前,只有源代码可用,但我们还将基于运行Nginx + php的Arch Linux ARM上传图像文件
http://www.rockandscissor.com/projects/osid
#6 楼
在Mac OS X上可以使用。卸下已经修补过的卡,然后尝试:
sudo dd if=/dev/sdcardlocation of=backupimage.img
。用位置替换
sdcardlocation
您可以将.img
与.dmg
或.iso
互换。交换了一下。该行是这样的:sudo dd if=backupimage.img of=/dev/sdcardlocation
。在将它们从读卡器中取出之前,请确保先卸下它们。
#7 楼
尽管如何备份Raspberry Pi?对如何克隆单个SD卡提供了极好的限制,一次只能完成数十张卡的操作会变得很繁琐。鉴于没有人生产过多卡SD卡读卡器。 (可以同时容纳多个SD卡的设备),以及可以非常便宜地购买USB集线器和一堆单个SD卡USB读卡器的事实,加快此过程的一种方法是制作自己的SD卡复制器。
您甚至可以编写脚本以将您选择的Raspberry Pi映像自动写入到插槽中插入的任何空SD卡插槽中。脚本可以自动检测到是否已插入卡,并指示复制何时完成。
但是,正如darrenjw在评论中提到的那样,您将希望在每个克隆的映像中首次替换ssh证书。已启动,因此您可能需要确保在连接到专用网段时首次完成启动,然后再将其连接到Internet连接的网络。
评论
通常,您不会安装卡来将图像刷新到卡上。
–亚历山大·张伯伦
2012年7月17日在12:26
感谢@AlexChamberlain,我还应该等到Pi到达几个星期的时间(Grrr,如果我知道我在RS等待名单上有很长的交货时间,我会从Farnell订购很长的时间首先是准备时间),所以我实际上还没有尝试过。
– Mark Booth
2012年7月17日12:34
#8 楼
通常,有更好的工具可以执行此操作,然后复制大量RP图像。但这取决于您真正想做的事情。
您应该看看在cfengine3 [1],fai [2],chef [3],fabric [4]或puppet [5]中。它们是自动配置工具,在第一次(或以后)启动时,对于在您的计算机中进行操作非常有用。
[1] http://cfengine.com/
[2 ] http://fai-project.org/
[3] http://www.opscode.com/chef/
[4] http://www.debian-administration.org/articles / 671
[5] http://puppetlabs.com/puppet/puppet-enterprise/
#9 楼
PiBakery可能是您可行的解决方案。 PiBakery允许您使用块创建自定义的Raspbian图像,以自定义各种内容,例如wifi密码,ssh键等...#10 楼
另一种选择是使用Flash(一种命令行工具),以对OS进行某些自定义的方式来刷新SD卡。#11 楼
要解决计算机上只有一个SD卡插槽的问题,有效地刻录多个图像的简单方法是使用有源USB集线器和许多廉价的microSD-USB适配器。我已经测试过使用13端口USB-3集线器和廉价(不到1美元)的microSD-USB适配器。就同时刻录大量基本图像而言,请检查dcfldd。在raspbian jessie存储库中可用。它是GNU dd的增强版本,能够同时写入多个图像。我进行了一些随意的测试,并且能够将RPi 3B上的microSD卡映像复制到插入USB集线器上的3种类型的适配器中的7张卡中。对A +上的3端口USB 2.0集线器的先前测试也可行。一旦正确设置了参数,这几乎就是一劳永逸的事情。我仅限使用7个适配器,但是没有理由认为它不适用于大量卡,尽管速度将限于最慢的目标卡。
如果您需要一旦它们运行并在您的网络上运行,就可以通过配置更改使大量RPis保持最新,我会考虑使用ansible或Fabric来通过ssh进行更新,并避免需要重新刻录卡以保持它们的状态当前。
最后,您可以使用唯一的标识符(例如,基于网络MAC地址)修改主机以更改每个RPi上的主机名,从而可以通过
avahi
轻松定位,而不必修改每个RPi以避免冲突它会启动以避免冲突。
评论
汤姆查看这篇文章raspberrypi.stackexchange.com/questions/311/…我认为它回答了您的问题。@SteveRobillard +1会完美地回答问题。
要注意的一件事是SSH。如果在主服务器上设置SSH,最终将在所有映像上获得克隆的SSH证书,这不一定是您想要的。 OTOH,如果您打算无头使用Pis,则可能确实希望安装SSH ...
@darrenjw这是一个非常好的观点。您为我省去了一些尴尬,没有错。谢谢。
根据您打算如何使用大量的Pis,您可能需要查看Andrew Mulholland的Raspi-LTSP项目。它不仅对课堂使用有用,而且对集群非常有用。