[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

x86 EFI handling



I realise this has come up before (e.g.
http://lists.debian.org/debian-boot/2007/12/msg00201.html), but we
seemed to get a bit bogged down in the CD side of things and I don't
think we ever actually sorted out the core installer problems with x86
EFI.

These actually aren't too significant as far as I can see, and while I
suspect completely working images might be a way off yet I would like to
unblock at least the bits I know about.  Does anyone object to the
following plan:

  * Add EFI as a subarchitecture of i386 and amd64 in
    libdebian-installer.  This is a SMOP; I should be getting ssh access
    to an appropriate machine soonish to sort out the details, but I
    don't expect any particular complication.

    Rationale for being a subarchitecture: it boots in a completely
    different way, and that's pretty much what being a d-i
    subarchitecture means.

    Rationale for remaining distinct from the existing "mac"
    subarchitecture: Apple's EFI implementation has a number of quirks
    that qualify it for separate handling (e.g. slightly weird
    partitioning, different boot loader handling at least historically),
    and it's easiest to detect these in libdebian-installer where we can
    easily and space-efficiently get at DMI information.  Having to say
    "i386/efi|amd64/efi|i386/mac|amd64/mac)" in a handful of case
    statements is better than having to pull dmidecode into d-i for when
    we do need to tell the difference.

  * Extend partman-auto to have a recipes-i386-efi directory (and a
    symlink, recipes-amd64-efi).  These recipes would create an EFI
    system partition, like recipes-ia64, rather than biosgrub and /boot
    partitions.

I'm sure there'll be other quirks (apparently sometimes you have to do
weird things with NVRAM by hand; way to step forward to the 1980s,
guys!), but these changes would be quite simple and might at least get
us to the point where people who know more about that kind of this thing
can carry on.

I'm also trying to find out if it's possible to detect whether the
firmware is 64-bit and if so automatically use grub-efi-amd64, rather
than needing to know you have to install a version of Debian with the
exact same bitness as your firmware.

-- 
Colin Watson                                       [cjwatson@debian.org]


Reply to: