debian-installer for mac
hello d-i team members, i noticed there is probably an area for
improvement regarding getting bullseye to boot correctly on a mac.
(mac-mini 2012 in my case --- which has intel x86)
I discovered where the problem was for my particular case and the fix
was relatively simple.
Basically all I did was take one of the official bullseye installer
iso's and gave it a GPT-header.
The problem with working with a DOS-mbr iso (and placing it on a usb
stick with "cat [bullseye].iso > /dev/[usb]), is that the Apple UEFI
firmware is not seen fully with any debian boot-loader from install.
*** I also want to avoid using any gptsync or "hybrid" DOSMBR+GPT ***
I tested two methods so that the bullseye installer can boot from a
- The problem is none of the debian iso installers can boot into
UEFI-mode on this mac. (mac-mini 2012 -- intel)
- Provide some tool/mechanism so that an iso image can be placed onto
a GPT-tabled usb device -- and the mac is then able to boot correctly in
(no dangerous hybrid DOSMBR+GPT tasks are needed and this is a big plus)
The two methods I used to test having the bullseye installer boot
successfully in UEFI-mode::
Use Rufus on windows.
This was simple enough. Tell Rufus to use the iso, but then select "GPT"
as the partition type. By default it will use a FAT32 partition with it.
This works, and any normal user can do this. (but it isn't largely
documented -- and I suppose there may be another simple front-end that
can also do this -- but Windows is not my general workstation system so
I wouldn't know of any other)
Extract EFI files from the iso image, and "dump" (with dd or cat
command), the "partition" containing the ISO9660 filesystem.
^ this was done using a number of commands with losetup, and other
command partitioning tools. Could be done completely without any other
tool than gdisk, cfdisk, sfdisk, losetup, cp and "dd" (or cat), mount,
The work is more tedious and difficult but it is merely creating a
partition large enough to contain the original iso9660 filesystem.
I have used "gdisk /dev/[usb]", "x", followed by "z" to zap any MBR and
GPT partition tables (since there can be a lingering "backup" GPT table
at the end of the disk)..
I then proceeded to create one EFI partition of 3 megabytes, and one
partition of 480 megabytes.
I used mkfs.vfat for the efi partition, and marked the 480MB partition
with the partition GUID of "4f68bce3-e8cd-4db1-96e7-fbcaf984b709". This
GUID is more for aesthetics, and I suppose one might as well use
"8483-4772-8e79-3d69d8477de4" as a choice for the GUID type as it is
described as "Other Data Partitions"..
note: I did not use the mac iso, but another from bullseye installer iso
that contained an EFI section as the mac iso doesn't have this.
The install went flawless with the newly created GPT-enabled usb
bootdisk -- efibootmgr shows debian got set as the first os..
Since the fix was relatively simple, I thought it might be a good idea
to feedback on this because there's a few people I think who have to
manage the more dangerous task of keeping up to date the hybrid DOSMBR+GPT.
Booting the debian installer in UEFI-mode is relatively simple, just
need to have a GPT header on the usb stick, and that was pretty much it.
hope this helps for anyone wanting to avoid having to deal with the
dangerous hybrid dosmbr+gpt setup as much documentation suggests, but
this can be easily avoided with something like rufus, or if the d -i
team cares much about fixing this relatively simple issue for many other
users trying debian on their mactels.
please support gpt headers for usb install devices, as you can see it is
not at all that difficult.