I'm using Mac OS X 10.8.3 and elementary OS (based from Ubuntu 12.04) on a 11" MacBook Air.
After doing a straightforward install of rEFInd (just running ./install.sh in OS X with no further options), and configuring the .conf, my rEFInd menu shows my OS X partition, and two Linux ones...?
When I choose this, it loads into BusyBox, and sits at the initramfs prompt. If I type exit, it kernel panics, like so: http://www.elevatorium.org/ss/photo1.JPG :(
I'm using Mac OS X 10.8.3 and elementary OS (based from Ubuntu 12.04)
on a 11" MacBook Air.
After doing a straightforward install of rEFInd (just running
./install.sh in OS X with no further options), and configuring the
.conf, my rEFInd menu shows my OS X partition, and two Linux
ones...?
It's not two Linux PARTITIONS that are shown; it's two Linux BOOT
LOADERS. This may sound like a picky and pedantic distinction, but it's
an important one. If you don't understand how booting under EFI works,
you'll end up banging your head against numerous problems when you deal
with any but the simplest single-boot configurations.
Boot EFI\ubuntu\vmlinuz-3.5.0-27-generic from MacBook Air
This indicates that it's a tag to boot an EFI boot loader program --
namely, a Linux kernel called EFI\ubuntu\vmlinuz-3.5.0-25-generic --
from the partition called "MacBook Air". In fact, this boot loader is a
Linux kernel with an EFI stub loader. Ordinarily, you won't find kernels
in the specified location, so my suspicion is that you copied one there
yourself, possibly following somebody's instructions.
When I choose this, it loads into BusyBox, and sits at the initramfs
prompt. If I type exit, it kernel panics, like so: http://www.elevatorium.org/ss/photo1.JPG :(
I'm not entirely sure what caused that problem, but my suspicion is that
it was a lack of an initial RAM disk (initrd- or initramfs-) file.
This would happen if you copied the vmlinuz-3.5.0-27-generic file
without copying its matching init* file.
When this one is selected, it boots into elementary OS correctly.
The heading under this one ("Boot Linux from MacBook Air") indicates
that it's almost certainly a BIOS-mode boot loader. It's probably
booting to GRUB in BIOS mode, which in turn is booting Linux. This is
actually a more complicated boot path and is less desirable than booting
via an EFI-mode boot loader, but on some Macs it's more reliable than
using an EFI-mode boot loader.
However, I have no idea how to adjust the .conf to show just OS X and
the "correct" Linux.
The easiest solution is to delete the
EFI/ubuntu/vmlinuz-3.5.0-27-generic file from the "MacBook Air" volume.
I'm not sure what partition that is, though. It's probably either your
EFI System Partition (ESP; typically /dev/sda1 in Linux, although it
could be another partition) or your OS X root (/) partition. You could
look for that file, delete it, and then boot Linux in BIOS mode.
A more complex way to do it is this:
1) Locate and delete the EFI/ubuntu/vmlinuz-3.5.0-27-generic file as
above.
2) In Linux, mount the ESP at /boot/efi. This might already be done,
or you might need to figure out which partition is your ESP and
do it manually (possibly creating an empty /boot/efi directory
first).
3) In Linux, run the mkrlconf.sh script that comes with rEFInd.
4) In OS X, install the rEFInd filesystem driver that matches your
Linux root (/) filesystem (or /boot, if you've got a separate
/boot partition). This will require creating a "drivers" or
"drivers_x64" subdirectory under the directory where rEFInd is
installed (normally EFI/refind on the OS X root directory on on
the ESP). With the directory in place, installing the driver is
just a matter of copying the appropriate file from the rEFInd
package to that location.
When this is done, you should see one or more new Linux entries that
refer to vmlinuz-3.5.0-27-generic and/or other kernel files. These
should boot Linux in EFI mode. If they do, you can then edit the
refind.conf file, uncomment the "scanfor" line, and ensure that "hdbios"
is NOT listed. This will remove the BIOS-mode boot loader entry from
rEFInd's menu, leaving only the EFI entry/entries. (There may be
multiple entries if you have multiple kernels installed. This is
actually a good thing because it gives you options in case an updated
kernel is broken -- you can continue to boot the older one that still
works.)
Hi there!
I'm using Mac OS X 10.8.3 and elementary OS (based from Ubuntu 12.04) on a 11" MacBook Air.
After doing a straightforward install of rEFInd (just running ./install.sh in OS X with no further options), and configuring the .conf, my rEFInd menu shows my OS X partition, and two Linux ones...?
Here's choice one: http://www.elevatorium.org/ss/photo3.JPG
When I choose this, it loads into BusyBox, and sits at the initramfs prompt. If I type exit, it kernel panics, like so: http://www.elevatorium.org/ss/photo1.JPG :(
However, here is choice two: http://www.elevatorium.org/ss/photo2.JPG
When this one is selected, it boots into elementary OS correctly.
However, I have no idea how to adjust the .conf to show just OS X and the "correct" Linux.
Help? :/
Thank you!
Maya
On 04/28/2013 02:31 PM, maya wrote:
It's not two Linux PARTITIONS that are shown; it's two Linux BOOT
LOADERS. This may sound like a picky and pedantic distinction, but it's
an important one. If you don't understand how booting under EFI works,
you'll end up banging your head against numerous problems when you deal
with any but the simplest single-boot configurations.
Note the text under the icon:
Boot EFI\ubuntu\vmlinuz-3.5.0-27-generic from MacBook Air
This indicates that it's a tag to boot an EFI boot loader program --
namely, a Linux kernel called EFI\ubuntu\vmlinuz-3.5.0-25-generic --
from the partition called "MacBook Air". In fact, this boot loader is a
Linux kernel with an EFI stub loader. Ordinarily, you won't find kernels
in the specified location, so my suspicion is that you copied one there
yourself, possibly following somebody's instructions.
I'm not entirely sure what caused that problem, but my suspicion is that
it was a lack of an initial RAM disk (initrd- or initramfs-) file.
This would happen if you copied the vmlinuz-3.5.0-27-generic file
without copying its matching init* file.
The heading under this one ("Boot Linux from MacBook Air") indicates
that it's almost certainly a BIOS-mode boot loader. It's probably
booting to GRUB in BIOS mode, which in turn is booting Linux. This is
actually a more complicated boot path and is less desirable than booting
via an EFI-mode boot loader, but on some Macs it's more reliable than
using an EFI-mode boot loader.
The easiest solution is to delete the
EFI/ubuntu/vmlinuz-3.5.0-27-generic file from the "MacBook Air" volume.
I'm not sure what partition that is, though. It's probably either your
EFI System Partition (ESP; typically /dev/sda1 in Linux, although it
could be another partition) or your OS X root (/) partition. You could
look for that file, delete it, and then boot Linux in BIOS mode.
A more complex way to do it is this:
1) Locate and delete the EFI/ubuntu/vmlinuz-3.5.0-27-generic file as
above.
2) In Linux, mount the ESP at /boot/efi. This might already be done,
or you might need to figure out which partition is your ESP and
do it manually (possibly creating an empty /boot/efi directory
first).
3) In Linux, run the mkrlconf.sh script that comes with rEFInd.
4) In OS X, install the rEFInd filesystem driver that matches your
Linux root (/) filesystem (or /boot, if you've got a separate
/boot partition). This will require creating a "drivers" or
"drivers_x64" subdirectory under the directory where rEFInd is
installed (normally EFI/refind on the OS X root directory on on
the ESP). With the directory in place, installing the driver is
just a matter of copying the appropriate file from the rEFInd
package to that location.
When this is done, you should see one or more new Linux entries that
refer to vmlinuz-3.5.0-27-generic and/or other kernel files. These
should boot Linux in EFI mode. If they do, you can then edit the
refind.conf file, uncomment the "scanfor" line, and ensure that "hdbios"
is NOT listed. This will remove the BIOS-mode boot loader entry from
rEFInd's menu, leaving only the EFI entry/entries. (There may be
multiple entries if you have multiple kernels installed. This is
actually a good thing because it gives you options in case an updated
kernel is broken -- you can continue to boot the older one that still
works.)
--
Rod Smith
rodsmith@rodsbooks.com
http://www.rodsbooks.com