Arquivo pre-seed Debian PXE

1

Eu fiz uma primeira instalação do PXE com o Debian 7 e atualmente estou tentando fazer outro para o Debian 8. Estou preso com 3 pequenas coisas e não consigo encontrar nenhuma solução.

  • Ignorar firmware ausente
  • Idioma do teclado (de EN para FR)
  • Login automático

Aqui está o que eu tentei (escrito em um arquivo chamado 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

Eu encontrei exemplo-preseed.txt que me deu muitas coisas, mas esses 2 configurações não estão funcionando.

Aqui está o meu arquivo de inicialização:

# /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

Para o firmware ausente, é obviamente um de rede. Aqui estão as referências que tenho:

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

# Second
rtl_nic/ntl18168g-2.fw

Eu encontrei ntl18168g-2.fw vindo de um pacote deb (que eu havia testado antes) que eu descompactei mas não sei onde adicioná-lo no meu arquivo initrd.gz . Para descompactar e recompilar initrd.gz archive que fiz como foi escrito aqui . Ele funciona como um encanto. Não encontrei

Onde devo adicionar o arquivo ntl18168g-2.fw ? E quanto a .ucode ou simplesmente pular firmware ausente? O que estou fazendo errado?

Editar Não parece vindo de lxde porque com open box eu tenho o mesmo problema.

Obrigado antecipadamente.

    
por brcebn 06.04.2016 / 16:35

1 resposta

1

iwlwifi é um firmware não gratuito, de acordo com NetbootFirmware você precisa adicionar o firmware não-livre a Initramfs :

Initramfs is essentially a concatenation of gzipped cpio archives which are extracted into a ramdisk and used as an early userspace by the Linux kernel. Debian Installer's initrd.gz is in fact a single gzipped cpio archive containing all the files the installer needs at boot time. By simply appending another gzipped cpio archive - containing the firmware files we are missing - we get the show on the road!

Adicione debs de 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

Ative o repositório não-livre pré-configurando o seguinte:

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

Idioma do teclado

Para converter seu teclado de Eng para Fr , edite seu my-debian-8.cfg como:

# 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

Login automático Por razões de segurança, a melhor maneira de _PXE_installation_ é pular a configuração do sudo e da conta root usando as seguintes linhas:

# 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

Editar

Você pode verificar seu arquivo de configuração de aqui

Para configurar o arquivo netboot:

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

Verifique a estrutura:

tree /var/lib/tftpboot/

ou

ls -la /var/lib/tftpboot

edit2

instale o servidor DNSMASQ:

apt-get install dnsmasq

edite dnsmasq.conf e use o seguinte exemplo:

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

E reinicie os serviços do DNSMASQ:

service dnsmasq restart

O jeito fácil é fazer o download de netboot.tar.gz para /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/

Permitir porta do ufw

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

Reinicie

    
por 07.04.2016 / 14:34