情况:我有一台无法连接屏幕的电脑。我知道 PC 会自动启动连接到某个 USB 端口的任何可启动媒体。 PC 上只有这一个 USB 端口。
要求:我想在可以使用 SSH 连接的 PC 上安装正在运行的 Debian。
理论:我的想法是,我可以创建一个可启动的 USB 记忆棒,其中包含一个小型中间操作系统和 debian 安装程序,它们都会在启动时自动复制到内存中。中间操作系统应该自动使用 DHCP 配置网络并启动 SSH,以便我能够连接到计算机并运行 debian 安装程序,然后使用该安装程序将 debian 安装到 USB 记忆棒本身(该记忆棒有 SLC 内存,因此安装操作系统)应该不是问题)。
理论就这么多......不幸的是我不知道从哪里开始让这个过程继续进行。有人以前做过类似的事情或者可以为我提供一些如何开始的提示吗?
答案1
您需要重新制作 Debian ISO 映像。
TL;博士; 从这里下载 ISOCiborski 通过 SSH 远程安装 Debian 的指南
长答案:要执行此操作,您应该阅读Debian GNU/Linux 安装指南并修改 /iso/isolinux 和 /iso/boot 中的启动参数,以便使用auto
参数启动。这将使安装程序跳过键盘配置、语言等。
您还需要在 ISO 中包含有关网络配置的预置文件。
对我有用的例子:
d-i debian-installer/locale string en_US
d-i keyboard-configuration/xkb-keymap select us
d-i netcfg/choose_interface select auto
d-i netcfg/get_hostname string unassigned-hostname
d-i netcfg/get_domain string unassigned-domain
d-i hw-detect/load_firmware boolean true
d-i anna/choose_modules string network-console
d-i preseed/early_command string anna-install network-console
d-i network-console/password password root
d-i network-console/password-again password root
但是,如果您需要快速而肮脏的解决方案,您可以从我的网站下载带有 Debian 9 x86_64 的预制 ISOhttps://tomasz.ciborski.com/debian-installation-over-ssh/
结果: ssh 安装程序控制台
答案2
Debian 安装程序可以单独完成这一切。你必须开始网络启动变体(内核 + initrd)与您最喜欢的引导加载程序,传递内核命令行上一些初始问题的答案。这是一个用于说明的测试设置:
$ kvm -m 256M -net nic -net user,hostfwd=::2222-:22 \
-kernel linux -initrd initrd.gz \
-append 'priority=critical language=C country=US keymap=us
hostname=foobar domain=soreny mirror/country=manual
mirror/http/hostname=ftp.us.debian.org
mirror/http/directory=/debian/
anna/choose_modules=network-console
network-console/password=secret
network-console/start='
当它到达 root 密码问题时,您应该能够
ssh -p2222 installer@localhost
使用上述密码并继续交互式安装。