Problem – MacPro 1,1 is 32-bit EFI while having 64-bit architecture. There are other ways to boot that bypass EFI mode, but – booting in EFI mode on MacPro 1,1 allows for 2 more SATA ports (located on motherboard).
To run a live Ubuntu 18.04.1 USB on MacPro 1,1, one needs to add a 32-bit EFI boot loader, here is how to do it:
Make a bootable USB with Startup Disk Creator on Ubuntu
Download Ubuntu 18.04.1 iso and use Ubuntu “Startup Disk Creator” or see “Making a bootable USB manually” below. You can try booting from this drive, but it won’t work.
Use fdisk to delete EFI partition and create a new, larger EFI partition
Kernel and initrd would have to be present on EFI partition, so we need to delete existing EFI partition that is too small, and make larger one:
$ sudo fdisk /dev/sdb d (delete) 2 (partition 2) n (new) 2 primary t (change type) 2 (partition 2) ef (efi) p (print the resuts) w (write and exit) or q to cancel $ sudo mkfs -t vfat /dev/sdb2 (eject and reinsert)
Copy grub, kernel+initrz and create a config file
Use “Disks” app in Ubuntu to mount EFI partition (it won’t mount automatically upon USB drive insertion, just select the partition and click little triangle “play” icon).
Create folders /efi/boot and /boot/grub on EFI partition
Put a Grub2 bootia32.efi file, taken for example from github to /efi/boot.
Copy vmlinuz (kernel) and initrd.lz (initial ramdisk) from Ubuntu iso /casper folder to /boot/grub
run blkid and note PARTUUID for sdb1 (your first USB partition with Ubuntu Live USB)
Create a text file “grub.cfg” with the following contents, replacing string after PARTUUID= with your PARTUUID above:
menuentry "Linux" { fakebios linux /boot/grub/vmlinuz file=/cdrom/preseed/ubuntu.seed root=PARTUUID=D3D50768-F8DC-4FCA-B9E8-23570817D322 boot=casper priority=low vga=normal video=efifb noefi initrd /boot/grub/initrd.lz }
Previously, noefi parameter was required in linux line, but this does not seem to be the case anymore.
Boot, hold Alt key, select second EFI boot icon, the first one is trying to boot from CDROM partition. Be patient, it would take couple of minutes looking at blank screen for kernel to boot.
Finishing touches
As soon as possible, install and enable Mac Fan control daemon to avoid CPU and RAM thermal shutdown:
wget http://launchpadlibrarian.net/363285681/macfanctld_0.6+repack1-1build1_amd64.deb sudo apt install ./macfanctld_0.6+repack1-1build1_amd64.deb
install SSH:
sudo apt update sudo apt install ssh passwd ubuntu
Making a bootable USB manually
- Create a GPT parition table, using gparted, for example
- Add an ext-4 volume, e.g. 3GB, copy all files from Ubuntu LiveCD ISO
- Add a 500M vfat volume, change its type to EFI, follow the instructions above
I still need to have noefi present with 18.04.2 Server, otherwise I have black screen. This is with the original Nvidia 7300GT that I believe does have EFI ROM on board.
I haven’t tried with other GPUs.
After holding ALT only one EFI boot shows up and I am unable to select it. Any ideas on what could be wrong?
EFI drive must be FAT, must have EFI partition type, and must have bootable flag – try these settings and see if it helps
I am trying to do this with ubuntu 18.04.04, following sergey’s suggestions.
I tried both methods.
1) Using the fdisk method, grub does not find the grub.cfg and the partitions of the USB stick do not show up, grub ls / only shows the whole disk (hd1), no (,gptX). I also noted that the PARTUUID number is much shorter, and that the partition table is not gpt, but MBR.
2) Using the manual method, grub.cfg shows up. It takes forever to boot, an initial error shows up, then the kernel tries to load and gets stuck with the “Cannot open root device “PARTUUID=xxxxxxxxx” or unknown-block(0,0): error -6. I double-checked the PARTUUID, it is correct. Both partitions show up, but when trying to ls the 1st partition on the usb in grub, I get the error: unknown filesystem. This is an ext4 partition when checking on another ubuntu installation.
Any thoughts?
Andreas, I think you are close with your second approach (the boot takes forever, yup) – try inserting longer UUID from blkid output into PARTUUD= part of the kernel command parameters in your grub.cfg. I think you can ignore that grub doesn’t see the partition – its job is done the moment your kernel boots and you can start seeing dmesg output, meaning your initrd is also found and mounted – after that it’s the kernel taking over and it should be able to mount anything.
UPD – misread, you don’t actually have kernel running 🙁
Thanks for your feedback. I have a quick update and then two questions:
I was able to use the second method to get the live cd started. Now I get stuck during installation. The error message states that there is something wrong with the CD. I have tried the installation on multiple hard drives in the Mac, same result every time.
I wonder whether this has to do with a SHASUM256 check, as we are manipulating the files on the USB stick, thereby likely changing the SHASUM256 on the USB in comparison to the iso file.
The other question I had is: how were you able to create a gpt formatted USB stick using the Startup Disk Creator? It appears that it creates an MBR partition table and there is no way to change that. my MacPro 1,1 firmware will not boot off an MBR formatted disk. I tried using refind, it is recognized as a legacy boot but crashes when clicked.
Thanks again for your help!
I think I ended up partitioning a USB drive using gparted, formatting it, and copying all the installation files.
And you didn’t get the install error that the CD couldn’t be read? I guess I’ll try again…
I disconnected the CD from my 1,1 long time ago, but I had the similar issue with another install recently, which if I recall correctly, I addressed by disconnecting the CD that was in that system 🙂
Every time I install, Grub fails to install, causing a fatal error.
In the install text box ‘efibootmgr failed to register the boot entry’ is present
Jack, did you create a efi boot partition on the destination drive? If yes, then most likely you need to boot into your new installation using grub on USB and then do grub installation by hand.
http://blog.sergem.net/how-to-install-ubuntu-14-04-on-macpro-11-efi-boot-mode/
Have a look at “Booting from hard drive”. You might not need “noefi”, but it does describe how to boot manually and how to update grub.
No matter what I tried, following these instructions, or other around the internet, Grub would fail to install and the installation would quit unfinished.
However, Ubuntu 19.10 would succeed.
but post-installation, upon booting it will hang at ‘Loading initial ramdisk’
I am goint to try 19.10 server.
19.10 Server was the same as standard 19.10 with booting stuck at ‘Loading initial ramdisk’
Linux mint gave me the same result as 18.04,
‘Unable to install GRUB in /dev/sda (as superuser
Executing ‘grub-install /dev/sda’ failed
This is a fatal error.
As stated above, I have followed these guides thoroughly.
I think I am willing to accept defeat.
Just for info. The point of where the installation fails is (on both Mint and 18.04.4),
grub-installer: Installing for i386-efi platform.
grub-installer: EFI variables are not supported on this system.
grub-installer: EFI variables are not supported on this system.
grub-installer: grub-install: error: efibootmgr failed to register boot entry: No such file or directory.
grub-installer: ‘Running grub install –force “dev/sda” ‘ failed.
Upon research, It has been explained that I am not in EFI mode, but how so, upon booting, the 2 SATA ports are recognised (my SATA Pioneer Blu Ray drive is fully operational in Mint, 18.04, and 19.10 live USB’s).
Jack, I never seen grub install succeeding during installation. In all cases I had to boot from USB again, drop into manual grub command line before it boots the image and select hard drive as boot source. Once I booted from hard drive, I installed grub from shell.
Excellent write up!
It took me 3-4 times to get the usb set up correctly but I got it to work just now to install Ubuntu 20.04 on my Mac Pro 1.1!
I used the copy all contents from .iso to the ext4 method. The method with “Startup Disk Creator” didn’t seem to work for me.
The only difference was that “initrd.lz” is now named “initrd” in 20.04 so make sure you change your
“grub.cfg” file accordingly. Replacing: initrd.lz -> initrd. Otherwise you will get a initrd.lz not found error after selecting linux in grub.
Thank you for sharing! I was looking how to get UEFI boot working on my Mac Pro for a long time 🙂
EDIT:
I was able to boot into 20.04 once after the install. After that I am greeted with a black screen. Or when selecting advanced -> recovery mode it will hang on ‘Loading initial ramdisk’.
Not sure how I booted the first time :/
Could you try to manually boot from hard drive?
Essentially, boot from USB, interrupt grub, manually set your hard drive as boot point and continue?
Once booted from your hard drive that way you can then just update grub from command line.
This must be the problem. I just read through the original 14.04/16.04 post and realised I this 18.04 update blogpost stops at installation where the original post still contains steps during installation and after installation which I did not do.
I did not create the EFI partition during the install and I did not mess around with grub after the install. Not entirely sure how to do it as I haven’t messed around with grub much but I’d like to learn more about it so I’ll give it another go tomorrow. I basically got the install usb booted and just went through a normal install process. Any hints or tips that might help me out are much appreciated 🙂
My aim was to create a dual boot mac os lion and ubuntu 20.04 desktop on my Mac Pro 1.1 -> I think I got it working now 🙂
I have ran the install process probably around 10 times now and have struggled with the black screen after the installation of Ubuntu for a couple days and I have booted the os a couple of times but I wasn’t able to boot consistently. What I noticed is that the OS boots after the initial clean install. Either without grub interaction or, when that gives a black screen, with the grub commands:
set prefix=(hd0,gptX)/boot/grub (replacing X with the number to your root partition)
insmod normal
normal
Grub should show up, press “e” to edit the grub entry.
The question I had being quite new to this is that I was not completely sure where to add the “noefi” parameter in the grub entry. I just now figured out it should be placed at the end of the line starting with “linux” in the grub entry. And appending after what is already within “…” in the line GRUB_CMDLINE_LINUX_DEFAULT=”…” in file “/etc/default/grub” Hope this helps newcomers that are stuck at the black screen after installation. Now you should be able to boot into Ubuntu every single time.
The next issue that I faced was with the 7300 GT graphics card. The most recent linux driver for it is the 304.137 driver -> https://www.nvidia.com/Download/index.aspx?lang=en-us
After reading more about this driver:
https://ubuntu-mate.community/t/nvidia-304-driver-install-in-18-04/16787
I realised this video card is not going to work reliably in Ubuntu 20.04. I however had a Nvidia 8600 GTS collecting dust, and after checking with the link above I discovered it uses the 340.108 driver. Worth a shot. However I needed to order and wait for the mini 6 pin cable to arrive that supplies additional power to this card.
During the initial install and when booting up there are massive artefacts on the display but you are able to see just enough to work your way through the install. A trick I discovered that helps is to have two windows open en select the window you are not interested in (for example the file browser) the other “non-active” window will have less artefacts. Janky but I found this to be the only way. I noticed that when I inserted both graphics cards ubuntu would not boot and get stuck during the boot process and restart itself over and over again. So for now just keep the 7300 GT running and boot into Ubuntu (again with a lot of artefacts flying around).
Open terminal and run:
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
sudo apt-get install nvidia-340
Now shut down your machine. Take out your 7300GT and insert the new graphics card. In my case the 8600 GTS. Make sure to have Ubuntu selected as default to boot because you will not be able to see the boot screen without the 7300GT or a mac efi flashed or compatible mac card.
Boot the system and after some time you should be greeted with the Ubuntu login screen. Login and there should be no graphics abnormalities.
Hope this helps!
Thank you for taking time to document you experience and the write up! I am sure you saved many hours for us in the future!
I followed these instructions for Ubuntu 18.04.5 and encountered the grub error – the installer couldn’t install grub to the target disk.
I rebooted and dropped to the grub command line. It sees two devices: hd0 with partitions named apple1, apple2 and msdos2, and hd1 with partitions gpt1 and gpt2.
hd1 is the internal disk, and gpt1/ gpt2are presumably /boot and /. Unfortunately, grub returned ‘unknown file system’ when I tried to list the partition files.
Really have no idea what to do next. I’ve tried both methods for creating a USB stick. The manual method simply generated an error that it couldn’t find a live file system and dropped to an initramfs shell.
There is a Ubuntu distro 20.04 / 20.10 on Live USB with NVIDIA support that I run on Mac Pro 4,1 and 5,1 with NVIDIA GTX1080Ti. Didn’t try it on Mac Pro 1,1 but it might work if 64-bit instructions are supported. The name of the distro is called LivelyLinux. You can find it using Google or YouTube. It is not free but inexpensive and gets installed directly to the USB drive without a hassle.
I am trying this on my Mac Pro 1,1 with dual 3GHz Xeons, 9GB RAM and Radeon X1900 XT video card, using Ubuntu 20.04.1 on an 8GB USB, but so far I have not been able to boot into a live environment, just a black screen.
I have tried both disk creator in Ubuntu 20.04.1 and the manual method, both seem to end up with the same black screen. I followed the instructions with a few adjustments:
1. I removed the noefi parameter from grub.conf, as per instructions that it’s no longer needed. I have not tried it with the parameter, yet.
2. I used the correct name for initrd in my grub.conf
My Mac has no issues seeing and booting from the EFI usb. I get the grub menu, choose Linux and press enter. Then, I get a black screen with non-flashing cursor for a minute or so, then the screen goes completely blank… then… absolutely nothing seems to be happening. I have left it this way for at least 5 minutes, but nothing happens.
Any ideas? My Mac is fully up-to-date running 10.7.5 Lion, the latest supported OS X version. My plan if I can get a live environment to boot is to then shut it down and swap the current HDD for a spare 256GB SSD that I have lying around, then install pure Ubuntu on the SSD.
I got a little bit further by adding noefi parameter back to grub.cfg. Now I can see kernel messages after the kernel starts to load. It stops at the following line:
fb0: switching to radeondrmfb from EFI VGA
It has been stuck here more than 10 minutes…
Update: I added nomodeset to the grub.cfg and I can see more of the kernel output. It tries to read from /dev/sr0, but fails after a large number of attempts. I assume this is the DVD-ROM? Anyway it eventually gives up trying to read from /dev/sr0 after many tries and says it cannot locate a live file system. It then offers to boot from the network. I checked that my PARTUUID was correct for sdb1 (the partition where the Ubuntu live filesystem resides), and it was not. So I fixed PARTUUID after checking it with blkid on another machine, and set it correctly. But it still ends up in the same state, trying to unsuccessfully read from /dev/sr0, then failing to boot the live file system.
Try disabling DVR-ROM (disconnect it) – this helped me on other platforms.