My DVD/CD-RW drive died on my PowerBook G4 Titanium 667MHz. In addition, the battery is completely dead. I get 1 minute of life out of it before it dies. I therefore decided that OS/X constantly shutting down was not much fun, so I'd try installing debian. After spending some time messing around with booting from USB pens, I gave up because there are no decent images available for PowerPC and debian (I want a dd if=/pathto_image_128Mb.img of=/dev/sda bs=1024 type image before I'm happy).
I booted the Powerbook from a Fedora Core 3 server using DHCP. See below for a step by step HOWTO
yum install dhcp yum install tftp yum install tftp-server
Add the following to the /etc/dhcpd.conf
ddns-update-style ad-hoc;
option domain-name "myhouse.com";
option domain-name-servers 192.168.1.2;
option subnet-mask 255.255.255.0;
default-lease-time 600;
max-lease-time 7200;
server-name "general";
subnet 192.168.1.0 netmask 255.255.255.0 {
authoritative;
range 192.168.1.50 192.168.1.58;
option routers 192.168.1.2;
}
host monty {
filename "/tftpboot/boot.bin";
server-name "general";
next-server general;
hardware ethernet ;
fixed-address 192.168.1.58;
}
Where general is the name of your DHCP server and 192.168.1.2 is the default route.
Modify the following in the /etc/xinetd.d/tftp
[root@general ~]# cat /etc/xinetd.d/tftp
# default: off
# description: The tftp server serves files using the trivial file transfer \
# protocol. The tftp protocol is often used to boot diskless \
# workstations, download configuration files to network-aware printers, \
# and to start the installation process for some operating systems.
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot
disable = no
per_source = 11
cps = 100 2
flags = IPv4
}
Restart the xinetd process:
pkill -HUP xinetd
Download the network enabled yaboot, yaboot.conf, vmlinux-2.6 and initrd-2.6.gz from the links inside this excellent document here.
wget http://penguinppc.org/bootloaders/yaboot/yaboot-binary-1.3.13.tar.gz wget http://hermes.osuosl.org/~tmcnulty/macnb/yaboot.conf tar xzf yaboot-binary-1.3.13.tar.gz cp usr/local/lib/yaboot/yaboot /tftpboot cp yaboot.conf /tftpboot cd /tftpboot wget http://http.us.debian.org/debian/dists/sarge/main/installer-powerpc/current/images/powerpc/netboot/vmlinux wget http://http.us.debian.org/debian/dists/sarge/main/installer-powerpc/current/images/powerpc/netboot/initrd.gz mv vmlinux vmlinux-2.6 mv initrd.gz initrd-2.6.gz
My tftpboot directory is tar'd and gzipped here.
[root@general ~]# ls -lrt /tftpboot/ total 13016 -rw-r--r-- 1 root root 4201572 Mar 6 12:22 initrd.gz.1 -rw-r--r-- 1 root root 4201572 Mar 6 12:22 initrd-2.6.gz -rw-r--r-- 1 root root 3966165 Mar 6 12:28 vmlinux-2.6 -rw-rw-r-- 1 tng tng 774210 May 27 20:05 boot.bin -rw-r--r-- 1 root root 325 May 27 20:29 yaboot.conf -rw-r--r-- 1 root root 150052 May 27 20:31 yaboot
Test the TFTP connection to the fedora machine
cd /tmp tftp localhost get yaboot
yaboot should now exist in /tmp. If it does not check the above steps.
Connect the PowerBook into the same network as the DHCP/TFTP server. Power on the Powerbook. Before and after the chime, hit ALT+APPLE+O+F (alt is next to the Apple key and has the funny line in a Z-shape with another line above it). The MAC should drop to the OK prompt if you have done it right. If not, then power off and back on again.
At the OK prompt, disable auto-booting (temporarily). This means you will not have to be bothered with the ALT+APPLE+O+F after each boot, until you are happy.
ok> setenv auto-boot? false
Now attempt to boot:
boot enet:192.168.1.3,yaboot
N.B> My DHCP server == general = 192.168.1.3. This boot option is useful if you also have a (wireless) router acting as a DHCP server and you wish to get an IP address and TFTP ability from somewhere..
You should get a yaboot: prompt. Hit enter and follow the excellent debian installation instructions. I installed everything via FTP from a UK mirror and it took less than 2 hours for a standard desktop machine. I followed the default partitioning schema for a Desktop machine.
Command (? for help): p
/dev/hda
# type name length base ( size ) system
/dev/hda1 Apple_partition_map Apple 63 @ 1 ( 31.5k) Partition map
/dev/hda2 Apple_Bootstrap untitled 1954 @ 64 (977.0k) NewWorld bootblock
/dev/hda3 Apple_UNIX_SVR2 untitled 13671876 @ 2018 ( 6.5G) Linux native
/dev/hda4 Apple_UNIX_SVR2 swap 1957032 @ 13673894 (955.6M) Linux swap
/dev/hda5 Apple_UNIX_SVR2 untitled 42974194 @ 15630926 ( 20.5G) Linux native
Block size=512, Number of Blocks=58605120
DeviceType=0x0, DeviceId=0x0
After installation, set the auto-boot? environment variable back to true:
ok> setenv auto-boot? true
Just works out of the box.
Download my XF86Config-4 here and copy into /etc/X11/
The easiest way to get this working is using the following:
apt-get install alsa-base apt-get install alsa-utils alsaconf
There is some excellent software for adding/removing/editing tunes on your iPOD once you've made the switch to Linux. SeeGNUpod manual for details.