Estou tentando automatizar algumas instalações da área de trabalho usando o arquivo kickstart em vez do arquivo preseed. Eu entendo que o processo converte o arquivo ks.cfg para o arquivo preseed relevante
O erro encontrado após a inicialização PXE está na seção nfs --server = a.b.c.d --dir = / path / to / ubuntu / media do arquivo ks.
Continua dando um erro de montagem do nfs. Confirmado não FW entre cliente e servidor nfs.
Em outro console virtual, eu também não consigo montar -t nfs a.b.c.d: / caminho / para / ubuntu / media / mnt - ele simplesmente trava.
Eu vi em / var / log / syslog (console virtual 4) um aviso que diz que o Xenial não suporta esse tipo de espelho ou algo assim.
O servidor nfs para configuração da instalação básica não é suportado? Então tem que ser via http: // ou ftp: // etc?
Alguém pode me indicar a documentação adequada para configurar o arquivo preseed e fazer a instalação automatizada da área de trabalho com algumas dicas de personalização (por exemplo, adicionar min sal para que eu possa configurar a área de trabalho do cliente com saltstack)
Obrigado,
Editar:
Veja o que eu fiz -
monte a iso de desktop do ubuntu-16.04 e copie o kernel e o arquivo initrd para o servidor pxe. O servidor irá fazer o boot do pxe e obter o dhcp e então obter o pxelinux.0 via tftp e inicializar esse arquivo e ler o arquivo pxe para processar os próximos passos, conforme abaixo
em /tftpboot/pxelinux.cfg/
serial 0 115200 0x303 timeout 6000 default menu.c32 prompt 0 menu begin desktop-test label Ubuntu 16.04 Desktop kernel ks/kernel/vmlinuz-ubuntu-16.04 append initrd=ks/kernel/initrd-ubuntu-16.04.img preseed/url=http://mirrorhost.localdomain/repo/ubuntu/preseed/ubuntu-16.04-preseed.cfg -- ipappend 2
d-i debian-installer/language string en d-i debian-installer/country string US d-i debian-installer/locale string en_US d-i console-keymaps-at/keymap select us d-i keyboard-configuration/xkb-keymap select us 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 mirror/country string manual d-i mirror/http/hostname string mirror.localdomain d-i mirror/http/directory string /repo/ubuntu d-i mirror/http/proxy string d-i mirror/suite string xenial d-i passwd/root-login boolean true d-i passwd/make-user boolean false d-i passwd/root-password-crypted password XXX d-i clock-setup/utc boolean false d-i time/zone string US/Eastern d-i clock-setup/ntp boolean true d-i clock-setup/ntp-server string 10.0.0.1 d-i partman-auto/disk string /dev/sda d-i partman-auto/method string lvm d-i partman-lvm/device_remove_lvm boolean true d-i partman-lvm/device_remove_lvm_span boolean true d-i partman-md/device_remove_md boolean true d-i partman-auto/purge_lvm_from_device boolean true d-i partman-auto-lvm/new_vg_name string system d-i partman-lvm/confirm boolean true d-i partman/alignment string "optimal" d-i partman-auto-lvm/guided_size string max d-i partman-auto/expert_recipe string \ boot-root :: \ 128 100 256 ext3 \ $primary{ } \ $bootable{ } \ method{ format } format{ } \ use_filesystem{ } filesystem{ ext4 } \ mountpoint{ /boot } \ . \ 1024 100 8192 linux-swap \ $lvmok{ } \ $in_vg{ vg_root } \ lv_name{ lv_swap } \ method{ swap } format{ } \ . \ 4096 100 51200 ext4 \ $lvmok{ } \ $in_vg{ vg_root } \ lv_name{ lv_root } \ method{ format } format{ } \ use_filesystem{ } filesystem{ ext4 } \ mountpoint{ / } \ . 4096 100 8192 ext4 \ $lvmok{ } \ $in_vg{ vg_root } \ lv_name{ lv_var } \ method{ format } format{ } \ use_filesystem{ } filesystem{ ext4 } \ mountpoint{ /var } \ . 1024 100 4096 ext4 \ $lvmok{ } \ $in_vg{ vg_root } \ lv_name{ lv_tmp } \ method{ format } format{ } \ use_filesystem{ } filesystem{ ext4 } \ mountpoint{ /tmp } \ . 4096 100 -1 ext4 \ $lvmok{ } \ $in_vg{ vg_root } \ lv_name{ lv_extra } \ method{ format } format{ } \ use_filesystem{ } filesystem{ ext4 } \ mountpoint{ /extra } \ . 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 d-i base-installer/install-recommends boolean false d-i base-installer/kernel/linux/initramfs-generators string initramfs-tools d-i apt-setup/non-free boolean true d-i apt-setup/contrib boolean true d-i apt-setup/services-select multiselect security d-i apt-setup/security_host string security.debian.org tasksel tasksel/first multiselect none d-i pkgsel/include string openssh-server less htop vim pidgin lsb-release zip unzip ubuntu-desktop mate-desktop-environment mate-desktop-environment-extras build-essential rsh-server rsync lightdm eclipse thunderbird rdesktop qpdf subversion git synergy libreoffice mysql-workbench ntpdate d-i pkgsel/upgrade select full-upgrade popularity-contest popularity-contest/participate boolean false d-i grub-installer/only_debian boolean true d-i finish-install/reboot_in_progress note
Eu acho que minha pergunta é como eu passo o arquivo preseed para o pxelinux corretamente. Eu não acho que está sendo lido. Eu coloquei a linguagem em fr e nem a peguei.
Qual é a sintaxe adequada para o pxelinux.cfg / para ele analisar o arquivo preseed do debian-installer? update w / Ans: use url="http: //webserver/preseed.cfg" no arquivo pxelinux.cfg
Muito obrigado,