Preseeding debian install - EFI

12,017

I'm exactly at this point now, recording manual installation from PXE netboot to the UEFI VMWare system to extract right answers for preseed with debconf-get-selections --installer. What I see in the resulting file is:

partman-auto    partman-auto/choose_recipe      select  /lib/partman/recipes-amd64-efi/30atomic
partman-base    partman/default_filesystem      string  ext4

The content of which should give you the hint how to master your receipt:

partman-auto/text/atomic_scheme ::

538 538 1075 free
    $iflabel{ gpt }
    $reusemethod{ }
    method{ efi }
    format{ } .

128 512 256 ext2
    $defaultignore{ }
    method{ format }
    format{ }
    use_filesystem{ }
    filesystem{ ext2 }
    mountpoint{ /boot } .

500 10000 -1 $default_filesystem
    $lvmok{ }
    method{ format }
    format{ }
    use_filesystem{ }
    $default_filesystem{ }
    mountpoint{ / } .

100% 512 200% linux-swap
    $lvmok{ }
    $reusemethod{ }
    method{ swap }
    format{ } .

Based on that and as I'm using partman/early_command to generate appropriate layout for the given machine, I've scripted:

if [ -d "/sys/firmware/efi/" ]; then
    debconf-set "partman-auto/expert_recipe" "$(
        echo -n '600 600 1075 free $iflabel{ gpt } $reusemethod{ } method{ efi } format{ } . '
        echo -n '128 512 256 ext2 $defaultignore{ } method{ format } format{ } use_filesystem{ } filesystem{ ext2 } mountpoint{ /boot } . '
        echo -n '9216 2000 -1 $default_filesystem $lvmok{ } method{ format } format{ } use_filesystem{ } $default_filesystem{ } mountpoint{ / } .'
    )"
fi

And as a result got automagically:

# parted /dev/sda print free
Model: VMware Virtual disk (scsi)
Disk /dev/sda: 10.7GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:

Number  Start   End     Size    File system  Name  Flags
        17.4kB  1049kB  1031kB  Free Space
 1      1049kB  600MB   599MB   fat32              boot, esp
 2      600MB   10.7GB  10.1GB  ext4
        10.7GB  10.7GB  1032kB  Free Space
Share:
12,017

Related videos on Youtube

Antho
Author by

Antho

Updated on September 18, 2022

Comments

  • Antho
    Antho over 1 year

    The EFI partition is formatted in ext4 during the setup of debian.

    I am trying to preseed the install of debian jessie and I can't get it working since the UEFI partition is formatted in ext4 (got information with blkid).

    My preseed for partitionning is the following:

    d-i partman-auto/expert_recipe string                        \
     boot-root ::                                               \
             1 1 1 free                                      \
                     $gptonly{ }                             \
                     $primary{ }                             \
                     $bios_boot{ }                           \
                     method{ biosgrub }                      \
             .                                               \
             512 100 512 vfat                                \
                     $gptonly{ }                             \
                     $primary{ }                             \
                     method{ efi }                           \
                     format{ }                               \
                     $lvmignore{ }                           \
                     mountpoint{ /boot/efi }                 \
             .                                               \
             ...
             .
    

    And I get the following error: "Failed to mount vfat filesystem on /boot/efi"

    Of course, its an ext4 fs...!

    Could anybody help?

    • Michael Hampton
      Michael Hampton over 8 years
      /boot/efi is meant to be vfat, not ext4!
    • Antho
      Antho over 8 years
      Well, I do know but I can't get it formatted in vfat... I just figured out that the mkfs.vfat is missing in the setup shell from debian. Any idea?
    • Tombart
      Tombart over 4 years
      apt install dosfstools then something like mkfs.vfat -F32 /dev/sda1