Step 1:
Code: Select all
emerge sys-kernel/pfeifer-sources/pfeifer-sources-2.4.20.1_pre12.ebuildCode: Select all
download patches-2.4.21-pfeifer-r1_pre4.tar.bz2Code: Select all
un-Bzip patches-2.4.21-pfeifer-r1_pre4.tar.bz2 and copy out the 017_hfsplus patchCode: Select all
Download http://www.ardistech.com/hfsplus/hfsplus-20030702.tar.gzCode: Select all
Untar hfsplus-20030702.tar.gzCode: Select all
Copy hfsplus-20030702/hfsplus/* files to /usr/src/linux-2.4.20-pfeifer-r1_pre12Code: Select all
patch -p1 -d ../location/of/hfsplus_patch/017_hfsplus < /usr/src/linux-2.4.20-pfeifer-r1_pre12Code: Select all
cd /usr/src/linux-2.4.20-pfeifer-r1_pre12/fs/hfsplusCode: Select all
nano -w inode.c
line 89 of inode.c:
-if (PageActive(node->page[i])) {
+if (PageActiveAnon(node->page[i])) {
Code: Select all
cd /usr/src/linux-2.4.20-pfeifer-r1_pre12/kernel/Code: Select all
nano -w ksyms.c
between line 280 and 281 of kernel/ksyms.c:
EXPORT_SYMBOL(set_page_dirty);
+EXPORT_SYMBOL(mark_page_accessed);
EXPORT_SYMBOL(vfs_readlink);
Code: Select all
cd /usr/src/Code: Select all
rm linuxCode: Select all
ln -s /usr/src/linux-2.4.20-pfeifer-r1_pre12 linuxCode: Select all
Build kernel with File Systems>HFSPLUS built as a moduleCode: Select all
Enable Mac Parition Support in File Systems>Partition Types>Mac Partition SupportCode: Select all
Save KernelCode: Select all
make dep && make clean bzImage modules modules_installCode: Select all
mount /bootCode: Select all
cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinux-pfeifer-2.4.20Code: Select all
nano -w /etc/lilo.confCode: Select all
Add necessary lines for new kernel
MINE looks like:
# Linux bootable partition config begins
image = /boot/vmlinuz-pfeifer-2.4.20-pre12
initrd = /boot/initrd-pfeifer-2.4.20-pre12.gz
root = /dev/sda3
label = Pfeifer-2.4.20
read-only # read-only for checking
# #root = /devices/discs/disc0/part3
Code: Select all
run /sbin/liloCode: Select all
REBOOT AND GOOD LUCK!NOTE!!!! WARNINGS!!!! It is important you do the following each time you wish to mount or unmount your ipod!!!! NOTE!!!! WARNINGS!!!!
I make a dumb little script that does the following (I KNOW THIS CAN BE REVISED TO BE BETTER!!):
FILE: mount_ipod.sh
Code: Select all
echo "Cleaning up modules if they are running..."
rmmod sbp2
rmmod ohci1394
rmmod ieee1394
rmmod hfsplus
echo "Now mounting the IPOD... I hope its plugged in... You have 5 seconds."
sleep 1
modprobe hfsplus
sleep 4
modprobe ieee1394
sleep 5
modprobe ohci1394
sleep 10
mount /mnt/ipod
Code: Select all
echo "Unmounting Ipod"
umount /mnt/ipod
sleep 4
rmmod sbp2
sleep 4
rmmod ohci1394
sleep 4
rmmod ieee1394
actually, the real kicker is ochi1394 -- i find that it crashes quite a bit if you only rmmod sbp2, remove the ipod, and expect it to act alright when you put it back in... As a precaution I suggest unloading all ieee1394 drivers before pluging in your ipod, then modprobing them -- and for unmounting, unmounting the drive, removing all modules, THEN unplugging the IPod.
GOOD LUCK AND HAPPY TESTING!

