as some of you may already know, I'm working on a kind of "all buffalo PPC platform" 2.6 kernel.
It's have been tested succesfully on linkstation/linkstation HG/kurobox/kurobox HG.
I'm working on making it boots my terastation pro ... This step is almost done (I still have to solve the AVR chip communication so we'll be able to shutdown/reboot and to communicates with the LCD screen). The next step will be to make it runs on a standard terastation.For now the kernel features are :
- Auto detecting the RAM amount
- Auto detecting the CPU frequency
- Use a tree taken from the linkstation pro (ARM) kernel patch : all high level drivers from buffalo (protocol part of MICON V1 & V2 and a lot of other things) are in buffalo/drivers (no longer in arch/ppc/platforms ...) => This will allow to use my ppc kernel patch as a base for ARM kernel patch.
- Working with linkstation/linkstation HG/kurobox/kurobox HG
- Will work with Terastation & Terastation ProThings to do :
- Make a clean kconfig file to automatically add functions according to the device (linkstation = micon V1, terastation = miconV1+LM85,terastation pro = miconV2+LCD+UPS ...)
- Change platforms defines to be closer to the ARM naming.
- Make sure that kernel params can be interpreted correctly.
- Make the MICON V2 driver working (for the Terastation Pro
that is the only PPC device to use this protocol to communicate with the AVR chip, all other PPC devices are using MICON V1) update 09/05
: MICON V2 is now working, need to clean things now.
- Check that all kernel events added by buffalo in the kernel (they are used to inform the system about RAID failures & other things) have been correctly merged in the 2.6 kernel. update 09/05
: For now Ethernet events have been added, need to merge RAID ones. update 05/07
: RAID modifications merged, still need to merge some little things to be done
- Some cleaning in the code to remove all the debugging traces
- Make some adaptations to use the LM85 driver available in the 2.6 kernel instead of the buffalo's driver that was in 2.4 kernel. This is used by the Terastation
(standard one only) to control the FAN speed and to monitor the board voltages.
On the terastation pro, I'm using a modified version of the loader.o module to load my kernel (no u-boot available on the terastation yet ...). I'll clean the code a little bit and I'll make it public ASAP. Note that the new code is doing a shutdown of the 2.4 kernel in a better way and should be used on any PPC platform currently using the loader.o method.
I'll post any progress here
(instead of in the thread in the terastation pro section that was not the best place to post such a technical stuff)
PS : If you like my work, please consider donating to the nas-central.org community !here
A little reminder for me about ARM devices :
TERASTATION_TSTGL => Terastation & Terastation Pro (PPC processor)
TERASTATION_TSHTGL => Terastation Pro (ARM processor)
LS-GL(IESADA) => Linkstation Pro (0x00000009)
TS-HTGL/R1(IEMOCHI) => ??? (0x00002004)
TS-HTGL/R5(YOSHINOBU) => Terastation Pro V2 (0x00002005)
HS-DHTGL/R5(ANNEI) => Terastation live (0x00002006)