BladeRunner Posted November 3, 2008 Share Posted November 3, 2008 Ah ok. Yeah a terminal thing like I thought Ok i'm cooking on changing these, just two questions. dsmos.kext is "Console" and not "Root". I know dsmos is pretty essential to booting, so I want to be 100% clear that all the kexts need to be Root. 2nd question is can i clear vi and load a new kext? Right now i just close the terminal window and then open a new one and start the process again from "sudo vi..." making progress though. Ok third question. This is the end of NVKush: <string>NVDA,Parent</string> </dict> </dict> </dict> <key>OSBundleLibraries</key> <dict> <key>com.apple.iokit.IOPCIFamily</key> <string>1.0.0b1</string> <key>com.apple.kernel.iokit</key> <string>6.0</string> </dict> </dict> </plist> Not sure if this is ok or not. If not i'm not sure what to edit. Scratch the dsmos question. It was ApplePS2Controller that was Console instead of Root. Pretty sure i can change that one. When you finish the edit in vi, you press ":" then type "wq" and press Enter. "wq" says write & quit. At that point, there is no reason to close the terminal session. Just go on to whatever command is next. The reason to make the OsBundelRequired value equal "Root" is to help the override kext load before the one in S/L/E which has the same name. Since dsmos.kext, nvinject.kext and other non-Apple supplied kext have no Apple supplied counterpart, there is no reason to modify them. Link to comment Share on other sites More sharing options...
InteliMac Pro Posted November 3, 2008 Share Posted November 3, 2008 When you finish the edit in vi, you press ":" then type "wq" and press Enter. "wq" says write & quit. At that point, there is no reason to close the terminal session. Just go on to whatever command is next. The reason to make the OsBundelRequired value equal "Root" is to help the override kext load before the one in S/L/E which has the same name. Since dsmos.kext, nvinject.kext and other non-Apple supplied kext have no Apple supplied counterpart, there is no reason to modify them. Thanks for the explanation BR. I really appreciate all your help. Unfortunately still no luck. I even downloaded a bare essentials ISO with only the necessary files in it and while it didn't give me the HPET error it still gave me the waiting for root device error. I'm really at a loss. I've never encountered this error before. I thought it was more something you encountered when using an IDE drive. I need to let the frustration fade a bit. Have to pick it up again tomorrow. Link to comment Share on other sites More sharing options...
Guest Posted November 3, 2008 Share Posted November 3, 2008 You musn't forget that some kernel extensions exist in retail installs already at this point. I think its high time I do up a guide on how to add in or increase a probe score or bump the version number. The majority of the errors I am seeing from all of you seem to lie in the fact you are using kernel extensions which are conflicting with kernel extensions that are already present on the Retail disk and or install. You need to make slight modifications to the kernel extensions you are going to use in your preboot disk by either a ) bumping and or adding a probe score or b ) by increasing the version # the latter of which i wouldn't recommend unless the kernel extension is being stubborn.. In a standard kernel extension such as IOATAFamily.kext you can dissect it and get out the plugin you would like. So for example here is the Info.plist of the AppleIntelPIIXATA Plugin that is inside of the IOATAFamily.kext. <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>CFBundleDevelopmentRegion</key> <string>English</string> <key>CFBundleExecutable</key> <string>AppleIntelPIIXATA</string> <key>CFBundleGetInfoString</key> <string>2.0.0, Copyright Apple Inc. 2000-2007</string> <key>CFBundleIdentifier</key> <string>com.apple.driver.AppleIntelPIIXATA</string> <key>CFBundleInfoDictionaryVersion</key> <string>6.0</string> <key>CFBundleName</key> <string>Apple Intel ICHx/PIIX ATA Driver</string> <key>CFBundlePackageType</key> <string>KEXT</string> <key>CFBundleShortVersionString</key> <string>2.0</string> <key>CFBundleSignature</key> <string>????</string> <key>CFBundleVersion</key> <string>2.0.0</string> <key>IOKitPersonalities</key> <dict> <key>ICH7-M Serial ATA</key> <dict> <key>CFBundleIdentifier</key> <string>com.apple.driver.AppleIntelPIIXATA</string> <key>Controller Name</key> <string>ICH7-M SATA</string> <key>IOClass</key> <string>AppleIntelPIIXATARoot</string> <key>IOPCIPrimaryMatch</key> <string>0x27c48086</string> <key>IOProbeScore</key> <integer>2000</integer> <key>IOProviderClass</key> <string>IOPCIDevice</string> <key>Serial ATA</key> <true/> <key>Supported Transfer Modes</key> <string>0x3f061d</string> </dict> <key>Serial ATA</key> <true/> <key>Supported Transfer Modes</key> <string>0x3f061d</string> </dict> <key>Serial ATA Channel Driver</key> <dict> <key>CFBundleIdentifier</key> <string>com.apple.driver.AppleIntelPIIXATA</string> <key>IOClass</key> <string>AppleIntelICHxSATA</string> <key>IOProbeScore</key> <integer>1000</integer> <key>IOProviderClass</key> <string>AppleIntelPIIXATAChannel</string> <key>Serial ATA</key> <true/> </dict> </dict> <key>NSHumanReadableCopyright</key> <string>Copyright Apple Inc. 2000-2007</string> <key>OSBundleLibraries</key> <dict> <key>com.apple.iokit.IOATAFamily</key> <string>1.5.0d1</string> <key>com.apple.iokit.IOPCIFamily</key> <string>1.1</string> <key>com.apple.kpi.iokit</key> <string>8.7.2</string> <key>com.apple.kpi.libkern</key> <string>8.7.2</string> <key>com.apple.kpi.mach</key> <string>8.7.2</string> </dict> <key>OSBundleRequired</key> <string>Local-Root</string> </dict> </plist> NOTE: (I stripped out some of the other match categories within this Info.plist for the sake of shortening the post there are several more present..) Notice how there is a IOProbeScore key in each of the "Personalities". If you are for instance using a hacked AppleIntelPIIXATA.kext you would only need this kext and could make a simple modification to only the match category that pertains to your hardware. Where you see something like : <key>IOProbeScore</key> <integer>1000</integer> Bump the probe score to something higher than what it originally is. A value of 2000 in the personality that matches your hardware is sufficient. So for example if I am using ICH7-M SATA... <key>ICH7-M Serial ATA</key> <dict> <key>CFBundleIdentifier</key> <string>com.apple.driver.AppleIntelPIIXATA</string> <key>Controller Name</key> <string>ICH7-M SATA</string> <key>IOClass</key> <string>AppleIntelPIIXATARoot</string> <key>IOPCIPrimaryMatch</key> <string>0x27c48086</string> <key>IOProbeScore</key> <integer>3000</integer> <key>IOProviderClass</key> <string>IOPCIDevice</string> <key>Serial ATA</key> <true/> <key>Supported Transfer Modes</key> <string>0x3f061d</string> </dict> I increased the probe score to 3000 because the base score was already 2000. In the case of other match categories in the kext you can just leave them alone. As for other kernel extensions, some of them like any of the IO*Family.kext files have no personalities and thus have no probe score. If you can dissect the IO*Family kernel extension that has the plugin you need in it it is your best bet to do so and simply change the OSBundleRequired to Root within that plugin (or add it if it isn't present). It will be loaded automatically when the proper IO*Family.kext is loaded. If you are absolutely bent on not dissecting a kernel extension or are using an IO*Family extension, then you can do the following. For example the version information for IOATAFamily.kext: <key>CFBundleName</key> <string>IOATAFamily</string> <key>CFBundlePackageType</key> <string>KEXT</string> <key>CFBundleShortVersionString</key> <string>1.7.2</string> <key>CFBundleSignature</key> <string>????</string> <key>CFBundleVersion</key> <string>1.7.3f1</string> I generally bump the values to 9.9.9 so that I can see when a hacked or additional kernel extension is loaded on my system via kextstat. Increasing the version # within the kernel extensions CFBundle values makes the IOKit think that our driver is newer than the existing driver and as such will load it instead of the driver that is already present within the installation! The changes reflected in this Info.plist would look like: <key>CFBundleName</key> <string>IOATAFamily</string> <key>CFBundlePackageType</key> <string>KEXT</string> <key>CFBundleShortVersionString</key> <string>9.9.9</string> <key>CFBundleSignature</key> <string>????</string> <key>CFBundleVersion</key> <string>9.9.9</string> That is really all that needs to be done in the case of loading in additional kernel extensions that are already present in the system when you are creating a preboot disk. Be incredibly careful that you don't mess with any other values in the kernel extension if and when you do choose to edit things because the formatting and content are very important to the proper loading and execution of the payload of the kernel extension. Hopefully this helps alleviate some of the issues people have been having with not getting a root device for example. There are more advanced methods for adding in additional DeviceIDs etc into kernel extensions which are already present and don't require a binary hack or recompilation, but for the sake of simplicity I will omit these for the time being and add that information in later when I do a formal guide. Good Luck! ~Galaxy Link to comment Share on other sites More sharing options...
filosofem Posted November 4, 2008 Share Posted November 4, 2008 What i do wrong? When i try to boot it gave this error. I made different versions of slimbuild cd. What kexts or ? i have to put in? I have Asus p5b motherboad,6gb mem,Geforce 8600GT 512mb,Q6600. http://img411.imageshack.us/my.php?image=errorsm8.jpg Link to comment Share on other sites More sharing options...
mitch_de Posted November 6, 2008 Share Posted November 6, 2008 ... Extensions/JMicronATA.kext -- permissions set. Extensions/SMBIOSEnabler.kext -- permissions set. All extensions have proper permissions for meta-kernel extension cache creation. Performing kextcache operation, please wait a moment... Meta-kernel extension cache creation failed! Aborting! Solution: There was NO Mkext folder in the slimbuild2 download main folder! I created one and it worked. Link to comment Share on other sites More sharing options...
Guest Posted November 6, 2008 Share Posted November 6, 2008 ...Extensions/JMicronATA.kext -- permissions set. Extensions/SMBIOSEnabler.kext -- permissions set. All extensions have proper permissions for meta-kernel extension cache creation. Performing kextcache operation, please wait a moment... Meta-kernel extension cache creation failed! Aborting! Solution: There was NO Mkext folder in the slimbuild2 download main folder! I created one and it worked. There actually is its just hidden. Link to comment Share on other sites More sharing options...
InteliMac Pro Posted November 6, 2008 Share Posted November 6, 2008 Are these issues something you would expect to encounter on the 10.5.0 install disks? That's what i'm using. I would imagine the newer disks may have driver version conflicts, not so much on the older ones. This assumption may just be an oversimplification. I read that booting with -f would force the installer to load the kexts from the boot cd. Is this not correct? Link to comment Share on other sites More sharing options...
Guest Posted November 7, 2008 Share Posted November 7, 2008 Are these issues something you would expect to encounter on the 10.5.0 install disks? That's what i'm using. I would imagine the newer disks may have driver version conflicts, not so much on the older ones. This assumption may just be an oversimplification. I read that booting with -f would force the installer to load the kexts from the boot cd. Is this not correct? The issues are going to happen in any case that there is more than one name of the same driver present. Your idea is a bit of an oversimplification yes, but not a hard one to make, the IOKit is a relatively stubborn, but efficient subsystem and its asynchronous as well which can present a problem for us. Regardless of the driver version the IOKit is going to load the drivers the bootloader feeds it before it proceeds to place the drivers in the appropriate spaces and discard things it doesn't need to load. Its when it comes time to process and send things out to their respective locations in the kernel that the magic happens. If two kernel extensions share the same name a series of checks is done on it to determine which one to load. The match category is first checked (we have two of the same name in this case) so then it goes on to check the version number and probescores (if present) then if a version is newer and or probescore is higher, it loads that extension instead of another one that is already in the bootable media for example -- this process is what we exploit; its actually a feature of the IOKit to keep things going smoothly. We make our hacked or additional drivers that share a match category appear newer or bump their probescore to beat the other extension to the parking spot in the kernel. booting -f simply ignores any kernel caches and loads all the extensions that are present in the Extensions directory on the bootable media and doesn't necessarily guarantee us getting to the parking space first; however, bumping the probescore and worst case the version number, and we ensure we get there first and get the added functionality we need in order for our system to work properly. Link to comment Share on other sites More sharing options...
Kuebeker Posted November 9, 2008 Share Posted November 9, 2008 At boot I keep getting: System config file '/com.apple.boot.s/Library/Preferences/SystemConfiguration/com.apple.Boot.plist' not found I then have to hit F8 to get to the Dawin Prompt. Found this when out of frustration started to hit keys while . I then hit ESC to get the HD listings but it get the same error System config file '/com.apple.boot.s/Library/Preferences/SystemConfiguration/com.apple.Boot.plist' not found. Any clues / solutions? Why are most of the files hidden in the image SlimBuilds makes? Link to comment Share on other sites More sharing options...
InteliMac Pro Posted November 9, 2008 Share Posted November 9, 2008 At boot I keep getting:System config file '/com.apple.boot.s/Library/Preferences/SystemConfiguration/com.apple.Boot.plist' not found I then have to hit F8 to get to the Dawin Prompt. Found this when out of frustration started to hit keys while . I then hit ESC to get the HD listings but it get the same error System config file '/com.apple.boot.s/Library/Preferences/SystemConfiguration/com.apple.Boot.plist' not found. Any clues / solutions? Why are most of the files hidden in the image SlimBuilds makes? You ignore this when the boot cd is in the drive. hit F8 then exp like you did. Then swap the boot cd for the install disk and give it a few seconds to load. Then hit enter an F8 again. Then you type in the location of the boot partition (I think that's it) which is something like rd=disk1s3 (mine was disk5s3) and hit enter. This should boot the install disk. I'm still trying to get that part right but that's a kext thing on my part. Galaxy or BladeRunner may have a better explanation. Link to comment Share on other sites More sharing options...
Guest Posted November 9, 2008 Share Posted November 9, 2008 At boot I keep getting:System config file '/com.apple.boot.s/Library/Preferences/SystemConfiguration/com.apple.Boot.plist' not found I then have to hit F8 to get to the Dawin Prompt. Found this when out of frustration started to hit keys while . I then hit ESC to get the HD listings but it get the same error System config file '/com.apple.boot.s/Library/Preferences/SystemConfiguration/com.apple.Boot.plist' not found. Any clues / solutions? Why are most of the files hidden in the image SlimBuilds makes? The com.apple.boot.s is an inbuilt plist that the bootloader uses when it falls back due to something being wrong with any of the alternative boot.plist files and or it not being able to find a boot.plist on the media you told it to boot from. At the first prompt with the timeout with the preboot cd in you should hit f8 then escape and then should be presented with the hex code chooser 9F for DVD 80 for HD1 etc.. As for the files being hidden, I made them hidden so that no one would accidentally delete something important or have to worry about them -- the only files which are hidden need no user interaction or changes in any case. Link to comment Share on other sites More sharing options...
Kuebeker Posted November 10, 2008 Share Posted November 10, 2008 The com.apple.boot.s is an inbuilt plist that the bootloader uses when it falls back due to something being wrong with any of the alternative boot.plist files and or it not being able to find a boot.plist on the media you told it to boot from. At the first prompt with the timeout with the preboot cd in you should hit f8 then escape and then should be presented with the hex code chooser 9F for DVD 80 for HD1 etc.. As for the files being hidden, I made them hidden so that no one would accidentally delete something important or have to worry about them -- the only files which are hidden need no user interaction or changes in any case. Thank you for the reply! If I understand, this would mean that there is no com.apple.Boot.plist in the Slimbuild build since the error happens at boot and not while loading an os disk/dvd. Is there a boot.plist in the SlimBuild build? Link to comment Share on other sites More sharing options...
Guest Posted November 10, 2008 Share Posted November 10, 2008 Thank you for the reply! If I understand, this would mean that there is no com.apple.Boot.plist in the Slimbuild build since the error happens at boot and not while loading an os disk/dvd. Is there a boot.plist in the SlimBuild build? Only if you specify one by placing it in the PLIST folder. Link to comment Share on other sites More sharing options...
nintendoguy Posted November 11, 2008 Share Posted November 11, 2008 Whenever i use this to build a cd for my computer, when it boot, it always gives me an image checksum error. i have tried many different burning speeds but non work. can i please get some help. what an i doing wrong Link to comment Share on other sites More sharing options...
kdp Posted November 11, 2008 Share Posted November 11, 2008 i'm so frustrated with this i'm ready to give up, first i had to add a password to my account, now i get this error SlimBuild v2.0 ©Galaxy 2008. Special Thanks To: munky - getting the public interested in SlimBuild. BladeRunner - com.apple.Boot.plist RAMDISK population / sript ideas. Testers - for their input on the scripts usability. ##### PREVIOUSBUILD SESSION EXECUTED ##### This session's build time is 2008-11-11-163349 This session's files will be available at PreviousBuilds/Build.2008-11-11-163349 ##### MKEXT CREATION PHASE ##### Permissions are being set for the following extensions: All extensions have proper permissions for meta-kernel extension cache creation. Performing kextcache operation, please wait a moment... Meta-kernel extension cache creation failed! Aborting! i have no idea what this error is but all this has done was give me errors, i mean the instructions are pretty simple, but it simply doesn't work Link to comment Share on other sites More sharing options...
nintendoguy Posted November 11, 2008 Share Posted November 11, 2008 i'm so frustrated with this i'm ready to give up, first i had to add a password to my account, now i get this errorSlimBuild v2.0 ©Galaxy 2008. Special Thanks To: munky - getting the public interested in SlimBuild. BladeRunner - com.apple.Boot.plist RAMDISK population / sript ideas. Testers - for their input on the scripts usability. ##### PREVIOUSBUILD SESSION EXECUTED ##### This session's build time is 2008-11-11-163349 This session's files will be available at PreviousBuilds/Build.2008-11-11-163349 ##### MKEXT CREATION PHASE ##### Permissions are being set for the following extensions: All extensions have proper permissions for meta-kernel extension cache creation. Performing kextcache operation, please wait a moment... Meta-kernel extension cache creation failed! Aborting! i have no idea what this error is but all this has done was give me errors, i mean the instructions are pretty simple, but it simply doesn't work you need to change directory to the slimbuild folder. Link to comment Share on other sites More sharing options...
kdp Posted November 11, 2008 Share Posted November 11, 2008 you need to change directory to the slimbuild folder. i've done that, my terminal dir is PowerMac:slimbuild2 katypee$ the .sh file is in the dir i'm in, how could i run the script and get that error if i wasn't in the dir in the first place? the command i used was sudo ./slimbuild2.sh so i didn't type a path to run the script. Link to comment Share on other sites More sharing options...
Guest Posted November 13, 2008 Share Posted November 13, 2008 i'm so frustrated with this i'm ready to give up, first i had to add a password to my account, now i get this errorSlimBuild v2.0 ©Galaxy 2008. Special Thanks To: munky - getting the public interested in SlimBuild. BladeRunner - com.apple.Boot.plist RAMDISK population / sript ideas. Testers - for their input on the scripts usability. ##### PREVIOUSBUILD SESSION EXECUTED ##### This session's build time is 2008-11-11-163349 This session's files will be available at PreviousBuilds/Build.2008-11-11-163349 ##### MKEXT CREATION PHASE ##### Permissions are being set for the following extensions: All extensions have proper permissions for meta-kernel extension cache creation. Performing kextcache operation, please wait a moment... Meta-kernel extension cache creation failed! Aborting! i have no idea what this error is but all this has done was give me errors, i mean the instructions are pretty simple, but it simply doesn't work The issue is the fact you haven't specified any extensions in the Extensions directory. The whole purpose of slimbuild is to create a preboot disk with additional kernel extensions that will aid you in getting your system to boot, so you might try getting the proper extensions together so you can use the script. The script is failing to do what it is intended because its not meeting the set condition of requiring a meta-kernel extension file and is thus failing the consistency check in its meta kernel extension creation routine. Thanks for reminding me I meant to put a check in for this sort of scenario and I will do so now and release SlimbuildV2.1 soon in order to prevent anyone from getting that far without extensions... Link to comment Share on other sites More sharing options...
frutiger Posted November 13, 2008 Share Posted November 13, 2008 Is it possible to "Restore" a slimbuild ISO to an HD partition, and then set that partition active/choose it from GRUB, and then boot from it? I would try it myself, but am having other problems at the moment. Link to comment Share on other sites More sharing options...
sayagain Posted November 13, 2008 Share Posted November 13, 2008 I wonder if you guys could help me: I have an issue with "bless" command. I'm trying to install "Checkpoint Endpoint security - Pointsec for Mac 3.0" - it is a whole-disk-encryption program. It is intended for Intel Based Macs. It uses a 32mb file as a boot-image, blessed by the bless command. I'm installing it on a Thinkpad, with iAtkos v4.1i. Tried it with both GUID and MBR partition schemes, with Chameleon and Darwin-EFI bootloaders, and with AHCI or non_AHCI drivers. It doesn't help. The installer runs a script, which all works up until the "bless", which fails setting the BOOT flag on the image. Running "bless" in verbose mode, shows everything is successful up until the "setting boot" part......... I read somewhere that I should be using a Chameleon-modified bless binary, but I don't know where to get one of those. (I can post the log file if needed) I cannot contact CheckPoint and tell them... err.. guys... it doesn't work on my NOTbook-Pro......... nor on my NOCbook-Air... Link to comment Share on other sites More sharing options...
Guest Posted November 16, 2008 Share Posted November 16, 2008 Is it possible to "Restore" a slimbuild ISO to an HD partition, and then set that partition active/choose it from GRUB, and then boot from it? I would try it myself, but am having other problems at the moment. Hm.. come to think of it I don't see why it wouldn't be possible, though the partition scheme is Apple Partition Map -- this should be of little consequence as long as the bootloader knows where to find it as it simply contains an HFS+ partition with the files you'd need... I wonder if you guys could help me: I have an issue with "bless" command. I'm trying to install "Checkpoint Endpoint security - Pointsec for Mac 3.0" - it is a whole-disk-encryption program. It is intended for Intel Based Macs. It uses a 32mb file as a boot-image, blessed by the bless command. I'm installing it on a Thinkpad, with iAtkos v4.1i. Tried it with both GUID and MBR partition schemes, with Chameleon and Darwin-EFI bootloaders, and with AHCI or non_AHCI drivers. It doesn't help. The installer runs a script, which all works up until the "bless", which fails setting the BOOT flag on the image. Running "bless" in verbose mode, shows everything is successful up until the "setting boot" part......... I read somewhere that I should be using a Chameleon-modified bless binary, but I don't know where to get one of those. (I can post the log file if needed) I cannot contact CheckPoint and tell them... err.. guys... it doesn't work on my NOTbook-Pro......... nor on my NOCbook-Air... what you are propsing for the moment is out of reach for the bootloader to be able to handle, as it is the bootloader that is tasked with utilizing that encrypted boot image itself. Chameleon isn't capable of loading up stuff like that at this present time and from the sounds of it CheckPoint appears to perform some consistency checks to see if its running on a Mac platform as opposed to a hackintosh... Link to comment Share on other sites More sharing options...
nintendoguy Posted November 17, 2008 Share Posted November 17, 2008 can someone please help me with my problem. i really need to get a disk so if i screw up my efi partition i can have a backup cd. i have tried 2 different burners and both dont work with the image \. Link to comment Share on other sites More sharing options...
~pcwiz Posted November 19, 2008 Share Posted November 19, 2008 Hey guys, Doing a little bit o' work on the GUI here All there is to it is: Extensions go in Extensions folder Optional Kernel goes in kernel folder Optional com.apple.boot.plist goes in Plist folder Run shell script That's all there is to it right? Correct me if I am wrong, I didn't find a readme or anything in there. Link to comment Share on other sites More sharing options...
~pcwiz Posted November 19, 2008 Share Posted November 19, 2008 Hey guys, I'm almost 100% done coding the GUI for slimbuild 2.0. I did a test and it worked so fast and beautifully I almost cried Expect a release very soon, most likely in 2 more days. More details later Link to comment Share on other sites More sharing options...
H4ckster Posted November 19, 2008 Share Posted November 19, 2008 Hey guys, I'm almost 100% done coding the GUI for slimbuild 2.0. I did a test and it worked so fast and beautifully I almost cried Expect a release very soon, most likely in 2 more days. More details later Good News, Can't wait Link to comment Share on other sites More sharing options...
Recommended Posts