Ubuntu 16.04 Instalação PXE Netboot PreSeed

0

Estou tentando instalar o Ubuntu 16.04 via PXE. Estou servindo o CD do TFTP / HTTP. Verifiquei que os arquivos HTTP estão sendo veiculados e que os subdiretórios do NFS podem ser montados. Meu problema é que quando eu seleciono a opção para instalar o boot vai bem no entanto eu estou preso com a instalação manual em vez de um automatizado. Eu posso passar por todas as etapas e instalar o Ubuntu como está, mas o arquivo preseed é totalmente ignorado. Aqui está o meu pxelinux.cfg:

path pxe/ubuntu/16.04/install/netboot/ubuntu-installer/amd64/boot-screens/
default pxe/ubuntu/16.04/install/netboot/ubuntu-installer/amd64/boot-screens/vesamenu.c32
prompt 0
timeout 0
LABEL Ubuntu 16.04
    MENU LABEL Install Ubuntu 16.04 - Automatic
    KERNEL pxe/ubuntu/16.04/install/netboot/ubuntu-installer/amd64/linux
    INITRD pxe/ubuntu/16.04/install/netboot/ubuntu-installer/amd64/initrd.gz \
    APPEND auto=true priority=critical vga=788 file=pxe/ubuntu/16.04/preseed/default.seed \
    preseed/interactive=false

Aqui está o meu arquivo preseed:

d-i debian-installer/locale string en_US
d-i debian-installer/language string en
d-i debian-installer/country string US
d-i console-setup/ask_detect boolean false
d-i keyboard-configuration/xkb-keymap select us
d-i netcfg/choose_interface select auto
d-i netcfg/get_hostname string test
d-i mirror/country string manual
d-i passwd/root-password password r00tme
d-i passwd/root-password-again password r00tme
d-i passwd/user-fullname string Ken
d-i passwd/username string ken
d-i passwd/user-password password insecure
d-i passwd/user-password-again password insecure
d-i user-setup/encrypt-home boolean true
d-i clock-setup/utc boolean true
d-i time/zone string US/Eastern
d-i clock-setup/ntp boolean true
d-i clock-setup/ntp-server string time.nist.gov
d-i partman-auto/method string lvm
d-i partman-lvm/device_remove_lvm boolean true
d-i partman-md/device_remove_md boolean true
d-i partman-lvm/confirm boolean true
d-i partman-lvm/confirm_nooverwrite boolean true
d-i partman-auto/choose_recipe select atomic
d-i partman-partitioning/confirm_write_new_label boolean true
d-i partman/choose_partition select finish
d-i partman/confirm boolean true
d-i partman/confirm_nooverwrite boolean true
tasksel tasksel/first multiselect lamp-server
d-i grub-installer/only_debian boolean true
d-i finish-install/reboot_in_progress note

Como faço para que o arquivo preseed seja reconhecido aqui para que a instalação seja automatizada e não requeira perguntas adicionais?

    
por Ken J 04.09.2017 / 21:49

1 resposta

1

De acordo com o link , um arquivo preseed não está configurado no initrd só será carregado depois que os valores de localização estiverem definidos. Você precisa definir o seguinte no arquivo syslinux.cfg ou pxelinux.cfg primeiro:

APPEND url=http://localhost/preseed/desktop.seed vga=normal \
initrd=ubuntu- installer/amd64/initrd.gz \ 
locale=en_CA.UTF-8 console-setup/ask_detect=false  \
console-setup/layoutcode=us keyboard-configuration/layoutcode=us \ 
mirror/http/mirror=ca.archive.ubuntu.com netcfg/get_hostname=

Adicionar DEBCONF_DEBUG = 5 à linha APPEND também fornecerá logs mais detalhados no syslog enquanto você estiver executando a instalação. Você também deve alterar o espelho para um adequado à sua localização. Eu também acho que a diretiva file = irá procurar na máquina cliente pelo arquivo - não no servidor pxe, já que é uma opção de inicialização passada para a máquina cliente. Você pode verificar se a instalação vê o arquivo marcando / var / log / syslog durante a instalação no cliente com DEBCONF_DEBUG ativado. Você verá "preseed / arquivo não existe" no log se a instalação não o encontrar.

    
por 13.06.2018 / 20:08

Tags