OK, this wasn't as bad as I feared. This is long, and may be overkill for some, but for anyone new to Linux or YDL, this might be helpful. (Just trying to give back in return for all the help I got from this forum.)
The Problem
If you do a clean install of YDL 4.0 from the distribution CDs, then try to run yum to update the kernel and apps, it goes through the motions of downloading packages, etc., but then fails sayiing something about trying to install ppc64 in place of a ppc kernel.
This appears to have been caused by an error in the naming or versioning of the original packages in the YDL 4.0 distro [ Linux 2.6.8-1.ydl.7g5 ] that causes rpm to think that the installed base is ppc (32) whereas the rpm package yum wants to install is ppc64 [ 2.6.10-1.ydl.1g5 ].
This happens on 1.6GHz, single processor G5 systems, at least.
The Solution
Try the "yum update" from a root command line. If it fails after downloading the packages, then you have pretty much everything you need already in cache. [If it fails to download, check one of the other messages on the forum for alternative download sites for yum -- I had trouble with the YDL site the first time I tried this and got timed out routinely 'til I switched sites.]
Connect to the /var/cache/yum/update/packages directory, do an 'ls', and you should see the rpm's all listed there. (If not, go off to one of the sites and fetch the kernel rpm's, at least, via ftp.)
Manually install the kernel rpms for both uniprocessor and smp -- you need to install both, even though you're a uniprocessor, since the subsequent update will fail trying to install the smp update. And 'yum --excludepkg' or whatever it is doesn't seem to work.
rpm --ignorearch -Uvh kernel-g5-2.6.10-1.ydl.1.ppc64.rpm
rpm --ignorearch -Uvh kernel-g5-smp-2.6.10-1.ydl.1.ppc64.rpm
Now 'ls /boot' to make sure those kernels got loaded.
Edit /etc/yaboot.conf to add the reference to the single-processor kernel. Others have recommended CHANGING the reference to the old kernel to reference the new one, but if you screw that up, you're dead in the water without some subsequent finagling. I prefer to copy that image reference, paste it back in, change the label for the original reference to be 'oldlinux' and then change the filenames in the new reference to point to the newly loaded files (see below).
Then run 'ybin -v' to load the boot loader with your new configuration (don't panic if you're a dual drive, dual boot system ... it seems to know to only change the boot blocks on the linux drive and doesn't --or didn't in my case -- touch the MacOSX drive, though it did look at it).
Reboot. If you're dual boot, pick linux. In any case, at the 'boot: ' prompt, press the 'tab' key and you'll see your options listed. If you did as I suggested above for labeling your *new* kernel as 'linux', press <return> or enter 'linux' and <return> and it'll boot to the new kernel. (If not, pick the name you used.)
Should boot up into your new kernel. Log in, 'su' to root, and type 'yum update' and yum will go off, figure out that it's already downloaded the rpms you need, do the testing, tell you it passed the test, and then do all the installs. Reboot again and you're up with a currently up-to-date system.
Having just done this, I don't know if I have to do the same thing the next time, buf if I do, I'll come back here to refresh my memory of how to do it.
Here's a listing of a couple of the key steps from my work earlier this morning:
[root@BigMac packages]# pwd
/var/cache/yum/update/packages
[root@BigMac packages]# rpm --ignorearch -Uvh kernel-g5-2.6.10-1.ydl.1.ppc64.rpm
warning: kernel-g5-2.6.10-1.ydl.1.ppc64.rpm: V3 DSA signature: NOKEY, key ID aeb6b9c4
Preparing... ########################################### [100%]
1:kernel-g5 ########################################### [100%]
[root@BigMac packages]# ls /boot
config-2.6.10-1.ydl.1g5 initrd-2.6.8-1.ydl.7g5-smp.img System.map-2.6.8-1.ydl.7g5-smp
config-2.6.8-1.ydl.7 initrd-2.6.8-1.ydl.7.img vmlinux-2.6.10-1.ydl.1g5
config-2.6.8-1.ydl.7g5-smp System.map-2.6.10-1.ydl.1g5 vmlinux-2.6.8-1.ydl.7
initrd-2.6.10-1.ydl.1g5.img System.map-2.6.8-1.ydl.7 vmlinux-2.6.8-1.ydl.7g5-smp
[root@BigMac packages]# emacs /etc/yaboot.conf
[root@BigMac packages]# /sbin/ybin -v
ybin: Finding OpenFirmware device path to `/dev/sda2'...
ybin: Finding OpenFirmware device path to `/dev/sdb3'...
ybin: Installing first stage bootstrap /usr/lib/yaboot/ofboot onto /dev/sda2...
ybin: Installing primary bootstrap /usr/lib/yaboot/yaboot onto /dev/sda2...
ybin: Installing /etc/yaboot.conf onto /dev/sda2...
ybin: Setting attributes on ofboot...
ybin: Setting attributes on yaboot...
ybin: Setting attributes on yaboot.conf...
ybin: Blessing /dev/sda2 with Holy Penguin Pee...
ybin: Updating OpenFirmware boot-device variable in nvram...
[root@BigMac packages]#
yaboot.conf:
# yaboot.conf generated by anaconda
boot=/dev/sda2
init-message="Welcome to Yellow Dog Linux! Hit <TAB> for boot options."
partition=3
timeout=30
install=/usr/lib/yaboot/yaboot
magicboot=/usr/lib/yaboot/ofboot
delay=10
enablecdboot
macosx=/dev/sdb3
defaultos=macosx
image=/boot/vmlinux-2.6.10-1.ydl.1g5
label=linux
read-only
initrd=/boot/initrd-2.6.10-1.ydl.1g5.img
root=/dev/sda3
append="rhgb quiet"
image=/boot/vmlinux-2.6.8-1.ydl.7g5
label=oldlinux
read-only
initrd=/boot/initrd-2.6.8-1.ydl.7g5.img
root=/dev/sda3
append="rhgb quiet"