First of all - many thanks for Abisko00. If it wasn't for his patients and guidance I wouldn't have gotten my iPod working.
** The below worked for an iPod mini (USB) device with FAT formatting.**
** Also remember to make backup's of the files you are going to change / configure**
The problem with the iPod mini is:
Originally posted by jeffmock
The iPod looks like a removable disk drive to the host computer. When it is attached to the computer, the mini iPod reports a capacity of 7999488 512-byte sectors (or about 4GB). This turns out to be wrong for whatever reason. The mini iPod only really has 7999376 sectors and it exaggerates by 112 sectors. The other quality of the iPod is that if the computer attempts to read a sector greater than the actual capacity but less than the reported capacity, the iPod will dutifully report an I/O error, but it won't respond to any future requests until you unplug/plug the iPod.
This creates a fragile situation where the host computer can croak the iPod by reading one of these 112 tacitly illegal sectors. If you ask me, this is an Apple bug (or maybe a bug of their disk supplier or firewire/USB interface supplier), but a bug nonetheless.
So, when a new disk is presented to the linux kernel, linux first goes out and tries to find the partition table for the disk. Usually this is the first sectors of the disk (traditional microsoft partition table we've been using for 20 years), but there are also a number of other types of partition tables. The kernel uses a heuristic to look for different types of partition tables and the kernel configuration specifies which partition types are attempted.
The "EFI" partition table is a new type of partition table that is part of the "extensible firmware initiative", this is a good thing for the future. I don't know anything about EFI partition tables, except that as part of looking for an EFI table linux goes out and reads the last few sectors of the disk (sector 7999480 in the case of a mini iPod). The kernel looks for an EFI partition before looking for an old fashioned MSDOS partition table and this croaks the iPod. If you disable support for EFI partition tables (CONFIG_EFI_PARTITION) the mini iPod will work fine. I don't know of a quick fix short of rebuilding the kernel.
Of course, once it's working, previous advice about setting up hotplug correctly and having the right /etc/fstab entries and such apply, but the iPod is just great under linux and gtkpod is a fantastic program for managing the iPod.
I hope this helps.
To resolve this issue - you'll need the following installed on your computer - through YaST:
Once those are installed follow the steps outlined below (thanks Abisko00).
Open a Teminal and type the following commands (actuall commands are in italics)-
1. Check your kernel and kernel sources - ensure that they are exactly the same.
rpm -q kernel-source
2. Switch to superuser mode.
3. Change ownership of the directory holding your kernel sources. Note that: (user) is your regular user profile name (who you are logged in as) and (uname-r) is the directory holding your kernel sources.
chown -R (user) /dev/src/linux-(uname-r)
4. Exit back to user mode.
5. Change your working area to the directory of the kernel sources.
6. Remove .config
7. Use zcat (zcat is identical to gunzip -c. (On some systems, zcat may be
installed as gzcat to preserve the original link to compress.) zcat
uncompresses either a list of files on the command line or its standard
input and writes the uncompressed data on standard output. zcat will
uncompress files that have the correct magic number whether they have a
.gz suffix or not.) - description from "man zcat" in the terminal.
zcat /proc/config.gz > .config
8. Run make menuconfig and deselect "EFI GUID Partion Support."
Select "FILE TYPES" --> "PARTITION TYPES" --> "EFI GUID Partions Support" (remove the * so that you are left with an empty <> field). Exit, Exit --> Save (YES).
9. Compile the new kernel. This will take some time, so grab your favorite beverage and sit back.
10. Return to superuser mode.
11. Copy the newly made files to your /boot directory. They must be INDENTICAL. Note that vmlinuz
is used instead of vmlinux
. The "." in from the file paths indicates that the files are in the current location that are you in... thus you don't have to type /usr/src/linux-uname-r.
cp ./arch/i386/boot/bzImage /boot/vmlinuz-<uname -r>
cp ./System.map /boot/System.map-<uname -r>
12. Exit out of the terminal and reboot your computer.
13. Connect your iPod and you should see the icon for a mass storage device in your /drive:
Mounting the iPod:
Open a terminal and switch to superuser.
I made a directory for /mnt/ipod in my "/" directory.
As su type:
mount -t vfat /dev/sda2 /mnt/ipod
Exit the terminal.
Open GTKpod and choose syn - then choose read.
I want to say thanks again to Abisko00 and everyone else who helped a newbie over come this issue. It was a great learning experience.