帮助使用具有多个分区方案的 Ubuntu 1604 pressed.cfg

帮助使用具有多个分区方案的 Ubuntu 1604 pressed.cfg

嗨,我正在尝试使用打包程序和 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

它现在创建了我想要的分区。

相关内容