![从网络服务器安装自定义系统映像](https://linux22.com/image/1176803/%E4%BB%8E%E7%BD%91%E7%BB%9C%E6%9C%8D%E5%8A%A1%E5%99%A8%E5%AE%89%E8%A3%85%E8%87%AA%E5%AE%9A%E4%B9%89%E7%B3%BB%E7%BB%9F%E6%98%A0%E5%83%8F.png)
我有一个 Ubuntu 系统的可启动映像 (ISO),但它不是本身就是一个安装程序。
我希望能够指示系统通过网络复制 ISO 并有效地将dd
其复制到内部存储(覆盖以前存储在那里的所有内容),然后重新启动到其本地副本。
(我不想简单地通过网络从映像启动。)
我需要设置什么才能实现此目的?目标系统上需要安装什么,例如 GRUB?
我的用例是,我正在开发一个嵌入式系统,并定期重新生成这些图像。我希望每当我有新版本的软件时,都能够轻松地刷新板载存储。没有什么需要保留的。
我正在寻找相当一站式的东西。我不需要可启动恢复映像的复杂菜单。我可以作为 Docker 容器部署到本地服务器的东西会很棒。
答案1
确信其他人可以想出更优雅的办法,但是......
-将目标系统启动到 ubuntu live cd/usb。-
分配 IP 地址。-
识别目标驱动器 ex) /dev/sdg
-我相信您需要在实时系统上创建 root 密码。
在源机器上:(
确保实时系统中安装了 ssh)
sudo dd if=/home/source.iso bs=4M status=progress | ssh root@liveCDUSB_IPaddress "dd of=/dev/sdg bs=4M"
或者反过来(无需在实时系统上添加 root 密码)
而是在实时系统上从源拉取 iso
sudo ssh user@source_ipaddress "dd if=/home/source.iso bs=4M" | dd of=/dev/sdg bs=4M status=progress
建议先用一个小文件进行测试,以确保所有措辞都是正确的......
答案2
PXE 是您的解决方案,因为设备永久处于网络上(从您的回复中暗示)抱歉,在投票之前无法发表评论,因为声誉不足......