<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>GIZ.me &#187; 10.5</title>
	<atom:link href="http://giz.me/tag/105/feed/" rel="self" type="application/rss+xml" />
	<link>http://giz.me</link>
	<description>for you</description>
	<lastBuildDate>Fri, 27 Jan 2012 09:40:07 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>OS X 10.5 zu Gast in VMware Fusion 2</title>
		<link>http://giz.me/2008/12/os-x-105-zu-gast-in-vmware-fusion-2/</link>
		<comments>http://giz.me/2008/12/os-x-105-zu-gast-in-vmware-fusion-2/#comments</comments>
		<pubDate>Wed, 17 Dec 2008 16:48:57 +0000</pubDate>
		<dc:creator>gizzard</dc:creator>
				<category><![CDATA[it]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[10.5]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[BIOS]]></category>
		<category><![CDATA[Bootloader]]></category>
		<category><![CDATA[Client]]></category>
		<category><![CDATA[Darwin]]></category>
		<category><![CDATA[DVD]]></category>
		<category><![CDATA[EFI]]></category>
		<category><![CDATA[Fusion]]></category>
		<category><![CDATA[Insanelymac]]></category>
		<category><![CDATA[ISO]]></category>
		<category><![CDATA[Kernel]]></category>
		<category><![CDATA[kext]]></category>
		<category><![CDATA[launchd]]></category>
		<category><![CDATA[Leopard]]></category>
		<category><![CDATA[openssl]]></category>
		<category><![CDATA[OS X]]></category>
		<category><![CDATA[OSX86project]]></category>
		<category><![CDATA[Parallels]]></category>
		<category><![CDATA[Patch]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[plist]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[ServerVersion.plist]]></category>
		<category><![CDATA[SystemVersion.plist]]></category>
		<category><![CDATA[Virtualisierung]]></category>
		<category><![CDATA[VMWare]]></category>
		<category><![CDATA[x86]]></category>

		<guid isPermaLink="false">http://giz.me/?p=324</guid>
		<description><![CDATA[Seit OS X auf x86 kompatibler Hardware läuft liegt der Schluss nahe es innerhalb einer virtuellen Maschine zu betreiben. So kann man ohne Befürchtungen die verschiedensten Sachen ausprobieren ohne dabei sein Produktivsystem zu gefährden. Da dies jedoch die Lizenz untersagt, hatte bisher kein Hersteller von Virtualisierungssoftware ein Produkt angeboten welches jenes Vorhaben ermöglicht. Mit der Servervariante von OS X 10.5 hat [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://giz.me/wp-content/uploads/2008/12/vmware_fusion.png" rel="lightbox[324]"><img class="size-thumbnail wp-image-327 alignright" title="vmware fusion" src="http://giz.me/wp-content/uploads/2008/12/vmware_fusion-150x150.png" alt="vmware fusion" width="135" height="135" /></a>Seit <a href="http://www.apple.com/de/macosx/">OS X</a> auf <a href="http://de.wikipedia.org/wiki/X86">x86</a> kompatibler Hardware läuft liegt der Schluss nahe es innerhalb einer virtuellen Maschine zu betreiben. So kann man ohne Befürchtungen die verschiedensten Sachen ausprobieren ohne dabei sein Produktivsystem zu gefährden. Da dies jedoch die Lizenz untersagt, hatte bisher kein Hersteller von Virtualisierungssoftware ein Produkt angeboten welches jenes Vorhaben ermöglicht. Mit der <a href="http://www.apple.com/de/server/macosx/">Servervariante von OS X 10.5</a> hat Apple jedoch die Lizenz bezüglich dessen gelockert und erlaubt nun das betreiben des Leopard Servers in einer Virtualisierunglösung die unter OS X installiert ist.</p>
<p>Mit der Version 2 brachte <a href="http://de.wikipedia.org/wiki/VMware">VMware</a> dann ihren Mac Pendant <a href="http://www.vmware.com/de/products/fusion/">Fusion</a> mit offiziellen Support für die Virtualisierung von OS X 10.5 Server heraus. Jedoch beschränkt sich die Unterstützung auch lediglich auf die Server Variante, der Versuch die Client Version zu installieren wird nach einer Überprüfung abgebrochen.</p>
<p>Leopard Server ist ohne Frage ein wirklich tolles Betriebssystem aber für den Einsatz als Testumgebung innerhalb einer VM absolut überdimensioniert und mit dem Preisen ab 458,99 € für 10 Benutzer bis 929,00 € für eine unlimitierte Benutzerzahl für diesen Anwendungszweck auch nicht gerade günstig. Wer allerdings bereit ist die Apple Lizenz nicht ganz wörtlich zu nehmen kann mit ein paar Handgriffen dennoch die Client Version in Fusion installieren. Um zu wissen wie man das anstellt ist es ganz nützlich ein paar technische Details hierzu zu erfahren.</p>
<p>Als erstes interessiert uns natürlich die Art und Weise wie Fusion prüft ob das zur Installation benutze Medium eine Server oder Client Variante beherbergt. Hierzu schaut das Programm sowohl auf der Installations DVD als auch unter der späteren installierten Version nach ob die Datei <strong>ServerVersion.plist</strong> unter <strong>/System/Library/CoreServices/</strong> existiert. Größe und Inhalt spielen dabei keine Rolle. Also können wir einfach von unserer Leopard DVD ein <a href="http://de.wikipedia.org/wiki/ISO-Abbild">ISO Abbild</a> erzeugen und selbiges mounten.</p>
<p>Mit dem Befehl <em><strong>t</strong></em><em><strong>ouch &#8220;/Volumes/Mac OS X Install DVD/System/Library/CoreServices/ServerVersion.plist&#8221;</strong> </em>erzeugen wir die benötigte Datei da wo sie hingehört. Nun das Image wieder unmounten und in Fusion als Installationsmedium angeben.</p>
<p>Jetzt müsste die Installation ohne Probleme durch schnurren, bevor wir jedoch in die frische Leopard Version booten können werden wir nochmals in das Installationsmedium booten und dort das Terminal ausführen. Hier erstellen wir die gleiche Datei auf dem eben installierte OS X: <strong><em>touch &#8220;/Volumes/Macintosh HD/System/Library/CoreServices/ServerVersion.plist&#8221; </em><span style="font-weight: normal;">(Macintosh HD ggf. durch Name der Festplatte korrigieren)</span></strong></p>
<p>Nun können wir uns über ein frisch installiertes Leopard freuen werden aber recht bald ein merkwürdiges Detail bemerken. Nicht nur Fusion denkt nun das er eine Server Variante ausführt sondern auch der <a href="http://www.apple.com/softwareupdate/">Apple Software Updater</a>. Er bietet nun die passenden Updates für diese Variante an mit denen wir natürlich nichts anfangen können. Dieses Fehlverhalten lässt sich zwar beheben indem wir die ServerVersion.plist löschen aber dann haben wir wieder den Salat mit dem Start der VM. Wir brauchen also die Datei bevor wir booten wollen sie aber löschen bevor wir uns einloggen. Ein Ausweg aus diesem Dilemma wäre es einen Daemon für <a href="http://de.wikipedia.org/wiki/Launchd">launchd</a> zu schreiben der uns diese Arbeit automatisiert abnimmt.</p>
<p>Erstellen wir also eine neue XML unter dem Pfad <strong>/Library/LaunchDaemons/me.giz.vmware.plist</strong> mit folgendem Inhalt:</p>
<pre class="brush: xml; tab-size: 2; title: ; notranslate">&lt;?xml version=”1.0″ encoding=”UTF-8″?&gt;
&lt;!DOCTYPE plist PUBLIC “-//Apple Computer//DTD PLIST 1.0//EN”
“http://www.apple.com/DTDs/PropertyList-1.0.dtd”&gt;
&lt;plist version=”1.0″&gt;
&lt;dict&gt;
&lt;key&gt;Label&lt;/key&gt;
&lt;string&gt;com.rectalogic.vmware&lt;/string&gt;
&lt;key&gt;ProgramArguments&lt;/key&gt;
&lt;array&gt;
&lt;string&gt;/bin/bash&lt;/string&gt;
&lt;string&gt;-c&lt;/string&gt;
&lt;string&gt;/bin/rm -f /System/Library/CoreServices/ServerVersion.plist; trap “/usr/bin/touch /System/Library/CoreServices/ServerVersion.plist; exit” SIGINT SIGTERM SIGHUP; sleep 999999 &amp;amp;amp; wait $!&lt;/string&gt;
&lt;/array&gt;
&lt;key&gt;KeepAlive&lt;/key&gt;
&lt;true/&gt;
&lt;key&gt;RunAtLoad&lt;/key&gt;
&lt;true/&gt;
&lt;/dict&gt;
&lt;/plist&gt;
</pre>
<p>Mit <strong><em>sudo launchctl load /Library/LaunchDaemons/me.giz.vmware.plist </em><span style="font-weight: normal;">registrieren wir die <a href="http://en.wikipedia.org/wiki/Property_list">PLIST</a> im LaunchDeamon. So wird nun dafür gesorgt das die Datei automatisch beim Login gelöscht und bei einem shutdown oder reboot neu angelegt wird. Ein wenig gefrickelt mag das schon wirken aber ich habe mir sagen lassen das dieses Vorgehen auch unter Parallels funktioniert. </span></strong></p>
<p><strong><span style="font-weight: normal;">Wer dem eigentlichen übel auf den Grund gehen will, nämlich der Überprüfung der Datei durch Fusion, dem zeige ich einen zweiten, etwas eleganteren Weg zum Ziel. Da sich ein Mac beim bootet vor allem durch ein <a href="http://de.wikipedia.org/wiki/Extensible_Firmware_Interface">EFI</a> von den <a href="http://de.wikipedia.org/wiki/Basic_Input_Output_System">BIOS</a> betriebenen PC&#8217;s unterscheidet setzt VMware, wenn es erkennt es soll ein OS X starten, einen speziellen <a href="http://de.wikipedia.org/wiki/Boot-Loader">Bootloader</a> auf der Basis von <a href="http://de.wikipedia.org/wiki/Darwin_(Betriebssystem)">Darwin</a> ein. Mit der gleichen Methodik wie schon die Hacker vom <a href="http://wiki.osx86project.org/wiki/index.php/Main_Page">OSX86project</a> bzw. <a href="http://www.insanelymac.com/">Insanelymac</a> vorgehen wird hier dem Kernel die benötigten Informationen die normalerweise das EFI bereitstellt untergejubelt. Zusätzlich bindet VMware über eine RAM-Disk zwei Kernel Extensions ein die dafür sorgen das sich OS X in der virtuellen Umgebung wohl fühlt.</span></strong></p>
<p>Dieser Bootloader befindet sich im Verzeichnis <strong>/Library/Application Support/VMware Fusion/isoimages/</strong></p>
<p><strong></strong>Dumm ist nur das die ISO digital signiert ist, was bedeutet das jede Änderung sofort auffällt. Genial wiederum ist das die zur Überprüfung verwendete <a href="http://de.wikipedia.org/wiki/Digitales_Zertifikat">Signierung</a> im selben Verzeichnis liegt. Das bedeutet das wir nachdem wir den Bootloader gepatcht haben einfach unser eigenes Zertifikat erstellen und sich VMware nicht beschweren kann. Unser Ziel ist nun die Überprüfung der <strong>ServerVersion.plist</strong> auf <strong>SystemVersion.plist</strong> ab zu ändern da diese Datei auf beiden Versionen vorkommt.</p>
<p>Mit den folgenden Befehlen sichern wir erst die Originaldateien, ersetzen die Vorkommen von ServerVersion.plist durch SystemVersion.plist und signieren die gepatche ISO mit unserem eigenen Schlüssel:</p>
<pre class="brush: bash; title: ; notranslate">
sudo bash
cd &amp;quot;/Library/Application Support/VMware Fusion/isoimages&amp;quot;
mkdir original
mv darwin.iso tools-key.pub *.sig original
perl -n -p -e &amp;quot;s/ServerVersion.plist/SystemVersion.plist/g&amp;quot;&amp;amp;lt; original/darwin.iso &amp;amp;gt; darwin.iso
openssl genrsa -out tools-priv.pem 2048
openssl rsa -in tools-priv.pem -pubout -out tools-key.pub
openssl dgst -sha1 -sign tools-priv.pem &amp;amp;lt; darwin.iso &amp;amp;gt; darwin.iso.sig
for A in *.iso ; do openssl dgst -sha1 -sign tools-priv.pem &amp;amp;lt; $A &amp;amp;gt; $A.sig ; done
exit
</pre>
<p><strong><span style="font-weight: normal;">Nun sollte Fusion auch eine Leopard Client DVD installieren können ohne das man irgendwelche zusätzlichen Hacks anwendet. Hierbei muss man aber noch beachten das sich nur eine separat gekaufte <a href="http://store.apple.com/de/product/MB576D/A?mco=MTIxODk3Mw">Leopard Retail DVD</a> eignet da die mitgelieferten Versionen speziell auf das beiliegende Gerät zugeschnitten sind und nicht mit der virtuellen Hardware zurecht kommt. VMware bezeichnet außerdem die Unterstützung von OS X als experimentell, so funktioniert z. B. die Soundausgabe nicht und auch der Versuch Dateien per Drag&#8217;n'Drop auszutauschen scheitert. Hier muss man auf die Gemeinsamen Ordner zurück greifen die man in Fusion aktivieren kann. Wer die Energiesparoptionen komplett ausschaltet vermeidet die Gefahr das das Gast-OS X gelegentlich einfrieren könnte.</span></strong></p>
<p>Ansonsten verhält sich der Leopard vorzüglich in seinem virtuellen Käfig. Das Netzwerk funktioniert einwandfrei und Systemanimation laufen flüssig ab, selbst die offiziellen Updates werden tadellos eingespielt. Wer sein Fusion updatet und feststellt das OS X nicht mehr bootet muss eventuell den Patch erneut anwenden da unter Umständen der gepatchte Bootloader überschrieben wird.</p>
 <p><a href="http://giz.me/?flattrss_redirect&amp;id=324&amp;md5=c13c306fc1fb6a0eb9a4db41b98b0949" title="Flattr" target="_blank"><img src="http://giz.me/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://giz.me/2008/12/os-x-105-zu-gast-in-vmware-fusion-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cocoa Programming for Mac OS X</title>
		<link>http://giz.me/2008/06/cocoa-programming-for-mac-os-x/</link>
		<comments>http://giz.me/2008/06/cocoa-programming-for-mac-os-x/#comments</comments>
		<pubDate>Sun, 01 Jun 2008 04:24:35 +0000</pubDate>
		<dc:creator>gizzard</dc:creator>
				<category><![CDATA[it]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[10.4]]></category>
		<category><![CDATA[10.5]]></category>
		<category><![CDATA[Aaron Hillegass]]></category>
		<category><![CDATA[ADC]]></category>
		<category><![CDATA[Addision-Wesley]]></category>
		<category><![CDATA[Amazon]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[Big Nerd Ranch]]></category>
		<category><![CDATA[Cocoa]]></category>
		<category><![CDATA[Core Animation]]></category>
		<category><![CDATA[Core Data]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[Garbage Collector]]></category>
		<category><![CDATA[Instruments]]></category>
		<category><![CDATA[Interface Builder]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[NeXTStep]]></category>
		<category><![CDATA[Objective-C 2]]></category>
		<category><![CDATA[OS X]]></category>
		<category><![CDATA[Programmierung]]></category>
		<category><![CDATA[Properties]]></category>
		<category><![CDATA[Wall Street]]></category>
		<category><![CDATA[XCode 3]]></category>

		<guid isPermaLink="false">http://dev.giz.me/?p=191</guid>
		<description><![CDATA[Seit ungefähr 2 Wochen ist die dritte Edition von Cocoa Programming for Mac OS X erhältlich. Dieses Buch wird in Fachkreisen auch gerne der &#8220;Hillegass&#8221; genannt da der Autor Aaron Hillegass mit seiner Arbeit ein de facto Standardwerk zur Cocoa Programmierung, ähnlich Stroustrup mit seinem The C++ Programming Language, geschaffen hat. Aaron Hillegass schrieb nachdem [...]]]></description>
			<content:encoded><![CDATA[<p>Seit ungefähr 2 Wochen ist die dritte Edition von Cocoa Programming for Mac OS X erhältlich. Dieses Buch wird in Fachkreisen auch gerne der &#8220;Hillegass&#8221; genannt da der Autor <a href="http://www.bignerdranch.com/instructors/hillegass.shtml">Aaron Hillegass</a> mit seiner Arbeit ein de facto Standardwerk zur Cocoa Programmierung, ähnlich <a href="http://de.wikipedia.org/wiki/Bjarne_Stroustrup">Stroustrup</a> mit seinem The C++ Programming Language, geschaffen hat. Aaron Hillegass schrieb nachdem er die Hochschule absolvierte Programme unter <a href="http://de.wikipedia.org/wiki/NeXTStep"> NEXTSTEP </a>, unteranderem auch für die Wall Street. Dadurch wurde er Angestellter bei NeXTStep und durch den Aufkauf auch später bei Apple selbst. Kurz danach entschied er sich zur dot-com Phase ein solches Unternehmen zu Gründen. Nachdem Apple Hillegass bat ihre Programmier in Cocoa (als Nachfolger von der NEXTSTEP API) einzuweisen lies er die Pläne aber später zu Gunsten der <a href="http://www.bignerdranch.com/">Big Nerd Ranch</a>, die sich auf Training und Consulting rund um Cocoa Applikationen spezialisert, wieder fallen. Basierend auf den Kursen die die Big Nerd Rand anbietet bringt Hillegass mit dem Addision-Wesley nun jetzt eine aktualisierte Version seines Buches heraus. Jedem der neu in die Cocoa Programmierung einsteigt wird dieses Werk empfohlen und das auch nicht zu unrecht.</p>
<p>2 Tage nachdem das Buch bei <a href="http://www.amazon.com/Cocoa-Programming-Mac-OS-3rd/dp/0321503619/ref=pd_bbs_1?ie=UTF8&#038;s=books&#038;qid=1212286212&#038;sr=8-1">Amazon.com </a> gelistet wurde bestellte ich mir sofort die Ausgabe für knapp 30 US Dollar. Inklusive Standard Versand kam ich dank des günstigen Dollar Kurses auf knappe 26 Euro. Heute kam das Buch endlich bei mir an und ich konnte es kurz begutachten bevor ich es direkt an einen Cocoa Programmierkollegen weiter verliehen habe. Es ist ein grösseres aber handliches Taschenbuch in dem man bequem blättern kann und es gegebenenfalls auch mal in seinen Rucksack packen kann.</p>
<p>Inhaltlich deckt es 80% aller Sachen im Cocoa Framework ab, die restlichen 20% sind zu spezielle Dinge die man sowieso besser im <a href="http://developer.apple.com">Apple Developer Center</a> nachschlägt. Der Schreibstil ist sehr angenehm und lässt sich selbst den nicht ganz so englischfester Leser flott durchlesen. Es ist sehr gut strukturiert und ohne viel Bla Bla werden anhand passender Beispiele die Anwendungsfälle von Cocoa Techniken an den Mann gebracht. Da das Buch so aktuell ist behandelt es natürlich auch die neuen Funktionen von Xcode 3 und dem neuen Interfaces Builder, Core Data und Core Animation sowie alles rund um die zahlreichen Neuerungen Objective-C 2.0 wie Properties und Garbage Collector. Es wird gezeigt wie man seine Programme mit Instruments analysiert und wie man die Apple Dokumentation effektiv nutzt. Kurz und gut, wer wissen will wie man und OS X 10.4 und 10.5 programmiert sollte dieses Buch in seinem Regal stehen haben. Seit 1-2 Tagen wird das Buch jetzt auch im <a href="http://www.amazon.de/gp/product/0321503619/ref=s9sims_c4_at1?pf_rd_m=A3JWKAKR8XB7XF&#038;pf_rd_s=center-2&#038;pf_rd_r=05V0AF4XVJ4TEF97TH5V&#038;pf_rd_t=101&#038;pf_rd_p=158843691&#038;pf_rd_i=301128">deutschen Amazon Store</a> angeboten, der Preis wurde noch einmal nach unten auf sehr humane 32,95 € korrigiert.</p>
]]></content:encoded>
			<wfw:commentRss>http://giz.me/2008/06/cocoa-programming-for-mac-os-x/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Darwin 9.0 Source Code</title>
		<link>http://giz.me/2007/11/darwin-90-source-code/</link>
		<comments>http://giz.me/2007/11/darwin-90-source-code/#comments</comments>
		<pubDate>Sun, 04 Nov 2007 01:20:22 +0000</pubDate>
		<dc:creator>gizzard</dc:creator>
				<category><![CDATA[it]]></category>
		<category><![CDATA[10.5]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[Darwin]]></category>
		<category><![CDATA[ISO]]></category>
		<category><![CDATA[Leopard]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[OS X]]></category>
		<category><![CDATA[Source Code]]></category>

		<guid isPermaLink="false">http://dev.giz.me/?p=83</guid>
		<description><![CDATA[Heureka, das ging aber diesmal flott. Apple hat den Darwin Source Code von OS X 10.5 Leopard veröffentlich. Leider gibt es noch kein fertiges Binary ISO aber wer schonmal ein wenig in die Quellen reinschnuppern möchte kann dies auf www.opensource.apple.com/darwinsource/ tun.]]></description>
			<content:encoded><![CDATA[<p>Heureka, das ging aber diesmal flott. Apple hat den Darwin Source Code von OS X 10.5 Leopard veröffentlich. Leider gibt es noch kein fertiges Binary ISO aber wer schonmal ein wenig in die Quellen reinschnuppern möchte kann dies auf <a href="http://www.opensource.apple.com/darwinsource/"><br />
www.opensource.apple.com/darwinsource/</a> tun.</p>
]]></content:encoded>
			<wfw:commentRss>http://giz.me/2007/11/darwin-90-source-code/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

