Archive for November, 2007

Vacation anyone?

Tuesday, November 27th, 2007

My latest delivery from the USPS says my dreams are about to come true! This offer is for two, and is real, and no is mistake. How could we lose? Who wants to come with?

image of a piece of mail

netbooting

Tuesday, November 27th, 2007

Did you ever want to netboot one machine by plugging it in to another one that’s running a netboot server? If the "server" is running mac OS X 10.5 … well, here is one way to skin the cat:

bash-3.2# cat /etc/bootpd.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC
 "-//Apple Computer//DTD PLIST 1.0//EN"
 "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>bootp_enabled</key>
	<false/>
	<key>dhcp_enabled</key>
	<string>en0</string>
	<key>netboot_enabled</key>
	<string>en0</string>
	<key>Subnets</key>
	<array>
 		<dict>
 			<key>name</key>
 			<string>10.0.4.0</string>
 			<key>net_address</key>
 			<string>10.0.4.0</string>
 			<key>net_mask</key>
 			<string>255.255.255.0</string>
 			<key>net_range</key>
			<array>
				<string>10.0.4.2</string>
				<string>10.0.4.9</string>
			</array>
 			<key>allocate</key>
			<true/>
 			<key>dhcp_router</key>
 			<string>10.0.4.1</string>
 		</dict>
        </array>
</dict>
</plist>

Don’t forget that you also need to make sure tftp is running and not blocked by a firewall, and that you copied all the appropriate resources into /private/tftpboot. You may need to create a folder and a symlink like this:

bash-3.2# mkdir -p /private/tftpboot/private
bash-3.2# ln -s .. /private/tftpboot/private/tftpboot

and copy things over with something like this:

bash-3.2# cd /Library; find NetBoot -name ppc -o -name i386 | xargs tar -c |tar -x -C /private/tftpboot

then make sure that this file looks like this (note the -s option):

bash-3.2# cat /System/Library/LaunchDaemons/tftp.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC
 "-//Apple Computer//DTD PLIST 1.0//EN"
 "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>Disabled</key>
	<false/>
	<key>Label</key>
	<string>com.apple.tftpd</string>
	<key>ProgramArguments</key>
	<array>
		<string>/usr/libexec/tftpd</string>
		<string>-s</string>
		<string>/private/tftpboot</string>
	</array>
	<key>inetdCompatibility</key>
	<dict>
		<key>Wait</key>
		<true/>
	</dict>
	<key>InitGroups</key>
	<true/>
	<key>Sockets</key>
	<dict>
		<key>Listeners</key>
		<dict>
			<key>SockServiceName</key>
			<string>tftp</string>
			<key>SockType</key>
			<string>dgram</string>
		</dict>
	</dict>
</dict>
</plist>

You can start the tftpd using launchctl:

bash-3.2# launchctl load /System/Library/LaunchDaemons/tftp.plist
bash-3.2# launchctl start com.apple.tftpd

You need to serve the image somehow. In 10.5 and later the default webserver is Apache 2.2 so serving images larger than 2 GB is no problem. You can turn on Web Sharing in System Prefs and then make a symlink like the one above.

Did I forget anything? Oh yeah. You need to create a NetInstall image with System Image Utility. And don’t forget to create the require ".sharepoint" symlink:

bash-3.2# ln -s NetBootSP0 /Library/NetBoot/.sharepoint
bash-3.2# ln -s /Library/NetBoot /Library/WebServer/Documents/NetBoot
bash-3.2# /usr/libexec/bootpd -d

handy links for high end high speed

Friday, November 16th, 2007

Delkin firewire 800 CF reader
Sandisk extreme firewire reader
Lexar Firewire 800 reader

hacking WWAN for the MC727

Tuesday, November 13th, 2007
<key>AppleWANDeviceNovatelUSB</key>
<dict>
 <key>CFBundleIdentifier</key>
  <string>com.apple.driver.AppleWWANSupport</string>
 <key>IOClass</key>
  <string>AppleWWANSupport</string>
 <key>IOProbeScore</key>
  <integer>10000</integer>
 <key>IOProviderClass</key>
  <string>IOUSBDevice</string>
 <key>idProduct</key>
  <integer>16640</integer>
 <key>idVendor</key>
  <integer>5136</integer>
</dict>