Help - Search - Members - Calendar
Full Version: 2009 Live DVD
InsanelyMac Forum > InsanelyMac Lounge > The X Labs > OS X LiveDVD
Pages: 1, 2, 3
spartango
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:
----
Click to view attachment

Click to view attachment

Click to view attachment
----
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:
----
Click to view attachment

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:
CODE

/.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 ...
---
OCM770
Wow nice, thanks biggrin.gif
socal swimmer
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!
sama7896
damn you're good !
Thank you !!!!
Sherry Haibara
GREAT WORK, Man! I'm really excited to try this out! As soon as I have a DVD and a free HD, I'll report!
Many many thanks from the community!

Sherry Haibara
rhyguy
cant you put "-v -f -s rp=file:///live.dmg" in the com.apple.boot.plist?
Ryu-ka
That looks sooooooooooooooo awesome! Good job, spartango and everyone else who contributed! I hope to try it soon. wink.gif
Cris900
thanks.....
when i have free time i will try it smile.gif
spartango
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.
rockstarjoe
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.
munky
good work smile.gif
Cris900
I'm trying now ... tomorrow I hope to post the results ....
a question: how much it weighs your iso?
krrr
super work this is , 2009 has good start indeed biggrin.gif .
spartango
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?
fleebailey33
I assume This could be done to a retail for "real" macs as well which could end up being quite usefullm great work!
PingunZ
Amazing work!
tsotelo2
A really nice work.Congratz!!
eluminx
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...
MacNutty
Where can I download the live DVD or I have to use the existing (iDeneb / iATKOS) one?
mcolinp
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
realityiswhere
QUOTE (MacNutty @ Jan 2 2009, 11:51 PM) *
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.

QUOTE (mcolinp @ Jan 2 2009, 11:51 PM)
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.
NFOav8or
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.
Windows04
Allright a little question about the how to wink.gif.

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?
geminimac
excellent try him immediately ...

GREAT WORK! wink.gif

geminimac
pocopico1
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 ..
forster
Hats off indeed, I look forward to seeing what comes next smile.gif
3D mn
Thanks good work done wink.gif
bisdak4920
I have been using ideneb 10.5.5 booting directly from a portable hard drive. I think this is better and faster than a dvd boot. Unlike Windows Mac will not modify your internal drive or drive c when you install and boot from your portable HD.
Onetrack
Would this allow net-booting through pxe ?

Is that a possibility?
Jeezoflip
GOD BLESS
NeooFoXxX
Must I have a running OS X to create the Live DVD?
socal swimmer
spartango: how do i prepare a dvd with boot-132?
Šlip✟ ☣ 81
10.5.2 should I use? or can even 10.5.5?
thanks wink.gif
Oxtie
This is cool smile.gif assuming the RamDisk is fastest part of system, OSX on RamDisk should be cool kewl biggrin.gif
Dense
CODE
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.


This is not needed if you use kextcache -n (which includes network extensions). Those of us who have been building Install DVDs have known about this for a while. For some bizarre reason the Ramdisk support was flagged network however its needed for a local boot due to the creation of the small ramdisks. IMHO a bug by Apple but its better to just create a mkext cache with the networking files in it (speeds up boot time because reading the mkext cache is faster than reading the individual files).

CODE
7. Now, boot from that media. at the darwin prompt, provide the params:
-v -f -s rp=file:///live.dmg


Shouldn't need the -f if you build the kextcache with -n and -l.
AMurphy
Once I install Mac OSX Leopard after I create the live CD? OR would a better route be to just download and install?
WannaBeApple
Perfect and great!

Your my God smile.gif
Cris900
QUOTE (NeooFoXxX @ Jan 3 2009, 06:15 PM) *
Must I have a running OS X to create the Live DVD?

yes....
d1photo2002
Ok so i am very new to this. For now I need to know where is the genius bar?
john825
You are awesome! I hope I can learn as much about this great SO. Thanks.
enli
I hope there will be some script to automate the process or the working release of the live-dvd itself. Cant wait!!

Keep up the the good work
spartango
1000ft view of LiveDVD for clarification. This should be identical to USB:
Bootloader (Darwin, Boot-132 system)
--> finds mach_kernel, extensions.mkext, boot.plist -- Directly on dvd.
--> launches kernel, loads kexts.
--> kernel searches DVD for disk image(live.dmg, the desktop install) and mounts it.
Netboot/liveboot proceeds.

btw, the PXE idea is a really cool possibility. Give it a try: netboot for hackintosh awaits.
matrog
QUOTE
1. Prepare the target media with boot-132. There are plenty of tuts in the genius bar for this...


I need help on this point.... I can't find the right thread in the genius bar sad.gif
Powaking
Is it possible to create this in a virtual environment like say VMWare? Hate to have to pull out a drive and go through another install just to create a live disc.
lyax
Do these instructions work for non-leopard versions of OS X, such as 10.4.x?

Thanks guys, you all are great.
SymPak
I will test this on my Macbook Pro tonight. Nice Work biggrin.gif
Cris900
QUOTE (hecabe @ Jan 4 2009, 01:55 PM) *
Working amazing here...

Click to view attachment

All tanks and congratz to the team!

noexpression.gif

please, can you tell me instruction for make dvd bootable (1) becouse i have copied the file from my cd boot132 that i used for retail and this not work......
thanks....
cartri
Can we burn this into a pendrive?
McPhil
QUOTE (cartri @ Jan 5 2009, 01:00 AM) *
Can we burn this into a pendrive?


You cant "Burn it" for the simple fact that you cant burn anything into a usb drive like you could a cd. you can copy tho tongue.gif

and if you refer to the first post

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


im sure you could have saved yourself some humiliation rolleyes.gif..

also, might wanna clean up your sig some so its about half that size before the mods come in and recklessly destroy it
mitch_de
Could someone help / add "Live DVD script part" the team of the INSTAHackintosh Tool (an shell script making OSX86 (bootable) DVD out of an orig. OS X Leo DVD( .dmg) ?

http://forum.insanelymac.com/index.php?showtopic=136138

Would be fine !
I think for the founders of the live dvd way (with shell script knowledge) it will be not heavy work.
Most shell programming (lot of work, working already since V 1.0 !!!) is done and adding the new part "Live DVD (.iso)" will be only a short step of shell programming, but big step for OSX86_humanzied fans in 2009 !
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.