Some Efforts that need help
From IBMNetstationWiki
Below is a thread that could use some comments and help. We are getting somewhere, however .. help is appreciated.
Some more news from me also (I finally got my NS-1000). First of all, it would be a wise idea to get yourself familar with the ELF format. See:
You can see that the ELF is made out of sections. A handy tool is [[|http://www.gnu.org/software/binutils/binutils.html "readelf"]], which can give you an impression of real-life ELF files instead of theory :)
Just try a
readelf -h kernel.63a (that's how the kernel is called)
and you can see that the linux ELF kernel image is also correct (except for the startup address, but the boot loader of the netstation shouldn't complain). Next thing I got out in my investiations was that the string which the netstation outputs for "Incorrect product file" on my box was "|||{x||+x=" which sounded a littlebit strange to me. So I did a quick hex search ([[|http://home.online.no/~espensa/khexedit/ khexedit]] is a very handy tool) and found out that there is some PowerPC string around position 0001:0070 (don't have it in memory right now, just do a search for the PowerPC string) in the original kernel where it isn't in the linux kernel (there is some part of that string I mentioned above). Maybe it's just coincidence, but I'll now play around with the macppc netbsd stuff, maybe I get more out then.
Laters, Timo
Next Message-----
Hi guys, it seams that ive discovered stg new abt NS 1000 NVRAM software. Last week i was looking for a FreeBDS -PPC distribution to dowload a working C compiler, to try it into my NS. I found a complete distribution at: http://ftp.ecks.org/pub/arch/netbsd/NetBSD-1.5.2/macppc/ Well, ive download, untarred, then tried some simply filesystem related commands like "ls", or "rm" and "surprize" they works====== ====== I tough why not?... so i made a NFS export to the untarred distro's directory and renamed the Free-BDS kernel (netbsd) into "kernel.1000". Then i tried to make my NS load it. NOW the nasty news: Just at loading sequence beginning i got this message: "Incorrect product file: ||||" "Network station 8362 product not supported in file "/usr/netstation-ppc/ppc/kernel.1000" "Pleas update your software" "Connection cancelled by user"
So i tryed copying my linux Intel686 kernel into "kernel.1000" to see what will happen.... and the error changed into "Incorrect file type" "Connection cancelled by user"
Ok, i tought there must be stg that the NVRAM Software check just at beginning of kernel file..... to see if it's a valid kernel. Ive binary compared the IBM kernel with the netbsd kernel and a week after i found it... (plz don't ask me how... 'cose ive to explain how i become so lucky and it can be very imbarassing) BTW, changing the byte at offset 0000-0019 from 10 to 0C in "netbsd" kernel our fucked up NVRAM Software recognizes the file as a valid kernel file and loads it. Obviusly the CRC has changed and the first message the NVRAM Software sent just before starting "netbsd" kernel's execution is: "NS0695 File corrupted CRC error" "Connection cancelled by user" and it start to load again the fake kernel.
Thinking over this situation ive understood that even a linux porting shoud have the byte i told U setted to 0C if we want NS loads it and it isn't so nice... at least for me ;)) Let me ask U just a last question, Have U any idea how modify the "netbsd" kernel in way that CRC checksum will not fail? Ive not experiences in which file zone the CRC checksum value is stored, so im not able to modify it to try to execute that kernel... and even if it will not be like having a working linux.... it could be a base to work over
