- Package:
- debian-installer
- Source:
- debian-installer
- Description:
- Debian Installer documentation
- Submitter:
- Teemu Ikonen
- Date:
- 2015-09-13 10:51:08 UTC
- Severity:
- normal
Hi, I recently installed jessie on a 2007 intel Macbook by booting d-i from a USB drive. Getting the installer to start required quite a bit of hand tuning. The Macbook versions Macbook1,1 and Macbook2,1 from 2006-2007 require a 32-bit EFI bootloader and thus do not work with amd64 version of d-i. On the other hand, the i386 hd-media/boot.img.gz image only works with BIOS systems. I got the installer running by manually installing GRUB (the i386-efi version) to a USB drive with an MBR partition table and a FAT32 filesystem, copying grub.conf from the amd64 netboot ISO image and copying the kernel image and initrd from the i386 netboot image. This procedure is straightforward, but requires an existing linux computer and probably does not win any usability awards. The straightforward fix would be to install both syslinux and GRUB to the hd-media image, as they seem to be able to coexist without problem. If this is for some reason not possible, then the procedure to get i386 EFI systems booting should be at least documented on the Installation guide, somewhere around chapter 4.3.3.1. Best, Teemu
[ CCing debian-kernel@lists.debian.org for some more insights ] Teemu Ikonen <tpikonen@gmail.com> writes: Are you sure they don't run amd64 code? From what I've found on the web these two models have Intel Core Duo and Core 2 Duo processors. Early Intel based Macs have a 32bit EFI but perfectly run 64 bit code AFAIK. Earlier kernels (before 3.4 IIRC) are not capable of crossefi booting (different kernel arch than EFI arch), but that should not be a problem on jessie's 3.16 kernel. What you however need is a 32bit grub EFI image because your EFI environment is 32bit. Can you test if you can boot the 64bit kernel and initrd from the amd64 image with this procedure (using the 32bit grub-efi)? I know this works the other way around (64bit grub and EFI booting into a 32 bit kernel) but never tested the 32bit to 64bit kernel case. EFI 32bit and 64bit and BIOS images of grub can all coexist on the same installation media. IMO it would make sense to install all of them to the 32bit and 64bit x86 images. Gaudenz
AFAIK Core Duo is 32-bit and Core 2 Duo (which I am testing with) is 64-bit. I made a USB stick with 32-bit EFI grub and kernel and initrd copied from amd64 netboot ISO. Grub naturally works ok, and interestingly, even the kernel boots but it does not find a working init. I'm not sure if the amd64 init can be made to work with this machine, but of course it would be nice to be able to install 64-bit Debian to this computer. This would be the ideal solution. The 32-bit EFI Macs have a somewhat strange firmware though and only seem to work when the bootloader is installed as /EFI/BOOT/BOOTIA32.EFI. Adding the --removable flag to grub-install produces a working grub installation, also when grub is installed to the EFI partition of the hard drive. Best, Teemu
Ah, of course I mixed the kernel from amd64 and init from i386. With the correct combination (both from amd64 mini.iso) and 32-bit EFI grub the 64-bit installer starts fine. Sorry for the noise, Teemu
I'm working on two different UEFI setup things right now that will make these machines work better - see http://blog.einval.com/2014/11/20#Jessie-EFI I'm almost done with #746662, just testing now (forcing also installing grub to the removable media path). Next up is the "force using a 32-bit UEFI version og grub even for 64-bit systems" (#768461) Hopefully a combination of these 2 fixes will make your system work out of the box...
retitle 768461 Please add UEFI boot files to i386 and amd64 netboot images severity 768461 normal tags 768461 patch thanks I recently had to reinstall jessie to my MacBook2,1 and found that the Debian 8.2 i386 netinst image now works out of the box even with the strange EFI implementation in this box. Many thanks to Steve McIntyre for making this work, yay! In general I like to do my installations with the netboot images, since the 28 M image is sure to fit any USB stick which happens to be at hand. It would be super-duper if the 32-bit and 64-bit EFI boot files could also be added to these images, so that they too would start to work like magic. For old intel MacBooks the EFI boot file needs to be in the removable path, i.e. efi/boot/bootia32.efi [I added the patch tag because the fix to this bug is known and trivial, no patch attached though] Best, Teemu
Control: tags -1 -patch http://ftp.uk.debian.org/debian/dists/jessie/main/installer-amd64/current/images/netboot/mini.iso or something else? No patch, so removed, whether the fix is known or trivial in principal an actual patch which actually does the required thing is what needs to be produced. I'm not actually 100% clear what you are asking for. Given the above mini.iso I have in the ESP: $ isoinfo -x /boot/grub/efi.img -RJ -i mini.iso-sid > efi.img $ mdir -i efi.img -/ -b ::/efi/ ::/efi/boot/ ::/efi/boot/bootx64.efi and $ isoinfo -f -RJ -i mini.iso-sid shows lots of stuff in /boot/grub/x86_64-efi of the main image, all of which I believe is sufficient to boot on a 64-bit EFI system. The i386 version of mini.iso instead has bootia32.efi in the ESP and /boot/grub/i386-efi on the main ISO. So either this isn't working for you or the request you are making is for something else in addition. Ian.
Hi Ian, Yes, that's the one, although I've tested with the i386 image. The latest mini.iso netboot image is not booting on my Macbook2,1 but the official Debian 8.2 netinst image (315 MB) does. The USB-sticks I've managed to boot in this machine all have had the file efi/boot/bootia32.efi on the single partition they've had, either a vfat partition prepared by grub-install or a is9660 filesystem copied from the installer image. That's also the case with the 8.2 netinst image: $ 7z l debian-8.2.0-i386-netinst.iso | grep bootia 2015-09-06 12:00:44 ..... 272384 272384 efi/boot/bootia32.efi This file is not present in the netboot mini.iso. The EFI implementation on old intel Macbooks is probably broken in several ways, but to me it looks like the fix is easy, known, and takes all of 272384 bytes in the installation image. But you are right, the patch is not there yet. Best, Teemu
It is present in the ESP (efi.img within the iso image), which is pointed to be (AIUI) the El Torito headers in the ISO. Perhaps there are some systems for which this is not sufficient? The fact that it is easy to describe in prose what needs to happen does not mean that it is actually easy to implement I'm afraid. Ian.