嗨,我正在尝试使用打包程序和 pressed.cfg 文件来自动化我的 ubuntu 安装。对于生成的 VM,我希望我的文件系统在 sda1 上有 /boot,其余的都在 sda2 上。例如
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
我正在使用以下 pressed.cfg 文件 di debian-installer/locale 字符串 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
当我运行安装程序时,我得到了以下文件系统设置。文件系统大小已用可用使用率%安装在/dev/root 30G 9.8G 20G 34% / .... /dev/sda1 114M 32M 74M 30% /boot tmpfs 394M 0 394M 0% /run/user/0
我遗漏了什么导致文件系统的其余部分位于 /dev/root 上?
此外,在安装过程中,它会手动提示无法安装 linux-generic 包。确切的错误消息:无法安装选定的内核。将 Linux 内核安装到目标系统时发生错误。内核包:linux-generic。
它说要查看 syslog,但不确定如何在安装过程中找到它。为了继续,我最终选择了“initrd”> 通用包括所有可用驱动程序。该提示说“initrd 的主要功能是允许内核挂载根文件系统”
我需要做什么才能摆脱这个提示?
更新:我摆脱了手动提示。问题是我的启动分区最小大小太小。当我增加到 100 MB 时,它就起作用了。
有效的 parted 配置:
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{ } \
.
现在,当安装完成时,我会在已挂载的文件系统中看到以下内容:
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
仍然不确定为什么文件系统的其余部分在 /dev/sda5 上而不是 /dev/sda2 上。
磁盘输出:
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
不确定扩展分区来自哪里。有什么办法可以删除它吗?
答案1
以下配置对我有用:
d-i partman-auto/expert_recipe string \
boot-root :: \
200 50 300 ext4 \
$primary{ } $bootable{ } \
method{ format } format{ } \
use_filesystem{ } filesystem{ ext4 } \
mountpoint{ /boot } \
. \
500 10000 4096 ext4 \
$primary{ } \
method{ format } format{ } \
use_filesystem{ } filesystem{ ext4 } \
mountpoint{ / } \
. \
d-i partman-auto/choose_recipe select boot-root
它现在创建了我想要的分区。