[2008-Feb-03] LaCie Ethernet Big Disk - Progress Notes

More R&D on Cross-Compiling for the LaCie Ethernet Big Disk
This is all pure speculation, and is a personal brain-dump as I try to wrap my mind around soft-hacking this device.

LaCie maintains a Support Archive - specifically, they have a GPL Source Codes archive.  Unbundling the archive revealed the following:

drwxrwxr-x 12 lalee lalee 4096 2004-07-27 03:33 bash-3.0
drwxr-xr-x 30 lalee lalee 4096 2007-01-18 02:11 busybox-1.1.0-lacie
drwxrwxr-x 54 lalee lalee 4096 2003-12-03 11:44 db-4.2.52.NC
drwxrwxrwx  2 lalee lalee 4096 2005-01-27 14:24 ethtool-3
drwxrwxrwx  7 lalee lalee 4096 2005-06-04 09:44 ifplugd-0.28
drwxrwxr-x  5 lalee lalee 4096 1999-11-17 21:24 libcap-1.10.orig
drwxrwxrwx  5 lalee lalee 4096 2005-11-24 04:01 libdaemon-0.10
drwxr-xr-x  3 lalee lalee 4096 2004-06-04 05:14 liblockfile-1.06.1
drwxr-xr-x 18 lalee lalee 4096 2006-12-29 04:48 linux-lacie
drwxr-xr-x 10 lalee lalee 4096 2005-01-27 21:52 mDNSResponder-98
drwxr-xr-x 14 lalee lalee 4096 2007-01-01 22:59 netatalk-2.0.1-lacie
drwxrwxr-x 21 lalee lalee 4096 2008-02-03 23:05 openssl-0.9.7e
drwxr-xr-x 11 lalee lalee 4096 2007-01-01 22:50 proftpd-1.3.0-lacie
drwxr-xr-x  9 lalee lalee 4096 2007-01-01 22:52 samba-3.0.22-lacie
drwxr-xr-x 24 lalee lalee 4096 2006-12-29 04:59 uboot-lacie
drwxrwxrwx  6 lalee lalee 4096 2006-03-21 09:44 udev-088
drwxr-xr-x  3 lalee lalee 4096 2005-07-08 07:24 usbmount-0.0.14

On the surface, this appears to be a standard U-Boot bootloader.  At this point, I'm not sure whether U-Boot is configured to pull the Linux Kernel from the hard-drive, or from the flash part.  According to this blog site, the onboard flash is only 512 KBytes (Yikes!), and the RAM is only 64Megs (Argh!).  WIth such limited resources, I'm pretty confident that only U-Boot lives on the flash, and that the Linux Kernel is loaded from the boot sector of the first hard drive.  The LaCie will be cracked open shortly, and the drives hooked up to my real PC over the next week or two to figure that part out.

Cross Compilation Environment - Big Environment

I will be looking into building Fedora 8 for ARM, since the Fedora Prebuilt Filesystem is designed for ARM5.  The LaCie uses a Marvell 88F5182, which is supposed to be ARM926 compatible, and the ARM926 is essentially an ARM5. 

If successful, I'll be using QEmu to run the Fedora8-on-ARM virtual machine, and will be native-compiling all of the ARM software for the LaCie.  Furthermore, I'll need to figure out how to install my binaries onto the hard-drive.  Chances are good, I'll need to hard-install my updated Linux Kernel onto the boot sector of the first drive, and install my root partition at some (currently unknown) offset from there.

I'm not optimistic about being able to utilize LaCie's built-in "Firmware Update" webpage functionality, as I don't see the associated files.  I mean, I haven't found anything that guides me as to what the "Firmware Update" file format looks like, or what algorithms are used to generate checksums or hash signatures, or what.  Such information might be in the uboot-lacie directory, but I haven't dived too deeply in there yet.  Which reminds me.. there's no way to update uboot on the flash, unless the LaCie always runs a Linux Kernel with MTD support.  I'll probably NEVER attempt a flash update until I either identify the JTAG pins, or I get good at desoldering the flash chip for read/write in a dedicated flash programmer device.

Other Ideas
It would probably be trivial to build and deploy a real ARM-Linux distribution to replace the LaCie-stock Linux Kernel and RootFS.  However, since we only have 64 Megs of RAM, we probably want a light-weight distribution, like Busybox-BuildRoot, Damn Small Linux, PuppyLinux, or even OpenWRT.

That's all for tonight...

Other Useful References
http://davehylands.com/linux/ARM-bigendian/

I have one -- and now have a command line

Some details -- and perhaps more importantly, binaries, are here: http://www.goodjobsucking.com/?p=17