Debian PXE 预种子文件

Debian PXE 预种子文件

我已经使用 Debian 7 完成了第一次 PXE 安装,目前正在尝试为 Debian 8 进行另一个安装。我遇到了 3 个小问题,无法找到任何解决方案。

  • 跳过缺少的固件
  • 键盘语言(从 EN 到 FR)
  • 自动登录

这是我尝试过的(写在名为 的文件上my-debian-8.cfg):

#skip missing firmware
d-i hw-detect/load_firmware boolean false

# keyboard
d-i console-keymaps-at/keymap select fr-latin9
d-i debian-installer/keymap string fr-latin9
d-i keyboard-configuration/xkb-keymap select fr
# auto-login
d-i passwd/auto-login boolean true

#my desktop
tasksel tasksel/first multiselect desktop, system, lxde-desktop

我发现示例-preseed.txt这给了我很多东西,但这两种配置不起作用。

这是我的启动文件:

# /var/lib/ftfpboot/pxelinux.cfg/default
prompt 0
timeout 10

default install
menu title PXE Boot Menu

label My Installation
    menu label ^Debian 8 (Jessie)
    menu default
    kernel debian-8-installer/i386/linux url=http://192.168.3.1/my-debian-8.cfg netcfg/get_domain=192.168.3.1 netcfg/get_hostname=myUser languagechooser/language-name=French countrychooser/shortlist=FR debian-installer/locale=fr_FR.UTF-8 keyboard-configuration/xkb-keymap=fr
    append vga=788 initrd=debian-8-installer/i386/initrd.gz -- quiet



default debian-8-installer/i386/boot-screens/vesamenu.c32

对于丢失的固件,显然是网络固件。以下是我的参考资料:

# First asking
iwlwifi-3160-9.ucode
iwlwifi-3160-8.ucode

# Second
rtl_nic/ntl18168g-2.fw

我发现ntl18168g-2.fw来自一个deb已解压的包(我之前测试过),但我不知道将其添加到我的initrd.gz存档中的何处。要解压并重新编译initrd.gz存档,我已经按照编写的方式完成了这里。它就像一个魅力。我没有找到

我应该在哪里添加ntl18168g-2.fw文件?.ucode或者直接跳过丢失的固件怎么办?我究竟做错了什么?

编辑 它似乎不是来自,lxde因为open box我也有同样的问题。

先感谢您。

答案1

iwlwifi是一个非免费固件,根据网络启动固件您需要将非免费固件添加到Initramfs

Initramfs 本质上是 gzip 压缩的 cpio 存档的串联,这些存档被提取到 ramdisk 中并由 Linux 内核用作早期用户空间。 Debian 安装程序的 initrd.gz 实际上是一个 gzip 压缩的 cpio 存档,其中包含安装程序在启动时所需的所有文件。通过简单地附加另一个 gzipped cpio 存档 - 包含我们缺少的固件文件 - 我们就可以上路了!

添加 debs 来自firmware.cpio.gz

# cd to the directory where you have your initrd
cd /tftpboot/debian-installer/i386
[ -f initrd.gz.orig ] || cp -p initrd.gz initrd.gz.orig
[ -f firmware.cpio.gz ] || wget http://cdimage.debian.org/cdimage/unofficial/non-free/firmware/stable/current/firmware.cpio.gz
cat initrd.gz.orig firmware.cpio.gz > initrd.gz

通过预置以下内容来启用非自由存储库:

base-config     apt-setup/non-free      boolean true

键盘语言

要将您的键盘从英格Fr编辑你my-debian-8.cfg喜欢的:

# Locales
d-i debian-installer/fallbacklocale select fr_FR.UTF-8
d-i debian-installer/locale select fr_FR.UTF-8
# Keyboard
d-i console-keymaps-at/keymap select fr-latin9
d-i debian-installer/keymap string fr-latin9

自动登录 出于安全原因,PXE 安装的最佳方法是使用以下行跳过 sudo 和 root 帐户的配置:

# Skip creation of a root account 
d-i passwd/root-login boolean false
# Skip creation of a normal user account.
d-i passwd/make-user boolean false

编辑

您可以验证您的配置文件这里

设置网络启动文件:

cd /var/lib/tftpboot/
wget http://ftp.debian.org/debian/dists/Debian8.4/main/installer-i386/current/images/netboot/netboot.tar.gz
tar xfz netboot.tar.gz

验证结构:

tree /var/lib/tftpboot/

或者

ls -la /var/lib/tftpboot

编辑2

安装 DNSMASQ 服务器:

apt-get install dnsmasq

编辑dnsmasq.conf并使用以下示例:

interface=eth0
domain=debian.lan
dhcp-range=192.168.1.3,192.168.1.253,255.255.255.0,1h
dhcp-boot=pxelinux.0,pxeserver,192.168.1.100
pxe-prompt="Press F8 for menu.", 60
 #pxe-service types: x86PC, PC98, IA64_EFI, Alpha, Arc_x86, Intel_Lean_Client,   IA32_EFI, BC_EFI, Xscale_EFI and X86-64_EFI
pxe-service=x86PC, "Install Debian 8 Linux from network server   192.168.1.100", pxelinux
enable-tftp
tftp-root=/srv/tftp

并重新启动 DNSMASQ 服务:

service dnsmasq restart

最简单的方法是下载netboot.tar.gz/srv/tftp/

cd /srv/tftp/
wget http://ftp.debian.org/debian/dists/Debian8.4/main/installer-i386/current/images/netboot/netboot.tar.gz
tar xfz netboot.tar.gz
chmod -R 755 /srv/tftp/

允许来自 ufw 的端口

 ufw allow 69/udp
 ufw allow 67/udp
 ufw allow 53/tcp
 ufw allow 53/udp

重启

相关内容