Here is a quick guide for anyone who might be stuck with the HDD errors!
If you get a mount error that reads
Mounting /dev/hda1 on /hdd1 failed: Invalid argument
HDD1 Error!! especially after flashing a new ROM, the Zaurus hard disk may not be properly configured
and will probably need to be repartitioned.
To repartition the hard disk:
Remove battery for at least 5 seconds (some people have reported up to 1 hour)
While holding D and B keys, reinstall the battery and turn the Zaurus on while still holding
D+B. Plug the power cable in.
A white screen should appear with the Sharp logo.
Login with root.
Enter
fdisk /dev/hdaDelete all the partitions 1-3
(press d, and select partition # when prompted)Repeat this until all 3 partitions have been deleted.
Create the new partitions 1-3
(press n, and select partition # when prompted).Make sure to have the correct number of blocks for each partition:
For the SL-C3100, the partition table should match the following:
SL-C3100 HDD-Partition table:
/dev/hda1 (1st partition) Start 1 End 20 Blocks 10048+ id 83 System Linux
/dev/hda2 (2nd partition) Start 21 End 40 Blocks 10080 id 83 System Linux
/dev/hda3 (3rd partition) Start 41 End 7936 Blocks 3979584 id c System Win95 FAT32 (LBA)
For the SL-C3200, the partition table should match the following:
SL-C3200 HDD-Partition table:
/dev/hda1 (1st partition) Start 1 End 20 Blocks 10048+ id 83 System Linux
/dev/hda2 (2nd partition) Start 21 End 40 Blocks 10080 id 83 System Linux
/dev/hda3 (3rd partition) Start 41 End 11905 Blocks 5979960 id c System Win95 FAT32 (LBA)
After creating the three partitions, press p and enter to verify that the new partition table matches
the original table:
SL-C3100 HDD-Partition table:
/dev/hda1 (1st partition) Start 1 End 20 Blocks 10048+ id 83 System Linux
/dev/hda2 (2nd partition) Start 21 End 40 Blocks 10080 id 83 System Linux
/dev/hda3 (3rd partition) Start 41 End 7936 Blocks 3979584 id c System Win95 FAT32 (LBA)
For the SL-C3200, the partition table should match the following:
SL-C3200 HDD-Partition table:
/dev/hda1 (1st partition) Start 1 End 20 Blocks 10048+ id 83 System Linux
/dev/hda2 (2nd partition) Start 21 End 40 Blocks 10080 id 83 System Linux
/dev/hda3 (3rd partition) Start 41 End 11905 Blocks 5979960 id c System Win95 FAT32 (LBA)The partition types should be "Linux" for partitions #1-2. Partition #3 type should be "Win 95 FAT32 (LBA).If any of them do not match the correct partition type, press "t" and enter to change the partition type. Select partition type when prompted and change according to the original partition table.
After verifying the partition table,
press "w" and enter, to save and write the new partition table.Exit fdisk and poweroff the Zaurus. Remove the battery and proceed to the next steps to initialize the hard disk.
The hard disk will need to be "initialized." If it is not, another error will appear during boot that says
Error!! HDD is not initialized!The three partitions that were created will need to be formatted, and the original hard disk files restored to each partition.
First, obtain the factory hard disk partition files from the TRIsoft website.
For the SL-C3100 the file package is called SLC3100SYSPART.zip and can be found
hereFor the SL-C3200 the file package is called SLC3200SYSPART.zip and can be found
hereUnzip the contents onto an external storage card, preferably an SD card that must be FAT16 formatted! Insert the SD card into the Zaurus.
Remove battery for at least 5 seconds.
While holding D and B keys, reinstall the battery and turn the Zaurus on while still holding
D+B. Plug the power cable in.
A white screen should appear with the Sharp logo.
Login with root.
Enter
Format and create the file systems for the three partitions:
mke2fs -j /dev/hda1
mke2fs -j /dev/hda2
mkfs.vfat -F 32 /dev/hda3
mkdir /mnt/hdaNow, restore the original hard disk files that were obtained from the TRIsoft website in the SD card to the .sys directories in partitions #1-2.
For the first partition, begin by mounting the newly formatted file system:
mount /dev/hda1 /mnt/hdaCreate the .sys folder:
mkdir /mnt/hda/.sysCopy the hard disk files over from the SD card to the .sys folder:
cp /mnt/card/hdd1sys/hdimage2.tgz /mnt/hda/.sys/
cp /mnt/card/hdd1sys/hdlist1.dat /mnt/hda/.sys/Unmount the file system:
umount /mnt/hda
For the second partition, begin by mounting the newly formatted file system:
mount /dev/hda2 /mnt/hdaCreate the .sys folder:
mkdir /mnt/hda/.sysCopy the hard disk files that belong in the second partition over from the SD card to the .sys folder:
cp /mnt/card/hdd2sys/contlist.dat /mnt/hda/.sys/
cp /mnt/card/hdd2sys/hdlist2.dat /mnt/hda/.sys/
cp /mnt/card/hdd2sys/hdlist3.dat /mnt/hda/.sys/Unmount the file system:
umount /mnt/hda
rm -rf /mnt/hdarebootIf the HDD has been properly initialized, the Zaurus should now be able to boot!
Good luck!