Oi eu estou tentando automatizar minha instalação do Ubuntu usando packer e um arquivo pressed.cfg. Para a VM resultante, quero que meu sistema de arquivos tenha / boot em sda1 e descanse tudo em sda2.
Por exemplo,
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 30G 9.8G 20G 34% /
....
/dev/sda1 114M 32M 74M 30% /boot
tmpfs 394M 0 394M 0% /run/user/0
Estou usando o seguinte arquivo pressed.cfg
d-i debian-installer / locale string en_US
d-i console-setup/ask_detect boolean false
d-i keyboard-configuration/xkb-keymap select us
d-i netcfg/get_hostname string *****
d-i netcfg/get_domain string *****
# Disable that annoying WEP key dialog.
d-i netcfg/wireless_wep string
d-i mirror/http/mirror select us.archive.ubuntu.com
choose-mirror-bin mirror/http/proxy string
d-i passwd/root-password password ********
d-i passwd/root-password-again password ********
d-i passwd/user-fullname string ***** Base
d-i passwd/username string *****
d-i passwd/user-password password *****
d-i passwd/user-password-again password *****
d-i user-setup/encrypt-home boolean false
d-i clock-setup/utc boolean true
d-i time/zone string UTC
d-i clock-setup/ntp boolean true
### Partitioning
d-i partman-auto/disk string /dev/sda
d-i partman-auto/method string regular
d-i partman-lvm/device_remove_lvm boolean true
d-i partman-md/device_remove_md boolean true
d-i partman/default_filesystem string ext4
d-i partman-auto/expert_recipe string \
boot-root :: \
40 50 100 ext4 \
$primary{ } $bootable{ } \
method{ format } format{ } \
use_filesystem{ } filesystem{ ext4 } \
mountpoint{ /boot } \
. \
500 10000 1000000000 ext4 \
method{ format } format{ } \
use_filesystem{ } filesystem{ ext4 } \
mountpoint{ / } \
. \
64 512 300% linux-swap \
method{ swap } format{ } \
.
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 standard, ubuntu-server
d-i pkgsel/include string openssh-server build-essential
d-i pkgsel/update-policy select unattended-upgrades
d-i grub-installer/only_debian boolean true
d-i grub-installer/with_other_os boolean true
d-i finish-install/reboot_in_progress note
d-i preseed/late_command string \
sed -i -e 's/^#\?PasswordAuthentication.*/PasswordAuthentication yes/g' /target/etc/ssh/sshd_config;\
sed -i -e 's/^#\?PermitRootLogin.*/PermitRootLogin yes/g' /target/etc/ssh/sshd_config;\
sed -i 's/^GRUB_HIDDEN_TIMEOUT=0/GRUB_HIDDEN_TIMEOUT=5/' /target/etc/default/grub ;\
sed -i 's/^GRUB_HIDDEN_TIMEOUT_QUIET=true/GRUB_HIDDEN_TIMEOUT_QUIET=false/' /target/etc/default/grub
Quando executo a instalação, recebo a seguinte configuração do sistema de arquivos.
Tamanho do sistema de arquivos usado Uso de disponibilidade% montado em
/ dev / root 30G 9.8G 20G 34% /
....
/ dev / sda1 114M 32M 74M 30% / boot
tmpfs 394M 0 394M 0% / run / user / 0
O que estou perdendo fazendo com que o restante do sistema de arquivos esteja em / dev / root?
Além disso, durante a instalação, é exibido um prompt manual que falhou ao instalar o pacote linux-generic. Mensagem de erro exata:
Não é possível instalar o kernel selecionado. Ocorreu um erro ao instalar o Kernel do Linux no sistema de destino. Pacote do kernel: linux-genérico.
Ele diz para ver o syslog, mas não sabe como posso chegar lá durante a instalação.
E para avançar, acabei por seleccionar "initrd" > genérico incluem todos os drivers disponíveis.
Esse prompt diz que "a função primária do initrd é permitir que o kernel monte o sistema de arquivos raiz"
O que preciso fazer para me livrar desse aviso?
Atualização:
Eu me livrei do prompt manual. O problema era que o tamanho mínimo da minha partição de inicialização era pequeno. Quando eu aumentei para 100 megas, funcionou.
parted config que funcionou:
d-i partman-auto/expert_recipe string \
boot-root :: \
100 50 200 ext4 \
$primary{ } $bootable{ } \
method{ format } format{ } \
use_filesystem{ } filesystem{ ext4 } \
mountpoint{ /boot } \
. \
500 10000 1000000000 ext4 \
method{ format } format{ } \
use_filesystem{ } filesystem{ ext4 } \
label{ /dev/sda2 } \
mountpoint{ / } \
. \
64 512 300% linux-swap \
method{ swap } format{ } \
.
Agora, quando a instalação terminar, vejo os seguintes sistemas de arquivos montados:
df -h
Filesystem Size Used Avail Use% Mounted on
udev 983M 0 983M 0% /dev
tmpfs 201M 3.2M 197M 2% /run
/dev/sda5 9.2G 1.5G 7.3G 17% /
tmpfs 1001M 0 1001M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 1001M 0 1001M 0% /sys/fs/cgroup
/dev/sda1 88M 52M 29M 65% /boot
tmpfs 201M 0 201M 0% /run/user/1000
Ainda não tenho certeza porque o restante do sistema de arquivos está em / dev / sda5 e não em / dev / sda2.
Saída de disco:
Disk /dev/sda: 10 GiB, 10737418240 bytes, 20971520 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x37673233
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 194559 192512 94M 83 Linux
/dev/sda2 196606 20969471 20772866 9.9G 5 Extended
/dev/sda5 196608 20049919 19853312 9.5G 83 Linux
/dev/sda6 20051968 20969471 917504 448M 82 Linux swap / Solaris
Não tenho certeza de onde vem essa partição estendida. Qualquer maneira de se livrar disso?