Jump to content
Welcome to InsanelyMac Forum

Register now to gain access to all of our features. Once registered and logged in, you will be able to contribute to this site by submitting your own content or replying to existing content. You'll be able to customize your profile, receive reputation points as a reward for submitting content, while also communicating with other members via your own private inbox, plus much more! This message will be removed once you have signed in.

  • Announcements

    • Allan

      Forum Rules   04/13/2018

      Hello folks! As some things are being fixed, we'll keep you updated. Per hour the Forum Rules don't have a dedicated "Tab", so here is the place that we have our Rules back. New Users Lounge > [READ] - InsanelyMac Forum Rules - The InsanelyMac Staff Team. 
spartango

2009 Live DVD

124 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

Share this post


Link to post
Share on other sites

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!

Share this post


Link to post
Share on other sites

That looks sooooooooooooooo awesome! Good job, spartango and everyone else who contributed! I hope to try it soon. :)

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

Amazing stuff! I can't wait to see how this plays out... things just keep getting better and better around here. Keep up the good work.

Share this post


Link to post
Share on other sites

Umm, my compressed image is 2.51GB

 

Btw, if you setup the boot loader as if you were making an osx install disk for normal macs, and didn't use hackintosh kexts, I believe this method should work for normal macs. Takers?

Share this post


Link to post
Share on other sites

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...

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites

This is awesome! I've been trying to use modbin's method as well as follow the X Dev team notes and create my own for about a month now. I wish I had known about this method back then.

 

Hats off to you, bud.

Share this post


Link to post
Share on other sites

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?

Share this post


Link to post
Share on other sites

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 ..

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Recently Browsing   0 members

    No registered users viewing this page.



×