我有一个 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 是您的解决方案,因为设备永久处于网络上(从您的回复中暗示)抱歉,在投票之前无法发表评论,因为声誉不足......