skyhighmac Posted October 29, 2008 Share Posted October 29, 2008 Cool. will have a look. so you guys dont mind if I join the team? Link to comment Share on other sites More sharing options...
(MoC) Posted October 29, 2008 Share Posted October 29, 2008 Cool. will have a look. so you guys dont mind if I join the team? We're perfectly fine with it. I know skyhighmac for quite a while, and I think I can speak for all of us that you're a welcome member to the team. Link to comment Share on other sites More sharing options...
spartango Posted October 29, 2008 Share Posted October 29, 2008 I like the idea of an xml/plist file from which to load custom drivers a bit onwards in the boot. People could easily add on more devices before building the dvd(if we haven't included them), even tho the kexts would already be there. I'd rather not prompt the user unless it is absolutely necessary, and would rather not write any files to a persistent storage device because that would build differences between liveDVD and usb. Hopefully we can keep them similar. Let's keep in mind that the auto-detection is really only necessary for graphics and sound(and a few random things), so it can be run pretty far on in the boot, loading via kextload calls from a script. I'm a bit concerned about the other facets of the boot however, especially what happens after a compressed dmg is mounted after boot-132. I'm not sure how OSX will handle that as a root filesystem, so we should probably see what kind of errors it throws when we try. I'd like to get those worked out...I really want to use a system like that...it'll make life really nice. Link to comment Share on other sites More sharing options...
skyhighmac Posted October 29, 2008 Share Posted October 29, 2008 thanks MoC spartango: I get where you are coming from. I think an xml file with device ids & kext names for audio & graphics would be good, with automatic detection and maybe a boot option in case the dvd cant get the kext right? For the dmg i have no idea... Link to comment Share on other sites More sharing options...
spartango Posted October 29, 2008 Share Posted October 29, 2008 skyhighmac: your input is much appreciated! for the dmg...I have an idea but wanna try it some time... In THEORY it SHOULD work, but according to rammjet it doesn't, and i'd like to find out y. My suspicion is that it has to do with the read-only state of the image, considering the fact that when they moved to a full install dmg, it broke...but then again, the modbin approach also was read only until ramdisk is up, and i also know that kernel has special procedures that it does when it finds that the rootfs is readonly...gotta find out what those are. Link to comment Share on other sites More sharing options...
skyhighmac Posted October 29, 2008 Share Posted October 29, 2008 Thanks. I hope that guys will let me be a full part of the team. THEORY - mean it should work but never does Well I can help look through that pdf above. Is there a way to mount it sometime using command line? I mean there is a command, but where would it be possible to execute? Link to comment Share on other sites More sharing options...
spartango Posted October 29, 2008 Share Posted October 29, 2008 So, hdiutil is normally the tool that will mount a disk image, but its a userland tool, and we'll run something at the Boot-132 level(ie very low level) to mount the compressed diskimage. Rammjet leads me to believe that this function is already present in some form in boot-132...he did try it.. I'm betting this is akin to the feature that lets you load a ramdisk image with your custom kexts before really loading the os, by using syslinux/[GRUB?], but that loads stuff into memory, which is kinda bad for us. Let's get some feedback from him on how he did it with the install DVD... Btw, i looked through that paper. and while it is definitely a good thing to be familiar with, I believe there is something more pressing to be understood: please read this if you get a moment, we'll need to maximize our use of it. http://tgwbd.org/darwin/boot.html Aiight... This is from [user] himself: " 25 seconds from Darwin boot prompt to Language selection dialog box. Files placed outside the compressed image: /.Spotlight-V100 /.Trashes /.com.apple.timemachine.supported /.fseventsd /Library/Preferences/SystemConfiguration/com.apple.Boot.plist /System/Library/Extensions.mkext /mach_kernel /test.dmg (the compressed image) Place "-f -v rp=file:///test.dmg" in the Boot.plist. The dot files/dirs can be deleted but they will be regenerated. That wouldn't happen on a DVD. I modified the IOHDIXController.kext and built a new mkext. Because of the unique mkext, when the installer boots, I have full video and partial wireless. The files are from an early 9A581 installation and the test.dmg is the 9A581 installer" Let's try this. It turns out he exploits not a functionality of Boot-132, but of the darwin loader itself...Netbooting. This works great because the install disk is always read only, so booting has no problems... I'm gonna try this soon. Once we've tried this we can progress to using a normal install image as opposed to an installer. That'll bring up the read-write issue, but i've got an idea for that. gnite for now Link to comment Share on other sites More sharing options...
nightwalker12 Posted October 29, 2008 Share Posted October 29, 2008 sounds good ill be doing a trail live dvd but it wont be for two days have to fly out for convention good luck guys ihave to leave soon so ill take my laptop lol never leave home without it will try some more work while im flying ps good work spartango good luck Link to comment Share on other sites More sharing options...
REVENGE Posted October 29, 2008 Author Share Posted October 29, 2008 Yeah hey skyhigh, just speak your mind here, you seem to have good ideas to share. You don't need my "approval" to be on the team, just your own action and the acceptance of the other devs. The auto detection ideas sound good in concept, put them in practice and make a judgment regarding which solution is best. Link to comment Share on other sites More sharing options...
Hagar Posted October 29, 2008 Share Posted October 29, 2008 Just a quick butt-in, if I may.. I have been trying out booting compressed dmg's from usb sticks with Rammjet's method and it works fine for install dvd images. Combining this technique with a prelinked kernel works too, so if a default image can be made to work as a live dvd, the hardware configurations can be dealt with by typing the name of the prelinked kernel at boot? I made an image of a minimal unmodified 10.5.4 retail install (it's 3.07GB as a compressed .dmg) and booted it this way, (with appledecrypt & disabler in the prelinked kernel) but naturally it failed due to being on a read-only image. so all you have on the stick is: /Library/Preferences/SystemConfiguration/com.apple.Boot.plist /mach_kernel.prelinked /whatever.dmg /boot - in case it's useful oh, P.S. can anyone confirm that this method doesn't work with Tiger? It doesn't for me. Link to comment Share on other sites More sharing options...
Adam.co.jp Posted October 29, 2008 Share Posted October 29, 2008 Just a quick butt-in, if I may.. I have been trying out booting compressed dmg's from usb sticks with Rammjet's method and it works fine for install dvd images. Combining this technique with a prelinked kernel works too, so if a default image can be made to work as a live dvd, the hardware configurations can be dealt with by typing the name of the prelinked kernel at boot? I made an image of a minimal unmodified 10.5.4 retail install (it's 3.07GB as a compressed .dmg) and booted it this way, (with appledecrypt & disabler in the prelinked kernel) but naturally it failed due to being on a read-only image. so all you have on the stick is: /Library/Preferences/SystemConfiguration/com.apple.Boot.plist /mach_kernel.prelinked <- can have loads of these called anything, contain kernel & kext cocktail for various setups /whatever.dmg <- the clever bit /boot - in case it's useful oh, P.S. can anyone confirm that this method doesn't work with Tiger? It doesn't for me. Heya guys sorry for not popping in yesterday I had clinics Fail! Hagar I have to say this would make life much much easier. Good find We could do a poll to start off with and see what the most common set ups are then make loads of these prelinked mach_kernels. (probably 50+) though I'm sure it can't take too long. I'm off to have a go. Then at boot just type in the one they want and hey presto its done. Link to comment Share on other sites More sharing options...
(MoC) Posted October 29, 2008 Share Posted October 29, 2008 Just a quick butt-in, if I may.. I have been trying out booting compressed dmg's from usb sticks with Rammjet's method and it works fine for install dvd images. Combining this technique with a prelinked kernel works too, so if a default image can be made to work as a live dvd, the hardware configurations can be dealt with by typing the name of the prelinked kernel at boot? I made an image of a minimal unmodified 10.5.4 retail install (it's 3.07GB as a compressed .dmg) and booted it this way, (with appledecrypt & disabler in the prelinked kernel) but naturally it failed due to being on a read-only image. so all you have on the stick is: /Library/Preferences/SystemConfiguration/com.apple.Boot.plist /mach_kernel.prelinked <- can have loads of these called anything, contain kernel & kext cocktail for various setups /whatever.dmg <- the clever bit /boot - in case it's useful oh, P.S. can anyone confirm that this method doesn't work with Tiger? It doesn't for me. In theory it should work on Tiger. Let me try that now and get back to you (Oh, and sorry if we had any hard feelings before, I was a complete idiot for calling you out) Link to comment Share on other sites More sharing options...
spartango Posted October 29, 2008 Share Posted October 29, 2008 ooo...interesting concept...ima reserve my judgement on this for the moment, we should definitely see how far it can get us... umm...@Hagar, can you give us an idea of what your output looked like when you tried the minimal install image? I wanna see where exactly its choking to get an idea of how long we have in the boot before we absolutely need a tmpfs or something.. looking good tho Link to comment Share on other sites More sharing options...
skyhighmac Posted October 29, 2008 Share Posted October 29, 2008 ooo. nice concept. but could we have that kernel link to kexts in another location so we don't have to create a bajillion kernels? Link to comment Share on other sites More sharing options...
Hagar Posted October 30, 2008 Share Posted October 30, 2008 ooo...interesting concept...ima reserve my judgement on this for the moment, we should definitely see how far it can get us... umm...@Hagar, can you give us an idea of what your output looked like when you tried the minimal install image? I wanna see where exactly its choking to get an idea of how long we have in the boot before we absolutely need a tmpfs or something.. looking good tho I had to rebuild the stick, but here are 2 screenshots: in the first you can see the .dmg being identified as the root device, then comes a load of spam simiar to the top of picture 2 & finally it repeats the last line of picture 2 forever. Link to comment Share on other sites More sharing options...
spartango Posted October 30, 2008 Share Posted October 30, 2008 Verrry nice! first a random note: So the first error(image 2) about being unable to write to the Journal can be fixed by turning journaling off in the installation(quite easy actually)...I suppose this'll incur some cost, but nbd for now. Ok, now to the beef(or lettuce if you vegetarian): This output shows us that kernel gets very far along before actually complaining that it can't do things to a read-only filesystem... This may be a good place to implement a linux-like strategy of overlaying tmpfs and unionfs(which os x actually has for dmgs!) or some other remounting scheme to work around these errors...We're deep into userland at this point--Login window is actually started! I'm going to ponder a solid solution and get back tomorrow(need to sleep). ideas? Link to comment Share on other sites More sharing options...
skyhighmac Posted October 30, 2008 Share Posted October 30, 2008 looks good. cool that it is booting past login winodw start. Hagar - that was a usb stick right? Link to comment Share on other sites More sharing options...
spartango Posted October 31, 2008 Share Posted October 31, 2008 Aiight...i've had a simple idea.. What if we have some script that starts pretty late into the boot(but before kernel tries to write anything important to disk) that creates/loads a ramdisk image and then loopback & union mounts that over / (or something else if that doesn't work). That way when we try to write things like the pids and states and other random bits, they'll be written safely to the ramdisk image! Link to comment Share on other sites More sharing options...
(MoC) Posted October 31, 2008 Share Posted October 31, 2008 I would just make users go through a simple initialization program like some Linux distro's do. 1. Boot --The kernel will load a script that tells which drivers to load 2. Load LoginWindow then prompt our application --Our Application launches and tries to detect the hardware and asks us to confirm and correct. --Our Application writes the settings to that script/file and reboots the computer 3. User boots again, now into OS X, and has an icon on the desktop that says "install to disk" just like the *buntu's ~MoC Link to comment Share on other sites More sharing options...
skyhighmac Posted October 31, 2008 Share Posted October 31, 2008 spartango: sounds good, but how would the system know to write to that mounted disk instead of the mounted dmg? MoC: That sounds like a good idea, but we still need to get the ram disk part worked out.. A question for everyone: Would everyone want some type of wiki that we could work on? I could set up one if we wanted... Edit: Found this on creating a ramdisk: hdid -nomount ram://52428800 newfs_hfs /dev/disk1 mkdir /tmp/ramdisk1 mount -t hfs /dev/disk1 /tmp/ramdisk1 http://osxdaily.com/2007/03/23/create-a-ra...sk-in-mac-os-x/ Link to comment Share on other sites More sharing options...
spartango Posted October 31, 2008 Share Posted October 31, 2008 either a loopback mount, symlinks, or unionfs Link to comment Share on other sites More sharing options...
skyhighmac Posted October 31, 2008 Share Posted October 31, 2008 Ok. That sounds really feasible. What can I do to help? Any thoughts on the wiki idea? Link to comment Share on other sites More sharing options...
Panarchy Posted October 31, 2008 Share Posted October 31, 2008 Hello Not to rush things, but when can we expect a release? Panarchy Link to comment Share on other sites More sharing options...
skyhighmac Posted October 31, 2008 Share Posted October 31, 2008 We wish we knew. You'll be updated of our progress on the homepage (by REVENGE I assume) Link to comment Share on other sites More sharing options...
REVENGE Posted October 31, 2008 Author Share Posted October 31, 2008 Hello Not to rush things, but when can we expect a release? Panarchy I'm not going to be the one who sets the release date, as it will be when this team is comfortable to release. You will see an announcement on Frontpage News when we do. Link to comment Share on other sites More sharing options...
Recommended Posts