我已经使用 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
重启