SeaKernel - pre-release testing request.
Posted: Wed Nov 26, 2008 4:20 pm
So. After realizing that my kernel had become kind of bloated and had some bugs that had work arounds with bugs that some applications relied on, I decided to do a major clean up. It's not a full re-write, because I'm kept a lot of the old code, but the VFS is defiantly rewritten.
The VFS
I made major changes, including a basic skeleton tree kept in memory so it would be immediately changed on update, and is also much more stable. The inodes have pointers and basic fields that may be implemented how ever each FS wants to (to a point). The inodes have inode ops, which call FS functions. I think that the new system is much better. Paths work like in unix (/path/to/file).
DevFS (resides in /dev)
I added a devfs, or device manager system. This is heavily linux0.01-based (uses major, minor addressing, calls function tables, etc). Has basic nodes, such as:
/dev/hda: Hard Disk 0. (hdb is hard disk 1).
/dev/ttyx: Virtual Terminals 1, 2, etc. Default is 1.
There are several others, but they aren't implemented yet.
Icmd
Internal command line. For now, provides many basic features of a shell, but is inside the kernel. The kernel does have syscalls and can load binary files, but I want to wait until I get ELF loading and finish porting newlib before I add a userland shell.
The 'help' command displays features.
cat: Typing the filename after the command dumps the file on screen. But....if you type 'cat /dev/tty1', you can type something and it'll display is back. Woot, working VFS and DevFS!
exit: Reboots computer.
RamFS
The root filesystem keeps inodes in memory, as well as files until I get a working FS driver for a hard disk.
This isn't an official release, but I would like to get some testing results back, hopefully from a real computer.
Here is the google code page: http://code.google.com/p/microsea/
Here is a floppy image: http://microsea.googlecode.com/files/flo.img
Yes, I took away the old shell for this simpler one. Easier to test. No logging in
-JL
The VFS
I made major changes, including a basic skeleton tree kept in memory so it would be immediately changed on update, and is also much more stable. The inodes have pointers and basic fields that may be implemented how ever each FS wants to (to a point). The inodes have inode ops, which call FS functions. I think that the new system is much better. Paths work like in unix (/path/to/file).
DevFS (resides in /dev)
I added a devfs, or device manager system. This is heavily linux0.01-based (uses major, minor addressing, calls function tables, etc). Has basic nodes, such as:
/dev/hda: Hard Disk 0. (hdb is hard disk 1).
/dev/ttyx: Virtual Terminals 1, 2, etc. Default is 1.
There are several others, but they aren't implemented yet.
Icmd
Internal command line. For now, provides many basic features of a shell, but is inside the kernel. The kernel does have syscalls and can load binary files, but I want to wait until I get ELF loading and finish porting newlib before I add a userland shell.
The 'help' command displays features.
cat: Typing the filename after the command dumps the file on screen. But....if you type 'cat /dev/tty1', you can type something and it'll display is back. Woot, working VFS and DevFS!
exit: Reboots computer.
RamFS
The root filesystem keeps inodes in memory, as well as files until I get a working FS driver for a hard disk.
This isn't an official release, but I would like to get some testing results back, hopefully from a real computer.
Here is the google code page: http://code.google.com/p/microsea/
Here is a floppy image: http://microsea.googlecode.com/files/flo.img
Yes, I took away the old shell for this simpler one. Easier to test. No logging in
-JL