dutty Posted November 2, 2005 Share Posted November 2, 2005 ok, so I got the dmg burned on a ppc powerbook and it's booting fine on a x86 laptop. the loading screen is displayed fine, then it starts to detect hardware (i noticed that because usb devices recieve a hardware ping) and after a few seconds it displays a message that i have to restart my computer. so how far did you get with the 10.4.3 user-dvd? is there a way to boot the dvd in debug mode? Link to comment https://www.insanelymac.com/forum/topic/4029-native-install-from-1043-install-dvd/ Share on other sites More sharing options...
dutty Posted November 2, 2005 Author Share Posted November 2, 2005 I heard about a DMG/ISO of OS X for Intel on Bittorrent - what is this? This is a version of OS X Intel aimed for developers. It runs only on special development machines that can only be leased from Apple. Unless you own a Dev Kit, this file is illegal. [edit] What if I have this Developer Kit Install DVD? Does it run on my PC? No, the original Developer Kit Install DVD or any identical copies will only run on the machines included with the Apple Dev Kit. [edit] The Developer Intel Mac looks like an ordinary PC - is it? Basically yes. It has a standard Pentium 4 CPU and an Intel mainboard. Additionally, it includes a TPM module by Infineon. It has a PC BIOS (with BIOS setup and everything) uses a PC partition table. This does not mean though that the actual Intel Mac coming out in 2006 will be like this. Apple says that they will not have OpenFirmware or Mac partitioning, but they have not confirmed whether they will have PC BIOS and PC partitioning either. [edit] Does the Developer Kit support x86_64/AMD64/EM64T? The hardware does but OS X for Intel is compiled for 32 bit operation only. The first Intel Macs are suspected to be 32 bit. The Intel Developer Kit version of OS X is also compiled with SSE3 support, but SSE3 is optional and off by default in XCode, so it is suspected that the first Intel Macs will not support SSE3. [edit] So the Developer Kit version of OS X intel can only run on SSE3 CPUs? Yes. It requires a Pentium 4 or an Athlon 64 (Venice Core or San Diego) if you want Rosetta to work without being patched. It is possible to run with SSE2 without rosetta, but there is no support for PPC code. The kernel can be patched to allow Rosetta to work on SSE2 CPUs by translating SSE3 instructions on the fly. The release version of OS X for Intel might not need SSE3, but the original (unmodified) Dev Kit Install DVD requires SSE3 to function. [edit] What kind of hardware would be equivalent to the Dev Kit Hardware? * CPU: must support SSE3 * Chipset: Intel 915 chipset (others may work if they support ich4 or ich5) * GPU o Intel Graphics Media Accelerator 900 * Motherboard o Intel D915GUXLK (http://www.intel.com/design/motherbd/ux/ux_available.htm) [edit] How do I check if my CPU supports SSE2 or SSE3? Use cpu-z (http://www.cpuid.org/cpuz.php), CrystalCPUID (http://crystalmark.info/?lang=en), wcpuid, or 'cat /proc/cpuinfo' [edit] Where is otool on the Dev Kit Install DVD? Use pax to extract it from Archive.bom. (Brickster) /System/Installation1/Packages/Xcode Tools, in an Archive.pax.gz inside DeveloperTools.pkg (Pip) Otherwise, it may be accessible from Xcode. [edit] Where are kernel extensions (kexts)? /System/Library/Extensions On the Dev Kit install DVD also see: /System/Library/Extensions.mkext [edit] How do I convert a .DMG to a .ISO/.IMG? *Install UltraISO, goto Tools|Convert... Then select your .dmg, and leave the output as a .ISO *Then to turn it into a .IMG, put the .ISO into a emulator like Alcohol 120% or Nero Image Drive *Then install Transmac, goto Tools|Disk/CD Edit|Save Image of Disk/CD and select the souce Drive, and the Dest .IMG ok.. so we need someone to hack into it... Link to comment https://www.insanelymac.com/forum/topic/4029-native-install-from-1043-install-dvd/#findComment-25964 Share on other sites More sharing options...
Sudar Posted November 2, 2005 Share Posted November 2, 2005 ok.. so we need someone to hack into it... Maybe the clue is to boot up with PS/2 keyboard and mouse? And all the USB devices unplugged. Or try to play with some non-critical BIOS settings... In a day or so my download is gonna be done. Till that time I cannot check it all myself. Link to comment https://www.insanelymac.com/forum/topic/4029-native-install-from-1043-install-dvd/#findComment-25973 Share on other sites More sharing options...
ghw9132 Posted November 2, 2005 Share Posted November 2, 2005 Maybe the clue is to boot up with PS/2 keyboard and mouse? And all the USB devices unplugged.Or try to play with some non-critical BIOS settings... In a day or so my download is gonna be done. Till that time I cannot check it all myself. Tried with USB support disabled, doesn't seem to help. Tried different boot options, using the -f switch makes it load many more kexts before restarting. The screen scrolls so fast it is difficult to tell where it stops. With only verbose mode, it seems to reboot after Extensions.mkext (if memory serves me). Link to comment https://www.insanelymac.com/forum/topic/4029-native-install-from-1043-install-dvd/#findComment-26005 Share on other sites More sharing options...
cabron Posted November 2, 2005 Share Posted November 2, 2005 ok.. so we need someone to hack into it... Yeah, Maxxuss.. tha man, the one, the legend, etc We need your again Link to comment https://www.insanelymac.com/forum/topic/4029-native-install-from-1043-install-dvd/#findComment-26009 Share on other sites More sharing options...
JaS Posted November 2, 2005 Share Posted November 2, 2005 when I try to boot 10.4.3 the kernel stack faults at loading /system/library/extensions/unsupported that is the last thing I see anyway . Link to comment https://www.insanelymac.com/forum/topic/4029-native-install-from-1043-install-dvd/#findComment-26040 Share on other sites More sharing options...
esquilo22 Posted November 2, 2005 Share Posted November 2, 2005 Folks, Maxxuss was responsible for patching the kernel. But bender12 / br0adband were responsible for creating the patch aplied to the original 10.4.1 DVD. Here how they did it: BIG NOTE: I'm writing this AFTER the fact. Meaning, I took some notes while doing it but not enough to recant my exact steps and describe them accurately. First real thing I did on my image was patch for SSE2 booting (Patch the DVD boot sector so it can boot on SSE2 machines), and copy a new oah750d so I can install. After that, I tried the same method everyone else tries, update the Extensions folder on the DVD with the ones I think I need and burn. This didn't work. What I noticed is every time time I would change anything in the /System/Library/Extensions directory, during the booting process the /System/Library/Extensions.mkext file wouldn't load and instead it would attempt to load all of the extensions in that directory. The extensions directory on the DVD is very small. Not much in here. So that's why it will always fail if it doesn't load the Extensions.mkext file. So after digging (when I started this I didn't have any knowledge of extensions, kexts or mkexts, or anything related to how Darwin really worked) I found out a few facts: 1. The Extensions.mkext is usually (I'll explain) a file containing all of the necessary kexts necessary to 'boot' the system. This file is generated based on specific flags in each kext's Info.plist file stating if its a necessary kext for booting. This file is generated, and regenerated on demand or whenever the system detects the Extensions.mkext timestamp is older than the timestamp on the Extensions directory. 2. When you add a new directory to the Extensions directory, the Extensions directory's timestamp itself gets modified and this tells the system to ignore the Extensions.mkext file because it's outdated and there are new Extensions so the system should rebuild the cache. Now, #1. This works differently from the DVD and what gets installed on the HD. Everything works as described once installed on the HD, but the install DVD seems to already contain a pre-packaged Extensions.mkext that contains all of the necessary extensions to boot the system (At least on a real native Development system). They probably did this because they know the system can't create a new Extensions.mkext file on the DVD because, well, it's read only. And #2. This kicked my ass all around and I don't know why. I could NEVER get it to read my Extensions.mkext once I modified the Extensions directory in any way. When I removed the entire Extensions directory, the system would then read the mkext file again but it wouldn't boot. I had to actually export all of the Extensions from the mkext and merge what is in the /System/Library/Extensions directory on the DVD. This is where and why I'm getting the Extension already loaded conflicts when booting from the DVD and what I think is the issue with the USB drivers on some machines. So, up to this point, I learned that since I can't ever get the Extensions.mkext file to load AND keep the Extensions directory, I decided to just package everything I need into the Extensions.mkext file. I tried to just put all my extensions in the Extensions directory and removing the Extensions.mkext file but that was REAL slow too boot (And I don't entirely remember if it worked or not). But it turned out not to be important to keep the Extensions directory on the DVD because it doesn't seem to use this directory anyway. I'll explain this later also. And remember, the Extensions.mkext file is just a cache file and what I learned later is the system does NOT copy this file from the DVD to the HD. I'll explain later. I found there are three utilities I needed: mkextunpack - this will extract mkext files. I used this to extract the Extensions.mkext from the Darwin DVD and the OSX86 DVD. kextcache - This is what you use to repack your own kextcache file. lsmod - This will allow you to list what is inside "bill of materials" file and will tell you what is in the PAX file. pax - This allows you to extract/create PAX files. The biggest issue for me was when booting from the OSX86 DVD I would get the "still waiting for root device". This seemed to be because it couldn't find my hard drives, which is partially true. It actually can't find your controllers. When it's 'waiting for root device' its actually waiting to find the DVD you're booting from. That's what it considers the "root device" at that point, since obviously we haven't setup any hard drives yet so there are no other root devices. I installed Darwin on my machine and watched the install. I compared this to booting the OSX86 Dev DVD. The OSX Dev DVD would freeze up with the "looking for root device" prior to getting to this: AppleIntelPIIXPATA: ICH5 ATA/100 (CMD 0x1F0, CTR 0x3F4, IRQ 14, BM 0xf000 AppleIntelPIIXPATA: ICH5 ATA/100 (CMD 0x170, CTR 0x374, IRQ 15, BM 0xf008) Ok, so the issue is probably with AppleIntelPIIXPATA. Let's check them. In order to do this, I extracted all of the extensions for Darwin and OSX86 using mkextunpack. You have to unpack both the PPC and the i386 versions from the OSX86 Dev DVD but only i386 from Darwin. I'm using Darwin for X86 of course. to do, I created 3 directories: drwxr-xr-x 232 root wheel 7888 Aug 28 17:40 extensions.darwin801.mkext.i386 drwxr-xr-x 190 root wheel 6460 Aug 28 17:46 extensions.osx86.mkext.i386 drwxr-xr-x 255 root wheel 8670 Aug 28 17:47 extensions.osx86.mkext.ppc *Note - You will have to work as root. Or you'll be sudo'ing every command. These files need to all have the ownership of root:wheel in order to be repacked. So now let's compare the AppleIntelPIIXPATA (I really don't need the PPC directory and I won't even compare anything in here for now, but I want to keep this so I can repack these into the Extensions.mkext) -rwxr-xr-x 1 root wheel 76408 Aug 28 17:40 extensions.darwin801.mkext.i386/AppleIntelPIIXATA.kext/Contents/MacOS/AppleIntelPIIXATA -rwxr-xr-x 1 root wheel 76712 Aug 28 17:46 extensions.osx86.mkext.i386/AppleIntelPIIXATA.kext/Contents/MacOS/AppleIntelPIIXATA Slightly different sizes... I'm going to assume these are very similar, probably contain the same code basically. Let's check the Info.plist files. -rwxr-xr-x 1 root wheel 10282 Aug 28 17:40 extensions.darwin801.mkext.i386/AppleIntelPIIXATA.kext/Contents/Info.plist -rwxr-xr-x 1 root wheel 3275 Aug 28 17:46 extensions.osx86.mkext.i386/AppleIntelPIIXATA.kext/Contents/Info.plist Woah, very different. Seems the Info.plist contains information about the devices it should identify in the system to load this driver. It looks like Apple removed all but the required devices that are in the Development machine from being recognized, so this extension never loads and sees hardware other than hardware in the Devlelopment machine. This theory was confirmed by opeing the plist file with the "Property List Editor". The OSX86 version contains 4 entries under "IOKitPersonalities", ICH6 ATA/100, ICH6 Serial ATA, Parallel ATA, Serial ATA. The Darwin version contains 17 entries, ICH ATA, ICH0 ATA, ICH2, ICH3, ICH4, ICH5, and so on. There's my ICH5. I was afraid to replace the actual binary, thinking the binary file may have more/different code in that is needed for OSX86, so instead I just copied Darwin's Info.plist file. I also thought I should add some other extensions that Darwin showed in kextstat when running, such as AppleI386PCI.kext, AppleI386GenericPlatform.kext, ApplePS2Controller.kext. *Note: When extracting the kext's from the mkext files, you will lose the structure that the are actually stored with in the /System/Library/Extensions directory. They are stored 'flat' inside the mkext. For instance, on the Darwin CD, there is a "ApplePS2Controller.kext" which inside contains ApplePS2Keyboard.kext, ApplePS2Mouse.kext, ApplePS2Trackpad.kext. I had added just "ApplePS2Controller" from the Darwin CD which contained these 3 directories, to the mkext. If you extract the mkext, you will see the other 3 PS2 directories right under the root of your extracted directory instead of under ApplePS2Controller.kext. If you didn't gather this yet, .kext is basically just a directory... same as .pkg and .mpkg and a ton of other things in OSX. You can get into this by right clicking and picking "Show Package Contents" or get to it in a shell by just changing directories. I also added the extensions I originally found on the OSX86 DVD under /System/Library/Extensions, which is where I think some of my conflicts are coming from when booting from the DVD... working on fixing this. So, the darwin Extensions I added were: JUST the Info.plist from AppleIntelPIIXATA.kext AppleGenericPCATA.kext (Found in /System/Library/Extensions/IOATAFamily.kext/Contents/PlugIns/ on the Darwin CD) AppleOnboardPCATA.kext (/System/Library/Extensions/IOATAFamily.kext/Contents/PlugIns/) AppleVIAATA.kext (/System/Library/Extensions/IOATAFamily.kext/Contents/PlugIns/) ApplePS2Controller.kext (Contains ApplePS2Keyboard.kext, ApplePS2Trackpad.kext, ApplePS2Mouse.kext) So I ended up with these directories on my HD. drwxr-xr-x 8 root wheel 272 Aug 28 21:11 extensions.osx86.cd drwxr-xr-x 7 root wheel 238 Aug 28 21:08 extensions.osx86.mkext.additional drwxr-xr-x 189 root wheel 6426 Aug 28 21:07 extensions.osx86.mkext.i386 drwxr-xr-x 3 root wheel 102 Aug 28 21:07 extensions.osx86.mkext.i386.old drwxr-xr-x 255 root wheel 8670 Aug 28 17:47 extensions.osx86.mkext.ppc Directories should be obvious, the extensions.osx86.cd contains all of the extensions on the osx86 cd, mkext.additional contains the additional extensions i'm adding to the mkext, mkext.i386 and mkext.ppc are the original extracted extensions and mkext.i386.old contains the old extensions I pulled out of mkext.i386 (Currently only contains the Info.plist from AppleIntelPIIXATA) So to build your mkext, you do this: kextcache -a i386 -a ppc -m Extensions.mkext extensions.osx86.cd extensions.osx86.mkext.i386 extensions.osx86.mkext.ppc extensions.osx86.mkext.additional You should end up with a file that looks like this: -rw-r--r-- 1 root wheel 17508393 Aug 28 21:11 Extensions.mkext *Note: the size is different now than what's on the test dvd because I'm continuously changing/adding things. Great! Take that Extensions.mkext and put it on your DVD, remove the Extensions directory and burn. Reboot. "Your hardware configuration is not supported by Darwin x86". {censored}. I patched the boot sector on the DVD, but when the new drives/partitions were initialized, they weren't patched. I edited the three boot files I found that contained the same string that I modified on the DVD, boot, boot1u and cdboot. Reburn... reboot...reinstall... reboot (probably could have fixed it other ways, but I didn't care) *Note: I got passed this initially by just leaving the DVD in. Since that was patched, that boot loader would start first and if I didn't hit a key, it wouldn't try installing, but instead just boot OSX86 on the HD. Success! Sorta. Now, OSX86 see's my DVDROM drive and Hard drives just fine. The installer installs and everything installs! Reboot! Uh oh. Gray screen with the circle with a line through it. That basically means the same thing, "unable to find root device" (this time it is looking for your hd) Boot to Darwin and look at the volume. None of my extensions got copied to the HD. Guess what. Extensions are not copied from the mkext... or the /System/Library/Extensions directory from the DVD obviously because there are so few of them in there to begin with. Extensions are actually in the "Essentials.pkg" You can see them by going on the DVD and going into /System/Installation/Packages/Essentials.pkg/Contents and typing "lsbom Archive.bom" Ok, time to modify the Archive to contain the right extensions.. .... and after about an hour or two of trying that, I gave up. Basically I ungziped the Archive, extracted with pax, tried to repackage and create a new .bom (bill of materials) file. Didn't work. During install OSX would puke on it and give me errors such as "BomFatalError - cpio read error: bad file format" and "Package Authoring Error: Package "Essentials.pkg" is using a depreciated archive. Ok so whatever. I decided to create my own packages that contained the extensions I needed. I also created a package to copy the SSE2 hacks over that Maxxuss has made. (its getting late and I'm tired of typing this, want to get back to hacking, so the rest will be short) I created these packages, found the information on how to modify the installer and added them in. From the darwin install CD I decided I wanted to use the IOATAFamily.kext but I was afraid of putting the entire thing out there, knowing the Darwin version will only contain i386 versions (won't be fat) and the binaries may not contain the same functions. Other info: On my i865 based machine, rebooting doesn't work. I get stuck at "MACH Reboot" (if I booted with -v) otherwise it sits there with the little spinny thing. Shutting down however works fine, and the machine powers off properly. Setting my HD to never sleep doesn't work. The HD still goes to sleep. There will probably be lots of questions... I can attempt to answer some, but f***ing PLEASE google for info before asking me stupid {censored} like "how did you change directories?" or "whats a terminal?" I'm not going to answer those questions. No, it's not because I'm any better than you, I just think if you can find the info googling, at least attempt that first. I probably have a lot more info to share with people that they can't find easily, and I'd rather spend my time doing that and working on making more extensions work. Oh and everything I've done above... remember... I am new to this. Everything above can probably be done better or different. My way is no where near perfect. If you have ideas or suggestions, please let me know. My main goal is to help the community. And meanwhile, enjoy. Link to comment https://www.insanelymac.com/forum/topic/4029-native-install-from-1043-install-dvd/#findComment-26047 Share on other sites More sharing options...
myzar Posted November 2, 2005 Share Posted November 2, 2005 DOH Link to comment https://www.insanelymac.com/forum/topic/4029-native-install-from-1043-install-dvd/#findComment-26048 Share on other sites More sharing options...
JaS Posted November 2, 2005 Share Posted November 2, 2005 Folks, Maxxuss was responsible for patching the kernel. But bender12 / br0adband were responsible for creating the patch aplied to the original 10.4.1 DVD. Here how they did it: Thanks but I think most of us have studied the README files from the release 1 patches...atleast I know I did Link to comment https://www.insanelymac.com/forum/topic/4029-native-install-from-1043-install-dvd/#findComment-26052 Share on other sites More sharing options...
dutty Posted November 2, 2005 Author Share Posted November 2, 2005 Thanks but I think most of us have studied the README files from the release 1 patches...atleast I know I did well, it sounds like 10.4.1 didn't even boot to the apple gray-screen for him. 10.4.3 boots to the apple screen for me... but i'm new to this too does anybody know how i can do apply switches while booting from the install dvd? Link to comment https://www.insanelymac.com/forum/topic/4029-native-install-from-1043-install-dvd/#findComment-26057 Share on other sites More sharing options...
Recommended Posts