partman 如何在 Debian 安装程序预置文件中对多个磁盘进行分区?

Pet*_*ake 5 debian partitioning debian-squeeze preseed

将 partman 分区为单个磁盘很容易:

d-i partman-auto/disk string /dev/xvda
d-i partman-auto/method string regular
d-i partman-auto/expert_recipe string \
      boot-swap :: \
        2048 2048 -1 ext3 \
           $primary{ } \
           $bootable{ } \
           method{ format } \
           format{ } \
           use_filesystem{ } \
           filesystem{ ext3 } \
           mountpoint{ / } \
           device{ /dev/xvda } \
           . \
Run Code Online (Sandbox Code Playgroud)

或者更简单的:

d-i partman-auto/disk string xvda
d-i partman-auto/method string regular
d-i partman-auto/choose_recipe select atomic
Run Code Online (Sandbox Code Playgroud)

但是有多个磁盘,我找到或编写的食谱都没有。安装程序进入要求分区方法的屏幕,然后停在那里。我以为我已经在这里回答了这个问题:

# The presently available methods are:
# - regular: use the usual partition types for your architecture
# - lvm:     use LVM to partition the disk
# - crypto:  use LVM within an encrypted partition
d-i partman-auto/method string regular
Run Code Online (Sandbox Code Playgroud)

即使这确实回答了问题并且实际上卡在了下一点,选择磁盘,这不是回答了吗?

d-i partman-auto/disk string /dev/xvda
Run Code Online (Sandbox Code Playgroud)

我的目标是最终得到三个磁盘:/dev/xvda 上的 root,包括 /home、/usr 和其余的;/dev/xvdb 上的额外交换卷;和 /dev/xvdc 上的 EXT3 卷,安装在 /var/build 上。只是为了让事情变得更加复杂, /var/build 在安装时不存在,因此它也需要以某种方式进行制作。这是在 Debian Squeeze 上。

Mik*_*fro 3

我还没有在挤压上尝试过这个,但我为蚀刻所做的应该仍然有效。未经测试:

d-i preseed/late_command string echo ';' | sfdisk /dev/xvdb ; mkswap /dev/xvdb1 ;
    echo '/dev/sdb1 none swap sw 0 0' >> /target/etc/fstab ;
    echo ';' | sfdisk /dev/xvdb ; mke2fs -j -q /dev/xvdb1 ;
    mkdir /target/var/build ;
    echo '/dev/xvdb1 /var/build ext3 defaults 0 2' >> /target/etc/fstab
Run Code Online (Sandbox Code Playgroud)

我必须挖掘出我发现这一sfdisk技巧的参考资料——它基本上会清除磁盘的分区表并创建一个巨大的分区。