Jump to content
3 posts in this topic

Recommended Posts

Hi Leute

 

 

ich würde mir gern einen chameleon USB-bootstick einrichten.

 

Dafür muss man im Terminal arbeiten, was ich als Unix noob einfach nicht drauf hab.

 

wäre schön wenn mir jemand erklären könnte wie ich die scripts ausführen kann.

 

 

ich verwende dieses tuturial:http://aserebln.blogspot.com/ (punkt 10):

10.) Some Terminal Work

 

Now it's time for some work in the terminal. Don't be affraid, it's quite easy. The goal of this steps is to cleanup the USB-Stick, set the owner and permissions for kernel extensions and to build the kernel extensions cache file.

Login into an account with Administrator rights

Insert the EFIBOOT USB-Stick

Open the Terminal Application (Applications -> Utilities)

Become root with by entering "sudo -s" and providing your administrator account password

 

If you insert a removeable drive like an USB-Stick it gets mounted by Mac OS X with some options we don't want, like nosuid or noowners. Therefore we have to remount the USB-Stick without this special flags. Ok let's start

 

root@MacBook [~] > mount

/dev/disk0s2 on / (hfs, local, journaled)

devfs on /dev (devfs, local)

fdesc on /dev (fdesc, union)

map -hosts on /net (autofs, automounted)

map auto_home on /home (autofs, automounted)

/dev/disk0s3 on /Volumes/BOOTCAMP (ntfs, local, read-only, noowners)

/dev/disk1s2 on /Users/hhallas (hfs, local, nodev, nosuid, journaled)

/dev/disk2s1 on /Volumes/EFIBOOT (hfs, local, nodev, nosuid, journaled, noowners)

 

Some background info about Unix Devices. Under Unix devices can be accessed through special device files. You can find these device files normally in the directory /dev. Harddisks and also USB-Stick are named /dev/disk or /dev/rdisk. The first number is the disk counter. Then comes an "s" (stands for slice/partition) and another number, which is the partition number. You can see that the USB-Stick is the device /dev/disk2 and /dev/disk2s1 is the EFIBOOT partition on the USB-Stick. You can find this info also in the Disk Utility. Select the disk or partition and then "Info". Disk Identifier is the same as the device name under /dev. OK, now let's unmount and remount the USB-Stick. Find out which disk number has the USB-Stick in your case. In my case it is the number 2.

root@MacBook-Pro [~] > umount -f /Volumes/EFIBOOT

root@MacBook [~] > mkdir efitemp

root@MacBook [~] > mount_hfs /dev/disk2s1 efitemp/

root@MacBook [~] > mount

/dev/disk0s2 on / (hfs, local, journaled)

devfs on /dev (devfs, local)

fdesc on /dev (fdesc, union)

map -hosts on /net (autofs, automounted)

map auto_home on /home (autofs, automounted)

/dev/disk0s3 on /Volumes/BOOTCAMP (ntfs, local, read-only, noowners)

/dev/disk1s2 on /Users/hhallas (hfs, local, nodev, nosuid, journaled)

/dev/disk2s1 on /Users/hhallas/efitemp (hfs, local, journaled)

 

The USB-Stick is mounted now at the directory efitemp (which was created by mkdir efitemp) and without these special option (nosuid, noowner). Let's start with some cleanups.

> cd efitemp

root@MacBook [~/efitemp] > ls -la@

total 6336

drwxrwxr-x 17 root wheel 646 Jun 28 21:56 .

drwx------+ 35 hhallas staff 1258 Jun 28 23:31 ..

-rw-rw-r--@ 1 _unknown _unknown 6148 Jun 28 00:49 .DS_Store

com.apple.FinderInfo 32

drwx------ 3 root wheel 102 Jun 27 20:13 .Spotlight-V100

d-wx-wx-wt 3 root wheel 102 Jun 28 23:30 .Trashes

-rw-r--r-- 1 root wheel 0 Jun 27 20:13 .com.apple.timemachine.supported

drwx------ 4 root wheel 136 Jun 28 23:32 .fseventsd

-rw-r--r-- 1 root wheel 736736 Jun 27 13:36 EFIStudio.zip

drwxrwxr-x 7 root wheel 238 Jun 28 00:49 Extra

drwxr-xr-x 3 root wheel 102 Apr 1 16:17 IOAHCIBlockStorageInjector.kext

drwxrwxr-t 3 root wheel 102 Jun 27 20:22 Library

-rw-r--r-- 1 root wheel 2204417 Jun 27 13:38 OSX86Tools_1.0.150.zip

-rw-r--r-- 1 root wheel 279168 Jun 27 20:23 boot

-rw-r--r-- 1 _unknown _unknown 5344 Jun 28 21:56 l

drwxr-xr-x 4 root wheel 136 Apr 1 16:17 usr

 

The command "ls -la@" lists all the file and directories and also the extended attributes. We will now delete all these extended attributes (with xattr) and the .DS_Store files.

root@MacBook-Pro [~/efitemp] > find . -type d -exec xattr -d "com.apple.FinderInfo" {} \; -print

root@MacBook [~/efitemp] > find . -type f -exec xattr -d "com.apple.FinderInfo" {} \; -print

root@MacBook [~/efitemp] > find . -type d -exec xattr -d "com.apple. quarantine" {} \; -print

root@MacBook [~/efitemp] > find . -type f -exec xattr -d "com.apple. quarantine" {} \; -print

root@MacBook [~/efitemp] > find . -name ".DS_Store" -exec rm -f {} \; -print

 

Now let's set the ownership and permissions of the kernel extensions and build the kernel extensions cache file extensions.mkext.

 

root@MacBook [~/efitemp] > cd Extra/

root@MacBook [~/efitemp/Extra] > chmod -R 755 Extensions

root@MacBook [~/efitemp/Extra] > chown -R root:wheel Extensions

root@MacBook [~/efitemp/Extra] > kextcache -a i386 -m Extensions.mkext Extensions

root@MacBook [~/efitemp/Extra] > ls -la@

total 112

drwxrwxr-x 6 root wheel 204 Jun 28 23:58 .

drwxrwxr-x 16 root wheel 612 Jun 28 23:45 ..

drwxrwxr-x 6 root wheel 204 Jun 28 23:45 Extensions

-rw-r--r-- 1 root wheel 52374 Jun 28 23:45 Extensions.mkext

drwxrwxr-x 6 root wheel 204 Jun 26 10:52 Themes

root@MacBook [~/efitemp/Extra] > cd

root@MacBook [~] > umount -f efitemp

root@MacBook [~] > rmdir efitemp

 

 

That's all. You are done and almost ready for the first boot of your Chameleon-Mac.

 

kann ich den code überhaupt so verwenden oder muss ich ihn irgendwo abändern ?

im code steht z.b. öfter irgendwas von macbook :wacko:

bitte helft mir !

ok, hab mich nun ein bisschen in unix herreingelesen und glaub ich hab jetzt das meiste verstanden.

 

 

 

es sollte doch reichen wenn ich diese befehle nacheinander ins terminal eingebe:

root@MacBook [~] > mount
root@MacBook-Pro [~] > umount -f /Volumes/EFIBOOT
root@MacBook [~] > mkdir efitemp
root@MacBook [~] > mount_hfs /dev/disk2s1 efitemp/
root@MacBook [~] > mount
> cd efitemp
root@MacBook [~/efitemp] > ls -la@
root@MacBook-Pro [~/efitemp] > find . -type d -exec xattr -d "com.apple.FinderInfo" {} \; -print
root@MacBook [~/efitemp] > find . -type f -exec xattr -d "com.apple.FinderInfo" {} \; -print
root@MacBook [~/efitemp] > find . -type d -exec xattr -d "com.apple. quarantine" {} \; -print
root@MacBook [~/efitemp] > find . -type f -exec xattr -d "com.apple. quarantine" {} \; -print
root@MacBook [~/efitemp] > find . -name ".DS_Store" -exec rm -f {} \; -print
root@MacBook [~/efitemp] > cd Extra/
root@MacBook [~/efitemp/Extra] > chmod -R 755 Extensions
root@MacBook [~/efitemp/Extra] > chown -R root:wheel Extensions
root@MacBook [~/efitemp/Extra] > kextcache -a i386 -m Extensions.mkext Extensions
root@MacBook [~/efitemp/Extra] > ls -la@

 

 

 

ist das so weit richtig ?

bin mir nicht sicher ob z.b. die zeile "> cd efitemp" so stimmt

kanns leider noch nicht selber testen, da mein OS X noch nicht da ist.

  • 5 weeks later...
ok, hab mich nun ein bisschen in unix herreingelesen und glaub ich hab jetzt das meiste verstanden.

 

 

 

es sollte doch reichen wenn ich diese befehle nacheinander ins terminal eingebe:

root@MacBook [~] > mount
root@MacBook-Pro [~] > umount -f /Volumes/EFIBOOT
root@MacBook [~] > mkdir efitemp
root@MacBook [~] > mount_hfs /dev/disk2s1 efitemp/
root@MacBook [~] > mount
> cd efitemp
root@MacBook [~/efitemp] > ls -la@
root@MacBook-Pro [~/efitemp] > find . -type d -exec xattr -d "com.apple.FinderInfo" {} \; -print
root@MacBook [~/efitemp] > find . -type f -exec xattr -d "com.apple.FinderInfo" {} \; -print
root@MacBook [~/efitemp] > find . -type d -exec xattr -d "com.apple. quarantine" {} \; -print
root@MacBook [~/efitemp] > find . -type f -exec xattr -d "com.apple. quarantine" {} \; -print
root@MacBook [~/efitemp] > find . -name ".DS_Store" -exec rm -f {} \; -print
root@MacBook [~/efitemp] > cd Extra/
root@MacBook [~/efitemp/Extra] > chmod -R 755 Extensions
root@MacBook [~/efitemp/Extra] > chown -R root:wheel Extensions
root@MacBook [~/efitemp/Extra] > kextcache -a i386 -m Extensions.mkext Extensions
root@MacBook [~/efitemp/Extra] > ls -la@

 

 

 

ist das so weit richtig ?

bin mir nicht sicher ob z.b. die zeile "> cd efitemp" so stimmt

kanns leider noch nicht selber testen, da mein OS X noch nicht da ist.

 

Hi,

 

brauchst Du noch Hilfe, oder hast Du alles verstanden? Der Teil "root@MacBook [~/efitemp/Extra] >" ist der Prompt, so wie ich ihn eingerichtet habe. root ist der Username, MacBook der Rechnername. in den eckigen Klammern ist der aktuelle Pfad zu sehen. ~ steht für das Homeverzeichnis. Also alles inklusive dem > brauchst Du nicht tippen. Das ist der Prompt und kommt von der Shell. Kann bei Dir anders aussehen.

 

"mount" ohne Parameter zeigt die alle aktuell gemounteten Disks an (welche und wo). In der Ausgabe von mount sollst Du deinen USB Stick suchen (disknummer und partitionnummer). In meinem Fall disk2s1. Das brauchst Du um den Stick als root User neu zu mounten, ohne die speziellen Attribute nodev, noowners...

 

Also das Minimum, um aufzuräumen, wäre:

root@MacBook [~] > mount

diskXsY für deinen USB-Stick / Chameleonpartition suchen

root@MacBook-Pro [~] > umount -f /Volumes/EFIBOOT
root@MacBook [~] > mkdir efitemp
root@MacBook [~] > mount_hfs /dev/disk2s1 efitemp/
root@MacBook [~] > cd efitemp
root@MacBook [~/efitemp] > find . -type d -exec xattr -d "com.apple.FinderInfo" {} \; -print
root@MacBook [~/efitemp] > find . -type f -exec xattr -d "com.apple.FinderInfo" {} \; -print
root@MacBook [~/efitemp] > find . -type d -exec xattr -d "com.apple. quarantine" {} \; -print
root@MacBook [~/efitemp] > find . -type f -exec xattr -d "com.apple. quarantine" {} \; -print
root@MacBook [~/efitemp] > find . -name ".DS_Store" -exec rm -f {} \; -print
root@MacBook [~/efitemp] > cd Extra/
root@MacBook [~/efitemp/Extra] > chmod -R 755 Extensions
root@MacBook [~/efitemp/Extra] > chown -R root:wheel Extensions
root@MacBook [~/efitemp/Extra] > kextcache -a i386 -m Extensions.mkext Extensions

 

Absolut notwendig ist eigentlich nur das Setzen von owner/permissions mit chmod und chown.

 

Wenn Du noch irgendwelche Fragen hast, dann nur raus damit.

 

Bis denne

×
×
  • Create New...