Jump to content











Photo

ISOstick not working well with Macs (Macintosh's)

mac macintosh os x apple

  • Please log in to reply
10 replies to this topic

#1 kingsapo

kingsapo
  • Members
  • 2 posts
  •  
    United States

Posted 14 January 2013 - 10:56 PM

Hi! So I got my ISOstick a while ago, and have been very eager to start doing stuff with it. The issue is that it's not really working for me. I have mostly Macs in my house, and the computers that I've tried to boot ISOstick from either don't see it as an optical drive, or don't do anything when I select an ISO.

 

My primary Mac - a thunderbolt-equipped MacBook Pro from early 2011, sees ISOstick named as whatever I entered in the iso_filename config file. Once I have started isosel, selecting an image restarts the computer, as expected, and starts the image. After that, it appears to freeze up.

 

Another Mac that I've tested - a black MacBook from 2007 (I think), doesn't see ISOstick as a bootable CD drive at all. I tried installing an alternate bootloader for Intel Macs - a program called rEFIt, that appeared to fix it and show it as a bootable drive. It actually did the same thing my other computer did - showed a bootable cd drive titled as whatever I entered into iso_filename. After selecting an image from isosel, the computer restarts, only this time the ISOstick is now gone as a bootable option, and proceeds to boot to OS X.

 

I know that Macs, especially newer ones, have limitations on what devices can boot from USB. For example, I know the newer MacBook Airs can only boot from the USB Lion or Mountain Lion installer, nothing else. I'm not sure if you could find a way around this, but if you can't, I understand. I would appreciate some support in getting this to work on older hardware that doesn't have this limitation. Thank you for any help you can offer! :D



#2 elegantinvention

elegantinvention

    Frequent Member

  • Developer
  • 310 posts
  • Location:South Bend, Indiana, USA
  •  
    United States

Posted 15 January 2013 - 04:08 PM

Thanks for the information :)

Most of this goes back to the numerous issues isosel has with EFI machines. It doesn't help, of course, that Macs do things a bit different than everyone else. I will soon be working on an EFI version of isosel that will hopefully resolve most or all of these issues.

 

It is also worth noting that if you have an ISO loaded that isn't El Torito compliant, then it will always boot directly to the ISO (you won't get isosel). This is a limitation of the current, non-EFI isosel. Most bootable discs for PCs are El Torito compliant, with the most common exception being MacOS install discs.



#3 kingsapo

kingsapo
  • Members
  • 2 posts
  •  
    United States

Posted 15 January 2013 - 09:21 PM

Thanks. Looking forward to an EFI-compatible version of isosel. In the meantime I'll check to see if my images are El Torito compliant or not.



#4 Greg Crist

Greg Crist
  • Members
  • 4 posts
  • Location:Sacramento, CA
  •  
    United States

Posted 16 January 2013 - 07:23 PM

Do you have plans to release a beta / alpha / testing / debugging version of the EFI isosel?  I would gladly help with any testing, providing logs, etc. specifically with macs, as I have a few at home.



#5 elegantinvention

elegantinvention

    Frequent Member

  • Developer
  • 310 posts
  • Location:South Bend, Indiana, USA
  •  
    United States

Posted 16 January 2013 - 08:27 PM

@Greg Crist, I will definitely release a testing version when available :)



#6 jpwise

jpwise

    Newbie

  • Members
  • 12 posts
  •  
    New Zealand

Posted 25 January 2013 - 08:23 AM

Just my observations from testing so far, particularly with the Macs, if there is no valid ISO in the iso_filename I presume it presents as an empty volume (when option held at startup for boot select menu), the same as a Windows PC detects?     If a valid ISO is previously specified it appears as a bootable 'Windows' disc (normal behavior and boots bios compatibility mode).

 

The current behavior of presenting an empty volume prevents you from using the isosel menu to choose an iso to boot, particularly if you've just re-arranged/moved/replaces ISO's present on flash.  Until write functionality is implemented it may be better to always present as a mounted (?empty?) volume so isosel can be run to choose the actual ISO you want to boot.

 

A side thought regarding the isosel execution and the various discussions around x86, EFI and other architectures would be to specify a default ISO volume to mount, and that volume contains the equivalent of isosel x86, isosel efi, etc,etc.


Edited by jpwise, 25 January 2013 - 08:25 AM.

  • elegantinvention likes this

#7 elegantinvention

elegantinvention

    Frequent Member

  • Developer
  • 310 posts
  • Location:South Bend, Indiana, USA
  •  
    United States

Posted 26 January 2013 - 04:33 AM

@jpwise, thanks for the suggestions :cheers:

I am working on presenting isosel in the cdrom when it would otherwise be "empty."

Also working on the option to always present isosel after the isostick is plugged in no matter what, so if you need isosel you can just unplug it then plug it back in.

 

For EFI the plan at the moment is to put the EFI isosel on the flash drive. The reason for this is:

- All EFI machines I have seen are able to see both the CDROM and Flash drives of isostick, so there should be no issue there.

- The flash drive must already be formatted FAT32, which EFI can definitely read

- This eliminates all the trickery necessary to get isosel to boot, at least on EFI machines

- The two can coexist -- if you are booting an EFI machine and isosel doesn't work from the CDROM drive for whatever reason (no bootable disc loaded, loaded disc isn't El Torito compliant, etc etc), then you can just boot the Flash drive and get EFI isosel

 

The only major down-side I can see would be if you planned to make the flash drive bootable for other things, but I believe you could still boot to EFI isosel from there using a boot menu or some such.

 

I do like your idea of specifying a default ISO to mount, I have just added that as a feature request in the bug tracker  :idea:



#8 bblaauw

bblaauw

    Frequent Member

  • Advanced user
  • 105 posts
  •  
    Netherlands

Posted 26 January 2013 - 10:31 AM

Why not put isosel as the (or a) kernel on the flash drive FAT32-part for BIOS-mode? You're doing the same for UEFI. All that's left is modifying a bootsector. Fedora 18 and maybe PartedMagic have specific mac-workarounds, might be worthwile into looking how they do stuff.

The suggested 'put all isosel variants inside isosel.iso' could also work, system has to be rebooted anyway instead of chainloading.



#9 jpwise

jpwise

    Newbie

  • Members
  • 12 posts
  •  
    New Zealand

Posted 27 January 2013 - 01:03 AM

@elegantinvention - hrm, point.  provided noone wants to put anything else bootable on the flash, it would work.

 

I've had a limited play with compiling stuff for efi when i was working on some other mac projects, the Grub2 EFI does compile to a mac compatible binary. Some other compile efforts wouldn't generate a binary the Mac was happy with. 

Likewise moving the isosel to boot sector on the flash as @bblaauw suggested could be another option. MBR boot sector load for standard PC Bios machines, and /efi/boot/bootx64.efi for (U)EFI loading. Then it moves the isosel completely out of the CD interface, and the CD interface could be left as default or last loaded ISO behavior.

 

Having the choice between functional behavior would still be good, so making it configurable in the config file/folder would be a bonus. :)

 

Jp.


Edited by jpwise, 27 January 2013 - 01:03 AM.


#10 elegantinvention

elegantinvention

    Frequent Member

  • Developer
  • 310 posts
  • Location:South Bend, Indiana, USA
  •  
    United States

Posted 28 January 2013 - 11:27 AM

Why not put isosel as the (or a) kernel on the flash drive FAT32-part for BIOS-mode?

This would be ideal, a couple "gotchas" though:

- Some BIOSes only see the first LUN the isostick presents (CDROM is LUN0 and Flash is LUN1), so the Flash may not be accessible to some BIOSes

- isosel is extremely simple conveys information back to isostick by reading patterns of sectors from the emulated floppy drive provided by the BIOS.

When booting from USB Flash, do [most] BIOSes provide int13h access to the flash drive? If so, perhaps that's still a viable alternative without many changes to the code. That said, it seems booting from USB CDROM is still the "most compatible" solution vs. booting USB Flash; just something to keep in mind. Options are good though!

 

However, as mentioned in another topic, you can simple boot something like FreeDOS and write to iso_filename.txt, though you may have to consider the dirty bit.

 

Having the choice between functional behavior would still be good, so making it configurable in the config file/folder would be a bonus.

Definitely! :cheers:



#11 bblaauw

bblaauw

    Frequent Member

  • Advanced user
  • 105 posts
  •  
    Netherlands

Posted 28 January 2013 - 06:34 PM

Since a reboot is required anyway after selection in isosel, I think people frankly don't care by which way isosel gets booted, as long as it gets booted.

 

Then you'd end up with ALL of the following present at the same time:

 

flash part of isostick (fat32):

-------

* BIOS: bootsector + isosel as kernel

* UEFI: isosel (32bit) as non-signed bootloader

* UEFI: isosel (64bit) as non-signed bootloader

* UEFI: isosel (32bit) as signed bootloader (yay SecureBoot)

* UEFI: isosel (64bit) as signed bootloader (yay SecureBoot)

* whatever is needed for Mac systems to get them going

* isosel.bin

* ISOSEL.ISO (see below)

 

 

CD-part of isostick (ISO9660)

----------

* BIOS: El-Torito non-emulation bootsector + isosel as kernel (or use floppy emulation)

* BIOS: El-Torito floppy emulation + floppy image file including bootsector + isosel as kernel

* UEFI: isosel (32bit) as non-signed bootloader

* UEFI: isosel (64bit) as non-signed bootloader

* UEFI: isosel (32bit) as signed bootloader (yay SecureBoot)

* UEFI: isosel (64bit) as signed bootloader (yay SecureBoot)

* isosel.bin (chainable/loadable from BIOS/UEFI versions of both GRUB/isolinux?)

* whatever is needed for Mac systems to get them going

 

Just to make your head hurt: http://mjg59.dreamwidth.org/11285.html (and lots of other blog entries)







Also tagged with one or more of these keywords: mac, macintosh, os x, apple

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users