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

Re: [debian-cd] The trixie 13.0 installer ISO does not boot on a x86-64-v1 MacMini 2010 (FIX)



Hello

I created a custom USB stick with the contents of the Debian 13 ISO [1] and the GRUB-EFI bootloader from Debian 12 [2].
I was able to use this to install Debian 13 in my old Mac Mini 2010 [3].

I inspected the partition layout from the installer ISO with losetup and fdisk:

root@VEFR-1:~/Downloads# ls -l debian-13.0.0-amd64-netinst.iso
-rwxr-xr-x 1 tonejito users 790626304 Aug 9 23:54 debian-13.0.0-amd64-netinst.iso

root@VEFR-1:~/Downloads# losetup -f debian-13.0.0-amd64-netinst.iso

root@VEFR-1:~# fdisk -l /dev/loop0
Disk /dev/loop0: 754 MiB, 790626304 bytes, 1544192 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x4f2c5af7

Device       Boot Start     End Sectors  Size Id Type
/dev/loop0p1 *        0 1544191 1544192  754M  0 Empty
/dev/loop0p2       4108   11307    7200  3.5M ef EFI (FAT-12/16/32)

root@VEFR-1:~# losetup -d /dev/loop0


Then I created a partition for the Debian 13 ISO image on a USB drive, and a second EFI partition for the GRUB-EFI boot loader from Debian 12 [2]:

root@VEFR-1:~# fdisk -l /dev/sdb
Disk /dev/sdb: 29.49 GiB, 31666995200 bytes, 61849600 sectors
Disk model: USB Flash Drive
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 6C792302-0CC0-4BA4-A713-6B5ACEB7DC24

Device       Start     End Sectors  Size Type
/dev/sdb1     2048 1546239 1544192  754M Microsoft basic data
/dev/sdb2  1546240 1955839  409600  200M EFI System

root@VEFR-1:~# gdisk -l /dev/sdb
GPT fdisk (gdisk) version 1.0.9

Partition table scan:
  MBR: protective
  BSD: not present
  APM: not present
  GPT: present

Found valid GPT with protective MBR; using GPT.
Disk /dev/sdb: 61849600 sectors, 29.5 GiB
Model: USB Flash Drive
Sector size (logical/physical): 512/512 bytes
Disk identifier (GUID): 8887B11F-FFBD-4101-BAE6-4B929F249814
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 61849566
Partitions will be aligned on 2048-sector boundaries
Total free space is 59895741 sectors (28.6 GiB)

Number  Start (sector)    End (sector)  Size       Code  Name
1 2048 1546239 754.0 MiB 0700 Microsoft basic data 2 1546240 1955839 200.0 MiB EF00 EFI system partition

root@VEFR-1:~# eject /dev/sdb


I unplugged and connected the USB drive again to confirm that the kernel reads the partitions.
Then I copied the entire ISO to /dev/sdb1:

root@VEFR-1:~# dd if=/dev/loop0 of=/dev/sdb1 bs=512 count=1544192 status=progress
787440128 bytes (787 MB, 751 MiB) copied, 171 s, 4.6 MB/s
1544192+0 records in
1544192+0 records out
790626304 bytes (791 MB, 754 MiB) copied, 178.257 s, 4.4 MB/s


Afterwards, I created an EFI partition, manuallt mounted it on /mnt, and copied the GRUB-EFI bootloader from my Debian 12 laptop [2]:

root@VEFR-1:~# mkfs.vfat -F 32 -n EFI /dev/sdb2
mkfs.fat 4.2 (2021-01-31)

root@VEFR-1:~# mount -t vfat /dev/sdb2 /mnt/

root@VEFR-1:~# mkdir -vp /mnt/EFI/boot /mnt/EFI/debian
mkdir: created directory '/mnt/EFI'
mkdir: created directory '/mnt/EFI/boot'
mkdir: created directory '/mnt/EFI/debian'

root@VEFR-1:~# cp -v /boot/efi/EFI/debian/grubx64.efi /mnt/EFI/boot/
'/boot/efi/EFI/debian/grubx64.efi' -> '/mnt/EFI/boot/grubx64.efi'

root@VEFR-1:~# cp -v /boot/efi/EFI/debian/shimx64.efi /mnt/EFI/boot/bootx64.efi
'/boot/efi/EFI/debian/shimx64.efi' -> '/mnt/EFI/boot/bootx64.efi'


The only remaning part was to copy the GRUB configuration file from the installer ISO to the USB drive, I had a burned DVD mounted on /media/cdrom0:

root@VEFR-1:~# cp -v /media/cdrom0/EFI/debian/grub.cfg /mnt/EFI/debian/
'/media/cdrom0/EFI/debian/grub.cfg' -> '/mnt/EFI/debian/grub.cfg'


This is the end result

root@VEFR-1:~# find /mnt/ -type f
/mnt/EFI/boot/bootx64.efi	# From my Debian 12 laptop
/mnt/EFI/boot/grubx64.efi	# From my Debian 12 laptop
/mnt/EFI/debian/grub.cfg	# From the Debian 13 installer ISO


This worked for me, I was able to boot my old Mac Mini 2010 [3] and install Debian 13 without issues [4].

This issue might be fixed in the next Debian 13 installer ISO if we provide a GRUB-EFI bootloader compatible with x86-64-v1 machines. It seems that the GRUB-EFI bootloader that is present in the current Debian 13.0 installer ISO does not work with these old machines (see my previous email) [5].

Regards

--
	Andrés Hernández
	= ^ . ^ =

[1]: https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-13.0.0-amd64-netinst.iso
[2]: https://packages.debian.org/bookworm/grub-efi-amd64
[3]: https://everymac.com/systems/apple/mac_mini/specs/mac-mini-core-2-duo-2.4-mid-2010-specs.html
[4]: https://www.twitch.tv/videos/2537064157?X=Debian-13-MacMini-2010-002
[5]: https://lists.debian.org/debian-cd/2025/08/msg00008.html


On 10/08/25 12:03, Andrés Hernández wrote:
Hello

I went to the debian-cd download page [1], downloaded the Debian 13 (trixie) netinst ISO image [2] and burned it to a DVD-RW disc to perform a clean install in my old MacMini mid-2010 (Macmini4,1) that has a very old Intel Core 2 Duo P8600 processor which only supports the x86-64-v1 subarchitecture [3].

The result that I expected was the installer to boot using EFI and then I would be able to install Debian 13 (trixie) as usual. I have this machine running Debian 12 (bookworm) without issue. Although the option for EFI boot was detected I was not able to boot the installer into EFI mode, I got a blank screen even after leaving the machine sitting for half an hour.

I went ahead and rebooted the machine into BIOS mode (the CD icon appears with "Windows" in the MacMini boot options screen) and then I was able to install Debian 13. I created the EFI partition but the installer did not perform the EFI installation because I booted into BIOS mode (this is expected).

The end result is that the installer finished and I could not boot into the new installation because the EFI partition was not initialized correctly because I installed in BIOS mode. I fixed this by attaching the disk to other MacMini that I have around and copying my EFI partition contents with the GRUB files, then chrooting into the install and replacing grub-pc with grub-efi. This is just a workaround test that I did to see if any further issues were also happening. [4]

I feel that the technical issue is that the GRUB EFI boot loader that the Debian 13.0 ISO was compiled for the x86-64-v2 subarchitecture. I saw the following in the "ArchitectureSpecificsMemo" wiki page [5] related to the sub-architectures for amd64 (also known as x86_64):

 > ArchitectureSpecificsMemo
 > …
> Each Debian architecture has a baseline indicating the oldest or least capable CPU on which the architecture can be used.
 > The baseline can change between Debian releases.
> The baseline is mostly defined by the gcc-N package, which is configured to produce baseline binaries when options like -march= are not used.
 > …
 >   amd64
 >     x86_64 with no optional extensions (psABI baseline).
>     The core specification includes MMX, SSE and SSE2 so these are OK, but SSE3 and up are not guaranteed.
 >     (The default is -march=x86-64, but not -march=x86-64-v2 or later.)

I have had a similar issue with install ISO images not booting on old machines that do not support the x86-64-v2 architecture or newer. One example of this is Proxmox that dropped x86-64-v1 on the 8.x release, I have the exact same symptoms happening with their install ISO on this machine.

I went ahead and booted the exact same Debian 13 DVD-RW on a sightly newer MacMini 2011 (Macmini5,1) [6] that I have around here that does support x86-64-v2 and the installer booted without issues in EFI mode.

Maybe we need to replace the GRUB EFI image that is present in the Debian 13 installer ISO to be compatible with older x86-64-v1 machines according to [5].

NOTE
  This is my first bug report, I am not sure if I should format this using "reportbug" [7] or send this to other mailing list.

Thanks in advance
--
     Andrés Hernández
     = ^ . ^ =

 > [1]: https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/
> [2]: https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/ debian-13.0.0-amd64-netinst.iso > [3]: https://everymac.com/systems/apple/mac_mini/specs/mac-mini- core-2-duo-2.4-mid-2010-specs.html > [4]: https://www.twitch.tv/videos/2536210400?X=Debian-13- MacMini-2010-001
 > [5]: https://wiki.debian.org/ArchitectureSpecificsMemo
> [6]: https://everymac.com/systems/apple/mac_mini/specs/mac-mini-core- i5-2.3-mid-2011-specs.html
 > [7]: https://www.debian.org/Bugs/Reporting




Reply to: