Spinix is a linux-like operating system for the Prop. The latest version of spinix is in the file spinix167.zip, which is attached below. Please see the posts toward the end of this thread for the latest information on spinix.
The original message is given below. Note that spinix no longer uses a files system on the EEPROM, and works with an SD card and the standard 32K EEPROM.
The thread on porting linux got me thinking about the OS that I've been tinkering with.· I originally called it CDOS because I was using it to test out file I/O code that I'm adding to CLIB.· However, I thought a more appropriate name would be spinix because it is a unix/linux-like OS that's written in·Spin.· It is actually more like minix because the drivers are viewed as processes, just like a user program.
spinix will support up to 8 processes, basically because there are 8 cogs.· The boot process starts up in cog 0 and loads a serial driver, i2c driver and file I/O driver in cogs 1, 2 and 3.· It then loads a shell program in cog 4, which terminates the boot loader, and frees up cog 0.· The RAM used by the boot program is then added to the memory heap.
Currently I use the boot EEPROM as a file storage device.· linux is installed by running the install.binary file.· It will prompt the user for the size of the EEPROM, and it will format it according to the size specified.· You could also build install.binary from the source in the zip file if you want.· After the EEPROM is formated the boot program is written plus the shell.binary program, a help.txt file, and the rb application.· rb (receive binary) is used to download additional files from the bin directory in the zip file.· It uses the YMODEM protocol, and it has been tested with the Windows hyperterminal.
When spinix first starts up, the shell·will·run a ps (process status) command.· This shows the status of the 5 cogs that are running at that time.· A subsequent ps command will display only 4 active processes because the boot program will no longer be active.··The malloc command will show the status of the heap.· The addresses and sizes of the two Spin processes will be almost the same in the ps and malloc displays.· They differ only by the 4-byte header size used by the heap manager.· Type help to see all of the commands provided by the shell.
Additional apps such as cat, echo, ls, od, etc. can be copied to the file system using the rb command.· After you type the rb command you will have 15 seconds to select a file and set hyperterminal to send it using the YMODEM protocol.· If you have a 32K EEPROM there is only enough space to add one additional app.· You can load an app, try it, delete it, and then load another app.· If you have a 64K EEPROM there should be about 42K of free space.··This is enough space to hold·about 8 additional apps, which can be transferred from the bin directory one at a time.
If you have a 128K EEPROM there will be over 100K of free space.· This will provide enough space to transfer the tar app and the two tar files.· The remaining apps·can then be extracted from the tar files.· The tar files should be deleted after the files are extract to provide more file space.
This version is just a beginning.· The next step is to add an SD file system.· I should be able to do that in the next few days.· Then it's a matter of adding more apps and features, and fixing bugs.
Post Edited (Dave Hein) : 7/8/2010 11:06:55 PM GMT