I'd like to boot Ubuntu from a drive connected to a Seritek eSATA card inside my Mac Pro.
Problem: In OS X the Seritek driver must be loaded to access the drive, thus the drive doesn't show up in the rEFInd boot menu.
When I've booted from the Ubuntu installer CD, I was able to see the drive and install Ubuntu on it. So Ubuntu seems to have correct driver on the CD. I'm just unable to reboot into Ubuntu after the installation due to the missing driver in rEFInd.
Any tips, how I can make rEFInd to recognize the drive are appreciated.
Pete
Last edit: Peter Gutbrod 2013-05-14
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
You'd need an EFI driver for the card, so I recommend you check with the card's manufacturer. If such a driver is available, you should be able to install it as described in the rEFInd documentation on drivers.
If that fails, I recommend creating a separate ~500MiB /boot partition for Ubuntu on a hard disk that's not controlled from the new card. (Even a USB flash drive may work, although some Macs have problems with them, too.) Use ext2/3/4fs, ReiserFS, or even (non-journaled) HFS+ for this, and if necessary, install an EFI filesystem driver for the filesystem. You'll then be able to load your Linux kernel and initial RAM disk from the internal disk, obviating the need for the EFI to read the disk controlled via the new card.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I've read the section about EFI drivers but I wasn't sure whether I could just use the existing OS X driver or somehow convert this into an EFI driver myself or whether this is a complete new build, which only the manufacturer can provide.
Concerning your suggestion with a /boot partition on a different drive, I've tried this already with a Firewire drive. Used ext2 because with HSF+ the Ubuntu installer didn't gave me a choice to select is a /boot partition. Installed grub into the MBR of the Firewire drive.
Unfortunately I cannot boot into Ubuntu this way either. As long as the Bootcamp drive is available, it boots into Bootcamp/Windows instead of Ubuntu. Same happens with Ubuntu installed completely on a Firewire drive.
BTW. would it be possible to relocate the content of the ext2 /boot partition into a /EFI/Ubuntu folder in the OS X root directory? Would be easier to access from inside the Mac.
Pete
Last edit: Peter Gutbrod 2013-05-15
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
OS X and EFI have different driver formats, so you can't use an OS X driver as an EFI driver or vice-versa.
You say that you tried using another (Firewire) drive and installed GRUB onto the MBR of that drive. This suggests that you were using a BIOS-mode version of GRUB, and the problem you encountered was related to either the flakiness of the BIOS boot code or to a lack of EFI drivers for your Firewire drive. My suggestion is to put /boot on a drive that the EFI can definitely read (such as your internal hard disk) and use rEFInd to boot a Linux kernel in EFI mode. Because /boot can be such a small partition, it shouldn't be a big deal to shrink your main OS X partition by, say, 500MiB for this purpose; or you could try using a USB flash drive to hold Linux's /boot partition.
I expect that using HFS+ for /boot is not optimal, so you probably shouldn't pursue the possibility; however, it can be done. Although Ubuntu refuses to let you use HFS+ on /boot during installation, it's possible to switch the filesystem type after installation by backing up /boot, changing the filesystem type, and restoring the files. This works fine, in my experience, although it could cause troubles down the road. For instance, an OS upgrade or reinstallation might choke on the HFS+ /boot partition. Also, if you make a mistake, you'll need to use a Linux emergency disc to fix the problem, so be prepared and be careful if you experiment with this.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I'd like to boot Ubuntu from a drive connected to a Seritek eSATA card inside my Mac Pro.
Problem: In OS X the Seritek driver must be loaded to access the drive, thus the drive doesn't show up in the rEFInd boot menu.
When I've booted from the Ubuntu installer CD, I was able to see the drive and install Ubuntu on it. So Ubuntu seems to have correct driver on the CD. I'm just unable to reboot into Ubuntu after the installation due to the missing driver in rEFInd.
Any tips, how I can make rEFInd to recognize the drive are appreciated.
Pete
Last edit: Peter Gutbrod 2013-05-14
You'd need an EFI driver for the card, so I recommend you check with the card's manufacturer. If such a driver is available, you should be able to install it as described in the rEFInd documentation on drivers.
If that fails, I recommend creating a separate ~500MiB
/boot
partition for Ubuntu on a hard disk that's not controlled from the new card. (Even a USB flash drive may work, although some Macs have problems with them, too.) Use ext2/3/4fs, ReiserFS, or even (non-journaled) HFS+ for this, and if necessary, install an EFI filesystem driver for the filesystem. You'll then be able to load your Linux kernel and initial RAM disk from the internal disk, obviating the need for the EFI to read the disk controlled via the new card.Thank you Roderick.
I've read the section about EFI drivers but I wasn't sure whether I could just use the existing OS X driver or somehow convert this into an EFI driver myself or whether this is a complete new build, which only the manufacturer can provide.
Concerning your suggestion with a /boot partition on a different drive, I've tried this already with a Firewire drive. Used ext2 because with HSF+ the Ubuntu installer didn't gave me a choice to select is a /boot partition. Installed grub into the MBR of the Firewire drive.
Unfortunately I cannot boot into Ubuntu this way either. As long as the Bootcamp drive is available, it boots into Bootcamp/Windows instead of Ubuntu. Same happens with Ubuntu installed completely on a Firewire drive.
BTW. would it be possible to relocate the content of the ext2 /boot partition into a /EFI/Ubuntu folder in the OS X root directory? Would be easier to access from inside the Mac.
Pete
Last edit: Peter Gutbrod 2013-05-15
OS X and EFI have different driver formats, so you can't use an OS X driver as an EFI driver or vice-versa.
You say that you tried using another (Firewire) drive and installed GRUB onto the MBR of that drive. This suggests that you were using a BIOS-mode version of GRUB, and the problem you encountered was related to either the flakiness of the BIOS boot code or to a lack of EFI drivers for your Firewire drive. My suggestion is to put
/boot
on a drive that the EFI can definitely read (such as your internal hard disk) and use rEFInd to boot a Linux kernel in EFI mode. Because/boot
can be such a small partition, it shouldn't be a big deal to shrink your main OS X partition by, say, 500MiB for this purpose; or you could try using a USB flash drive to hold Linux's/boot
partition.I expect that using HFS+ for
/boot
is not optimal, so you probably shouldn't pursue the possibility; however, it can be done. Although Ubuntu refuses to let you use HFS+ on/boot
during installation, it's possible to switch the filesystem type after installation by backing up/boot
, changing the filesystem type, and restoring the files. This works fine, in my experience, although it could cause troubles down the road. For instance, an OS upgrade or reinstallation might choke on the HFS+/boot
partition. Also, if you make a mistake, you'll need to use a Linux emergency disc to fix the problem, so be prepared and be careful if you experiment with this.