Jump to content
123 posts in this topic

Recommended Posts

Things just keep getting better, 2009 is an excellent year already!

 

I am proud to announce that we now have a fully functioning, catch-free OSX live dvd that is painless to produce, and incredibly functional!

 

I attach images and a script that are relevant to this success, and I post here the method by which such a live dvd will be produced. I hope that now that this is functional and simple enough, we should be able to move on and put some nice features on the dvd.

 

Pictures:

----

post-90402-1230872957_thumb.png

 

post-90402-1230872968_thumb.png

 

post-90402-1230873059_thumb.png

----

How it works:

 

This method works because OSX has a disk image boot system in place to support its network boot system. IOHDIXController and kernel can take a path to disk image supplied to them, and mount it as /, via "imageboot", which recognizes a disk image as an attachable filesystem.

Further, Apple has setup a system to take a read-only disk image and attach a shadowfile to it, so that it is writeable. Intended to support a network boot system by making the user's session local and non-persistent, it is implemented in /etc/rc.netboot. Basically, vndevice (/usr/libexec/vndevice) attaches a shadow file to the dmg, and enables a copy-on-write strategy on that device--writes to the dmg are diverted to the temporary shadow file. This is much like what happens on a linux live dvd, albeit with Unionfs.

Normally the shadowfile is created on a local disk or network share, on either nfs or hfs. Under my method, the shadowfile is created on ramdisk formatted with hfs, and the system behaves exactly as if it were booted with netboot. The difference is that I specify that the dmg to boot from is local(file:///), and then manually start a customized rc script. The script behaves like rc.netboot, except i create a ramdisk and setup the shadowfile there instead of on a local disk. After that / is R/W and OS X boots normally into finder...and beyond.

 

---

So HOWTO:

----

rc.liveboot.txt

 

This method provides a way to boot from media that are read-only by diverting all writes to a ramdisk. This means it can be used to boot from a dvd(described here), USB drive, or pretty much any other media. It uses BOOT-132/Darwin as a boot loader and then exploits Apple's netboot and imageboot systems to boot from a disk image.

 

Install OSX fresh, boot into it and login/customize your user a bit. It's set in stone from here on out.

 

We need to be able to boot from a dmg, by giving Apple's netboot/image boot the pieces it needs:

 

0. You'll need to hack IOHDIXController.kext abit. Show its package contents, find Info.plist and change "Network-Root" to "Root". Do that for all its plugins as well. Regenerate Extensions.mkext.

 

1. Prepare the target media with boot-132. There are plenty of tuts in the genius bar for this...

 

2. Now following Rammjet's instructions, we plant some files on the root of the media:

/.Spotlight-V100
/.Trashes
/.com.apple.timemachine.supported
/.fseventsd
/Library/Preferences/SystemConfiguration/com.apple.Boot.plist
/System/Library/Extensions.mkext
/mach_kernel

 

3. That done, we need to plant the new rc script: download rc.liveboot.txt, remove the txt extension and put it under /etc. make sure its perms are the same as rc.netboot. Note that if you want to set the ramdisk size, it's in that script under RAMDisk(). Just keep it >= 2000000 512 blocks...

 

4. Alright we're done hacking. Using disk utility, create a compressed dmg of that installation.

5. Place that in the root of your media... live.dmg is a good name for it.

6. BURN/EJECT

 

7. Now, boot from that media. at the darwin prompt, provide the params:

-v -f -s rp=file:///live.dmg

These can also be provided under com.apple.Boot.plist

 

8. At the single user prompt, run the liveboot script:

sh /etc/rc.liveboot init

 

9. When that finishes, exit the shell.

The system should come up and be alive!!

---

Big thanks to entire OSX86 community & esp those who helped make this! Hagar, modbin, ~pcwiz, Rammjet, socalswimmer ...

---

rc.liveboot.txt

hey

 

I did this to a usb partition using boot-132, and everything else you said.

 

it works!

 

activity monitor reports that 1.11GB of ram are "wired", so i assume this is the ramdisk.

 

but this is pretty awesome.

 

thanks!

Thanks for testing folks!

As to the boot.plist, you sure can add those things, but i don't just so i have full control over them...Feel free to do that, it certainly will work.

 

Fyi, I'm gonna see if i can build an install script for this, and the community is working on a *universal* ISO(NOT FOR DISTRIBUTION) that would work on any computer a JaS or Kaly install disk would.

Awesome job, to everyone who contributed to the project this is great news. I just finished installing 10.5.5 today and have been using it all day. Now that the livecd is possible it will make it so much better. Once again great work guys 2009 has started great indeed...

So I am trying to take this all in. I am a little past newbie to Hackintosh, and a long time power user of OSX. I am trying to figure out what all the benefits are of this system. It sounds like it can be updated without having to reapply kexts, etc.? It also seems that it may have performance benefits being that it is a ram disk. So am I correct to assume that your main install always boots as a RAM disk, or is that only for installation purposes?

 

Please give us some more general info for those of us who don't bleed 0's & 1's.

 

Thanks

Where can I download the live DVD or I have to use the existing (iDeneb / iATKOS) one?

 

There is no official livedvd at this time, the post made outlines how to make your own. Also, if one becomes available, it would be illegal to link to it or tell of it's location, just like every other release, you'd have to find it yourself.

 

So I am trying to take this all in. I am a little past newbie to Hackintosh, and a long time power user of OSX. I am trying to figure out what all the benefits are of this system. It sounds like it can be updated without having to reapply kexts, etc.? It also seems that it may have performance benefits being that it is a ram disk. So am I correct to assume that your main install always boots as a RAM disk, or is that only for installation purposes?

 

It's a livedvd.. like a Linux livecd, you could boot into a fully working installed OS X system right off of the dvd without having a working install on your hard drive. Literally, you would boot off of the dvd into a live OS X system.

Allright a little question about the how to ;).

 

1) You say that we need to prepare the target media with boot-123, do you mean the DVD we want to create or the pc we want to boot the dvd from?

 

2) The IOHDIXController.kext, do we need to copy it from our "normal" installation and then modify it en put the modified IOHDIXController.kext on our Live DVD?

 

3) Also, if we have our DMG, do we just need to burn that DMG onto a DVD or do we only need to make a DMG if we want to use a live USB stick?

Wow sounds like it works better than any other approach so far at least it take advantage of features already in place. Well done ! i'm gonna try it ASAP.

 

It would be great though to have a working live solution that will be constant to everybody... i see a great opportunity for glory for the people that will be starting this ..

×
×
  • Create New...