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

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 usb-stick.
(((
Problem::
- The problem is none of the debian iso installers can boot into UEFI-mode on this mac. (mac-mini 2012 -- intel)

Solution::
- 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 UEFI-mode.

(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::

Method 1)
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)

Method 2)
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, and mkfs.vfat.

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.

thanks


Reply to: