Help - Search - Members - Calendar
Full Version: OSx86 Tools Utility
InsanelyMac Forum > OSx86 Project > New Releases and Updates
Pages: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
~pcwiz
Brand new really close to final beta build 148 with a whole host of new features is available NOW! UPDATED AGAIN LATEST BUILD! (Updated June 16 2008)

NOTE: At the moment this utility is only compatible with Mac OS X 10.5.x Leopard, earlier versions of OS X are not supported

Click to view attachment

Some of you may recall earlier that I had a set of little apps called the OSx86 Tools Suite, including a Kernel Installer. Now using Xcode (AppleScript Studio) I've created a mega little app with everything built into one interface. Here are the current functions it performs (in the attached public beta):

* Repair Permissions
* Set permissions for Extensions folder
* Clear Extensions cache
* Run CRON Maintenance Scripts
* Backup Extensions
* Restore Extensions backup
* Backup kernel
* Install or restore kernel
* Force shutdown computer
* Force restart computer
* Install kext (one at a time) to any drive
* Running FDISK on Partitions/Disks
* Installing EFI v8 by netkas
* Installing Chameleon (fake EFI implementation) by zef
* Install standard Darwin (no EFI) bootloader
* Add EFI boot strings
* Add kernel flags, quietboot, timeout, and graphics mode to com.apple.Boot.plist
* View PCI Device/Vendor information and IDs
* Nice new GUI screen for viewing device IDs (LSPCI)
* Minor bugs fixed, Restart buttons added
* Restore System to Factory Defaults
* About this Mac modifier (not zephy's, this is a different one of our own, set CPU, RAM, and Image!)
* Clear User Application Cache
* Clear System Application Cache
* Update Prebindings
* New version of Chameleon (1.0.11)
* A new icon (DiaboliK's icon with Paranoid Marvin mod)
* Self updater
* Built in application help
* Touch Extensions Folder
* Enable/Disable Quartz GL

To do list before final release:

* Fix Boot Editor EFI string bug

Some extra stuff that might possibly be done tongue.gif

* Make bootable OS X USB thumb drive portable, with OSX86Tools preinstalled smile.gif

I need eddie's help for fixing the boot editor, as soon as he can do it.

Calling ALL shell scripting gurus! Help fix the shell script that is the only thing stopping OSx86 Tools from final release!

All future builds will all be public, since its so close to final smile.gif

A close to final public beta of this utility is attached. (updated: June 16 2008) smile.gif Please check regularly and grab the final release when it is available.

IMPORTANT NOTE: At this point, bug reporting is CRITICAL. I need to work out any bugs, especially ones that can harm the computer. I've tested most of these functions but I can't spot everything. I kindly request that anyone who has downloaded this give me their feedback, this helps the development of this project.

All bugs are to be reported in the official OSx86 Tools bug tracker here.

Official OSx86 Tools site is up and running here.

Downloads page on Google Code here.

Thanks a ton to eddie11c for shell scripting, skyhighmac for design concept, netkas for EFI v8, zef for Chameleon EFI, DiaboliK for the original icon, and Paranoid Marvin for the excellent variation of DiaboliK's icon used now. And I suppose some credit goes to joblo10 or x86dev.org for porting PCI Utils to OS X!
~pcwiz
I'm not sure about a Kext installer, that's why I put it in that note, but I guess I'll try. But it will only be able to install one kext at a time, but it will be able to install to a different drive tongue.gif I'm not the best at programming wink.gif
THEHAWKs
~pcwiz Nice Tool Set for people who don't remember all of the cmds and for the lazy ones who just want to point and click.
mitch_de
Hi,
would be great to make an Tool which corrects MBR / darwin bootloader Problems (active bootpartition, EFI Install, MBR Install).

I only now to do that with terminal commands (fdisk commands / efiinstall.sh) or reinstall OS X with newer OSX86 install DVD.


Lot of newbees have problem with blinking cursor (wrong active partition, darwin/efi bootloader overwritten by XP/Vista)



Thanks
NSCXP2005
Hi ~pcwiz,

can this utility be used on the VMWare version of Leopard?
If yes, what aspects can be used and what can not.

All the best

NSCXP2005
~pcwiz
SticMAN,

I'll get to work on it, but like I said it will only be able to install one kext at a time, not multiple like kext helper.

THEHAWKs,

Thanks!

mitch_de,

Can you give me the steps on exactly how you do that, and I will add it if possible smile.gif

NSCXP2005,

Yes this utility can be used with VMware, all aspects of it smile.gif Its fully compatible.

P.S. After I have added the kext installer option (if possible) then I will post up a public beta smile.gif
iSkylla
I think it all sucks, trash it.

Just kidding, I second the kext install on another HD though, that would be great.

Scripts where you global variables, you can have the user fill in the volume name and then the script would be

/Volumes/(name)/System/Library/Extensions

but then again, I don't know how you're programming it.
jakeb
You pretty much included everything that I could possibly use.
I haven't been on the forums since October, so my memory isn't super on what all to do.
Good job!
~pcwiz
iSkylla, yep I got that. I just used a Choose file dialog and set it to record the data into a variable, then use the POSIX command to turn the ":" separators in the file path into "/" for using in a shell script.

I am having a bit of a problem with the kext installer. I got all the installation down, but I can't seem to get the backup and setting permissions functions. The problem is see, when I get the path using POSIX and the choose file dialog, the end result of the info stored in the variable is like this:

/Whatever/folder/the/kext/is/in/the_kext.kext

The problem is, I need to separate "the_kext.kext" (the filename) from the rest of it (the full path). I'm not sure how I would go abouts doing this. I'll poke around and see what I can find.


Never mind, fixed that. But another problem came up now, with the POSIX command. I posted a new topic here:

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

Once I figure out how, its a straight way to making the kernel installer feature smile.gif


W00T figured it out. The only thing I need to do know is auto detection of backups...
maclinux
QUOTE(THEHAWKs @ May 14 2008, 05:51 AM) *
~pcwiz Nice Tool Set for people who don't remember all of the cmds and for the lazy ones who just want to point and click.


Isnt that why we use OSX? blink.gif

And thank you ~PCWiz biggrin.gif
Mebster
QUOTE(SticMAN @ May 14 2008, 05:40 AM) *
a Kext installer that allows you to install kexts to a different partition or different Harddrive!!!

Sorry if this is a stupid question, but why would you want to install kexts on a different partition other than the one you're currently working on?

Also pcwiz, is it really copyrighted? wink.gif

Nice app mate.
~pcwiz
That's exactly what I was thinking, there isn't much point in installing to other partitions since sometimes permissions don't set properly--which may result in total disaster--and some other reasons. Hey, but if that's what people want that's what people get wink.gif

Yes, it is copyrighted. I got the rights from "PCWiz Copyrights Corporation" tongue.gif

Thanks!

P.S. Its almost done smile.gif The only function that needs implementing is the backup function. So basically, if a kext is about to be replaced, the old version will be backed up. I need a little bit of code to detect if the file already exists, and then take action from there. The problem is that all the scriptlets I try don't work...
eddie11c
I am writing a simple script to do the fdisk and efi install operations, not sure there is an easy way to include it though.
~pcwiz
I'm pretty sure there is a way to call a script from within AppleScript smile.gif Send my a copy of the script and I can probably include it wink.gif

Update: I got past the point of implementing the backup function smile.gif Just my luck though...another problem arose. Now I have to find a way to check if the backup folder exists, and if not, to create it. Should be relatively simple...
SticMAC™
Not stupid at all!! I have a working drive of 10.5.2, but experiment on another drive with other distro's etc, when one then makes a booboo, one can reinstall kexts (like GMAX1300, 6 of them!) without having to copy, CHMOD,CHOWN all of it!
Also if run 10.4.11 or something and you would like to update your 10.5.2 on another drive......

So there is a use for it?!


S

QUOTE(Mebster @ May 15 2008, 04:06 AM) *
Sorry if this is a stupid question, but why would you want to install kexts on a different partition other than the one you're currently working on?

Also pcwiz, is it really copyrighted? wink.gif

Nice app mate.
Mebster
QUOTE(SticMAN @ May 15 2008, 05:08 AM) *
Not stupid at all!! I have a working drive of 10.5.2, but experiment on another drive with other distro's etc, when one then makes a booboo, one can reinstall kexts (like GMAX1300, 6 of them!) without having to copy, CHMOD,CHOWN all of it!
Also if run 10.4.11 or something and you would like to update your 10.5.2 on another drive......

So there is a use for it?!
S

I see, interesting.
scoobydu

Not sure if it has been mentioned already, but;

1) Boot fix, making the disk bootable.
2) Install EFI commands
3) Install standard darwin bootloader

Would be really nice additions to your tool for me smile.gif

Getting tired of typing the same commands when I try new installs wink.gif

Thanks in advance
~pcwiz
Great news everyone. I got the kext installer function down and pat, and it can install to a different drive smile.gif After hours of troubleshooting stuff I finally got it. eddie11c send me his script, I'll see what I can do but it really seems quite hard to put into AppleScript form.

scoobydu,

Do you have a list of Terminal commands for this purpose? A set of Terminal commands would be much easier to incorporate.

P.S. Uploaded public beta of this utility on first post. Much appreciated if you could test it and post results here smile.gif
iSkylla
It's nice to be able to install kexts to a different drive but it's much easier to just create a script with a dynamic global var.
~pcwiz
Ah well, like SticMAN himself said, he's not gonna stop pestering me until I do it, and its done! I'm still looking for functions to add. Anything that can be done in Terminal or AppleScript can be added smile.gif
eddie11c
Sent you an updated version in the correct format. If you double click it it should launch an instance of terminal now. Just need your applescript to launch it instead.
~pcwiz
So that's it? Nothing else required? I could do that in 1 minute right now. One thing though, would you have to launch the script with admin privs or is that automatically done?
eddie11c
As far as I know, admin priv is not needed.
~pcwiz
OK thanks. All I need to know now is how to run a include that Utility executable in the Applescript studio project, and then how to call on that Utility terminal instance from within the script. I'll try and research that now wink.gif
Airr
Two simple requests:

1 - Center (more or less) the window on the screen:

CODE
on launched theObject
(*Center the Window...sort of...*)
tell window of theObject to center
end launched


2 - Exit the app when the window is closed (there's no 'cancel' buton):

CODE
on should quit after last window closed theObject
(*Completely exits app when window is closed.*)
return true
end should quit after last window closed


Nice App!

AIR.
~pcwiz
Thanks Air, but for some reason it doesn't work. I pasted the first one at the very top of my script and the second one at the very bottom, but none of them seem to be taking effect sad.gif

In good news, I have integrated eddie11c's script into the new build and I will upload it in a sec.

EDIT: I don't think I can upload the new one just yet, I need to get some source files...
Airr
QUOTE(~pcwiz @ May 15 2008, 10:47 PM) *
Thanks Air, but for some reason it doesn't work. I pasted the first one at the very top of my script and the second one at the very bottom, but none of them seem to be taking effect sad.gif


You probably need to connect the [Application->Should Quit After Last Window Closed] and the [Application->Launched] events in IB to your main applescript...

AIR.
~pcwiz
Sorry Airr, I'm sorta an Interface Builder noob, can you tell me where I can find those options?

Never mind, found it, and it works! Thanks!.

P.S. I was wondering if anyone could design an icon for this app?
eddie11c
Ok glad you got it working, as per my PM please include SetFile for hiding boot as well as kernels if your including that option also. It's a nice and easy way to hide them.
~pcwiz
Okay, couple questions eddie,

1) In the EFI-FILES folder you gave me, are the files in the "Files in usr" folder supposed to be just installed into /usr/ or are they supposed to be installed into /usr/standalone/i386

2) How would I use the SetFile command?
eddie11c
All you need to know about Setfile HERE

The EFI files need to be in /usr/standalone/i386 the way script is currently. I would also use setfile to hide boot in the root of the drive as well as chown it so you have to enter pw to delete.
~pcwiz
Thank you!

So let me get this straight, I run these commands:

CODE
SetFile /boot -a V
chown -R root:wheel /boot
chmod -R 755 /boot


Would that work?

Thanks!
eddie11c
No that would not work. For best access with SetFile it needs to be installed to /bin. This way you can access the command from any directory.

So -
CODE
cp <loc to setfile> /bin
cd /
setfile -a V boot
chown -R root:wheel /boot
chmod -R 755 /boot

~pcwiz
Aha. I see! I made the mistake of assuming that SetFile was on every OS X computer, when its only with Dev. Tools. But instead of doing "cd /" I can just do:

setfile -a V /boot

Right? I'll be on my way smile.gif
eddie11c
I don't think that will work, think there is a reason i copied it to /bin.
SticMAC™
Wow!! It works!!(not that I doubted you!?)

Two cosmetic things:
During the install of a kext, when you have to choose WHERE to install, the line reads "Please choose the volume(from Devices List to install kernel to." it should read:"Please choose the volume (from Devices List to install kext to."

Lineup and size the "Install a Kext " with the others and maybe at the bottom, because it is less important than the other commands!?

Sticman

QUOTE(~pcwiz @ May 16 2008, 01:59 AM) *
Ah well, like SticMAN himself said, he's not gonna stop pestering me until I do it, and its done! I'm still looking for functions to add. Anything that can be done in Terminal or AppleScript can be added smile.gif
Airr
QUOTE(eddie11c @ May 16 2008, 12:13 AM) *
No that would not work. For best access with SetFile it needs to be installed to /bin. This way you can access the command from any directory.

So -
CODE
cp <loc to setfile> /bin
     cd /
     setfile -a V boot
     chown -R root:wheel /boot
     chmod -R 755 /boot


I'm not exactly sure what you guys are doing, but instead of copying setfile to /bin, if you're in the directory that contains setfile, couldn't you just do:

CODE
./setfile -a V /boot

or

just use the full path?


Sorry for butting in....

AIR.
~pcwiz
SticMAN,

Yeah sorry about that...I copied bits of code from the kernel installer, but in the next build both those problems are fixed smile.gif

eddie11c,

This is what I am proposing:

CODE
cp <loc to setfile> /bin
setfile -a V /boot
chown -R root:wheel /boot
chmod -R 755 /boot


I am just replacing:

CODE
cd /
setfile -a V boot


With:

CODE
setfile -a V /boot


It ultimately yields the same result. The reason for this being is in Applescript with the do shell script () command it doesn't play nice with multi line operations like changing directory and doing something in that directory. I'll get this done tomorrow, seems easy smile.gif
scoobydu
QUOTE(~pcwiz @ May 16 2008, 12:11 AM) *
Great news everyone. I got the kext installer function down and pat, and it can install to a different drive smile.gif After hours of troubleshooting stuff I finally got it. eddie11c send me his script, I'll see what I can do but it really seems quite hard to put into AppleScript form.

scoobydu,

Do you have a list of Terminal commands for this purpose? A set of Terminal commands would be much easier to incorporate.

P.S. Uploaded public beta of this utility on first post. Much appreciated if you could test it and post results here smile.gif


I can put one together sure, but will have to be over the weekend unfortunately ..
eddie11c
QUOTE(Airr @ May 16 2008, 04:45 AM) *
I'm not exactly sure what you guys are doing, but instead of copying setfile to /bin, if you're in the directory that contains setfile, couldn't you just do:

CODE
./setfile -a V /boot

or

just use the full path?


Sorry for butting in....

AIR.

I think this did not work when I tried it(can't remember for sure), Setfile has some quirks to get around.


QUOTE(~pcwiz @ May 16 2008, 05:39 AM) *
SticMAN,

Yeah sorry about that...I copied bits of code from the kernel installer, but in the next build both those problems are fixed smile.gif

eddie11c,

This is what I am proposing:

CODE
cp <loc to setfile> /bin
setfile -a V /boot
chown -R root:wheel /boot
chmod -R 755 /boot


I am just replacing:

CODE
cd /
setfile -a V boot


With:

CODE
setfile -a V /boot


It ultimately yields the same result. The reason for this being is in Applescript with the do shell script () command it doesn't play nice with multi line operations like changing directory and doing something in that directory. I'll get this done tomorrow, seems easy smile.gif


Did this work? I could have sworn I had issues trying to get it to work like this before. Alternately you could add a gui for setfile to hide files and folders. Use the open dialog to browse for file or folder to hide. Get the location and assign to a variable to run through setfile. The -a V works for all files and folders.
~pcwiz
scooybdu,

Great, thanks!

eddie11c,

Not at my hack right now but I'll test that one command today. I have a file called "mach_kernel.backup" in my root, so I'll run this command and see if it hides it:

CODE
SetFile -a V /mach_kernel.backup


If it works, then it should work in the script as well. BTW, when I am done the EFI/FDISK thing, I have no way to test it since I have NO spare HDs or partitions, do you think you could test it eddie?
eddie11c
The script itself works, already tested. As long as you have root authorization in terminal. But I can indeed test it once you get it up and running. I think the hide function would be a nice addition, hope you get that sorted out as well. Not everyone likes to poke around all the little Apple Binaries to see what they do.
~pcwiz
Thanks! I'll send you a copy of it as soon as I'm done smile.gif Basically, the script will first read the root of the partition for the "boot" file. If it does not exist, then it will prompt the user for confirmation to install some "installation source files" which = all the EFI files installed into /usr/standalone/i386, the boot file installed into root, and the SetFile app installed into /bin/

This will happen only once (on first use) so it doesn't bother the user anymore. I will also include a "Reinstall EFI source files" option for those who somehow manage to corrupt those files.
Redliner
now, when I tried the latest iAtkos it bricked my old install and I tried to restore from my Time machine disc, however it couldn't actually start up, so is there some way you could make some sort of app to install efi on that drive because i keep trying to do it manually and it doesn't like me. That to me would be worth money$$$$$$$$$...

ok maybe just $$$ thanks guys!
~pcwiz
Yes, that's what me and eddie11c are working on Redliner. I'll have it up and running by today, send it to eddie11c for testing, and if he gives me the thumbs up I'll post it up.
Redliner
sweet, now that's half-way to what I was talking about in my PM earlier!
scoobydu
To install darwin I use;

diskutil unmount /dev/diskXsx
dd if=boot1h of=/dev/rdiskXsx bs=512 count=1
diskutil unmount /dev/diskXsx
./startupfiletool -v /dev/rdiskXsx boot

then for good measure;

bless -device /dev/diskXsx -setBoot –verbose
diskutil mount /dev/diskXsx
bless -mount /Volumes/YOUR_VOLUME_NAME -setBoot -verbose

For some reason today to get it to work i also had to do this;

fdisk -u /dev/rdisk0

Perhaps trying different options screwed up my mbr?

ps: I don't claim to be the owner of this, just collated from many posts in this forum smile.gif

btw: are you able to manipulate fdisk to make the partition active? not sure you can do it in scripts?
~pcwiz
scoobydu,

That's pretty much what happens with eddie11c's script I am working on integrating wink.gif

EDIT: eddie's installs the EFI bootloader, not the standard Darwin one. Just curious, why would you want to install the standard bootloader?
SuperNet33
So will this fix shutdown issues? Or will only work when u hit then force shutdown
~pcwiz
Only when you hit force shutdown, sorry sad.gif

P.S. To cheer things up how 'bout a pic of the latest build of the app:

Click to view attachment

Hope everyone is satisfied smile.gif I've sent over a fixed version of this to eddie11c for testing. If he tests it and confirms that its OK then I'm good to go to release it smile.gif
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.