I can easily provide details of the changes made to the linux.rc for the original TeraTations to support running from a USB stick if you want to look at working out the equivalent changes for the TSP. It is also easy to change the kernel image - the difficulty is in making sure that it is built correctly, and that it fits into the space allowed in Flash. My suspicion is that a 2.6 kernel would be larger which would be an issue as there is very little room spare in the flash.
So this is not an area that I've dealt with much on the Terastation (updating anything other than image.dat). Let me describe what I had in mind, and let me know what you think.
I agree that my TS is getting long in the tooth. Howver, the hardware has been solid for me except the occassional drive replacement (not really the fault of the TS). I could replace what I've got now with a Raspberry Pi running Open Media Vault connected to a 4 drive RAID enclosure and get something much more powerful and expandable, but, I hate to waste good working hardware. So my plan to was get enough of the OS up to a later version of Debian that I could make it useful. Here's why I'm stuck: Most of the stuff I've tried to load required GLIB 2.4 ABI, but the Terastation Pro v1 only has 2.3 ABI. So I've tried updating the glibc to the version in even Sarge and anything linked against it then complain about the kernel being too old. So it seems that the only way forward would be to get a more modern kernel running, then try to upgrade the system. As I see it, this can only happen in two ways:
1. Modify the kernel that is burned into firmware to boot directly to 2.6 (risky - what are the backout options? Does this destory my ability to do an EM recovery if the kernel doesn't boot?)
2. Modify the initrd to include loader.o. Everything then running in the firmware kernel (2.4) would boot normally with initrd and then turn control over to a 2.6 kernel which would have to be running if the OS libraries was updated. This would have to be updated in 2 stages: a) modify the initrd to boot 2.6 from md0 using loader.o, followed by lots of testing including EM flashing b) Update the OS image to a newer version. If there are any problems with b), then the backout plan is to downrev the OS image to a previously working copy.
The reason that I want to do this is a couple of reasons:
- native NFS implemenation (even NFS v4), currently using usermode NFSv3
- more modern tools to work with
- possible conversion to open media vault
- ability to do more modern things like mDNS (howl was excluded from Sarge for licensing)
- git server (I can actually do this now)
- ability to use more UPSs
- Samba v4?
What I'm not worried about:
- complete inability to run any Buffalo tools - ie. it's no longer a "Terastation" (of course things like watchdogs, EM flash, etc need to work correctly)
What would worry me:
- Inability to flash the firmware after upgrade (In scenario #2 above, EM mode should be available?)
- Permanent brick
The only thing that I see here that would risk a permanent brick is #1 (assuming the toolset is reliable - see below).
I just did some research and found what I think you're possibly talking about to modify linuxrc: http://buffalo.nas-central.org/wiki/How ... _an_initrd
. I have never seen these tools before, but downloading and compiling on my x86_64 resulted in the ability to extract a blob that looks like a kernel (hard to tell) and definitely extracted a initrd compressed filesystem which I can now mount and at least see the linuxrc.
Can you tell me:
- is firmimgtool reliable?
- Has anyone used a blob created by firmimgtool to reliably flash the kernel/initrd back on a TS Prov1?
- Can you tell me why if loader.o was in initrd I would not be able to boot the kernel from md0? If it's a problem with the raid volume being open and handoff, I do have spare space at the end of my disk I could create additional partitions to boot from that would simply store the kernel image, which could then boot md0.
- Can you point me to the modifications that I could do to the linuxrc to boot 2.6 (either via flash root fs or otherwise)?
- It appears that I should be able to flash the system from the running OS using dd and mtdparts but I don't see any information directly related to TS Pro v1 - this might be handy.
- Where can I get a 2.6 kernel (I'd prefer a known working blob, but I can compile my own if someone has the source available) for TSProv1
I'm sure I've made plenty of bad assumptions, so I'd love to hear what they are