SeaKernel - pre-release testing request.
- piranha
- Member
- Posts: 1391
- Joined: Thu Dec 21, 2006 7:42 pm
- Location: Unknown. Momentum is pretty certain, however.
- Contact:
SeaKernel - pre-release testing request.
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
SeaOS: Adding VT-x, networking, and ARM support
dbittman on IRC, @danielbittman on twitter
https://dbittman.github.io
dbittman on IRC, @danielbittman on twitter
https://dbittman.github.io
Re: SeaKernel - pre-release testing request.
Doesn't work in Virtual PC.
(see screenshot)
(see screenshot)
- piranha
- Member
- Posts: 1391
- Joined: Thu Dec 21, 2006 7:42 pm
- Location: Unknown. Momentum is pretty certain, however.
- Contact:
Re: SeaKernel - pre-release testing request.
Damn. Hmm...I''ll try to see what might be the problem.
btw, yes the kernel swears when it panics. It's talking to itself though...
edit: What are the specs? It does need at least 8M of memory to run...
edit2: Actually, thats probably not the problem. Does it work on bochs or a real machine?
I use Qemu to test it.
-JL
btw, yes the kernel swears when it panics. It's talking to itself though...
edit: What are the specs? It does need at least 8M of memory to run...
edit2: Actually, thats probably not the problem. Does it work on bochs or a real machine?
I use Qemu to test it.
-JL
SeaOS: Adding VT-x, networking, and ARM support
dbittman on IRC, @danielbittman on twitter
https://dbittman.github.io
dbittman on IRC, @danielbittman on twitter
https://dbittman.github.io
- piranha
- Member
- Posts: 1391
- Joined: Thu Dec 21, 2006 7:42 pm
- Location: Unknown. Momentum is pretty certain, however.
- Contact:
Re: SeaKernel - pre-release testing request.
One one person? Oh well. By the way, I setup virtual consoles finally. 1: Main console. 2: Kernel debug console. 3: I don't know.
-JL
-JL
SeaOS: Adding VT-x, networking, and ARM support
dbittman on IRC, @danielbittman on twitter
https://dbittman.github.io
dbittman on IRC, @danielbittman on twitter
https://dbittman.github.io
Re: SeaKernel - pre-release testing request.
well
first
im testing on bochs
i found one error :
using single processor under bochs, "test" fails (restarts) when i do this execute order:
task
test
but it works reverse
exit does not seems to work 100 % ( it kills the tasks, but it dies afterwords)
KMT dk
first
im testing on bochs
i found one error :
using single processor under bochs, "test" fails (restarts) when i do this execute order:
task
test
but it works reverse
exit does not seems to work 100 % ( it kills the tasks, but it dies afterwords)
KMT dk
well, what to say, to much to do in too little space.
when it goes up hill, increase work, when it goes straight, test yourself but when going down, slow down.
when it goes up hill, increase work, when it goes straight, test yourself but when going down, slow down.
- piranha
- Member
- Posts: 1391
- Joined: Thu Dec 21, 2006 7:42 pm
- Location: Unknown. Momentum is pretty certain, however.
- Contact:
Re: SeaKernel - pre-release testing request.
Well, exit is designed to exit from init, rebooting the computer.
As to why the task then test thing is broken...I have no idea.
As to why the task then test thing is broken...I have no idea.
SeaOS: Adding VT-x, networking, and ARM support
dbittman on IRC, @danielbittman on twitter
https://dbittman.github.io
dbittman on IRC, @danielbittman on twitter
https://dbittman.github.io
Re: SeaKernel - pre-release testing request.
I haven't tested it on a real machine, will try Qemu when i get home.piranha wrote:Damn. Hmm...I''ll try to see what might be the problem.
btw, yes the kernel swears when it panics. It's talking to itself though...
edit: What are the specs? It does need at least 8M of memory to run...
edit2: Actually, thats probably not the problem. Does it work on bochs or a real machine?
I use Qemu to test it.
-JL
From my own experience i have found that if it works in Qemu but not in VirtualPC, it won't work on real hardware.
Re: SeaKernel - pre-release testing request.
Tested. The shell is pretty stable, overflowing the command buffer has protection and all. Altough on real hardware it throws "floppy_calibrate: status = error" after boot up, the shell works and afterall, my floppy driver in Derrick has similar problems. The courtesy of Microsoft's way on how to access the floppy disk through I/O ports and the reaction of HW manufacturers, I guess... On Bochs, all works fine.
Stability issues:
- Typing "cat" displays Invalid command, but typing "cat test.txt" works. I suppose "cat: invalid parameter" is the answer to the question?
The same for "fshelp asldhjfhak" which displays "fshelp: invalid command", but "fshelp" isn't a invalid command though
- Is "ls" hardcoded or it works only for the ramdisk? If the disk contents are not hardcoded, can it work on a physical floppy or hdd?
- CHDIR'ing (sorry... I like DOS ) to DEV and typing "cat hdb" freezes the system. I don't know what's "hdb". Is it a device driver?
- Bochs: Typing "test" does a page fault.
- MS Virtual PC, 4 MB RAM: "Kernel Panic: First frame non-existant. System halted. Thanks for halting me, *******. I really hate being cut off in the mid senten--" - yay, somebody with sense of humor (Type EXIT in Derrick while running in a emulator and select triplefault..)
- MS Virtual PC, 84 MB RAM: "Page Fault [present] @ 0x3F6BB00, Kernel Panic: Page fault"
Regards
inflater
Stability issues:
- Typing "cat" displays Invalid command, but typing "cat test.txt" works. I suppose "cat: invalid parameter" is the answer to the question?
The same for "fshelp asldhjfhak" which displays "fshelp: invalid command", but "fshelp" isn't a invalid command though
- Is "ls" hardcoded or it works only for the ramdisk? If the disk contents are not hardcoded, can it work on a physical floppy or hdd?
- CHDIR'ing (sorry... I like DOS ) to DEV and typing "cat hdb" freezes the system. I don't know what's "hdb". Is it a device driver?
- Bochs: Typing "test" does a page fault.
- MS Virtual PC, 4 MB RAM: "Kernel Panic: First frame non-existant. System halted. Thanks for halting me, *******. I really hate being cut off in the mid senten--" - yay, somebody with sense of humor (Type EXIT in Derrick while running in a emulator and select triplefault..)
- MS Virtual PC, 84 MB RAM: "Page Fault [present] @ 0x3F6BB00, Kernel Panic: Page fault"
Regards
inflater
My web site: http://inflater.wz.cz (Slovak)
Derrick operating system: http://derrick.xf.cz (Slovak and English )
Derrick operating system: http://derrick.xf.cz (Slovak and English )
- piranha
- Member
- Posts: 1391
- Joined: Thu Dec 21, 2006 7:42 pm
- Location: Unknown. Momentum is pretty certain, however.
- Contact:
Re: SeaKernel - pre-release testing request.
Thanks for testing inflater.
Yeah, it needs at least 8M ram to run.
btw: I added a spawn command that allows you to spawn new programs on specific virtual terminals
-JL
ls should work for all filesystems. It just scans the filesystem tree and maybe calls a function in the FS driver.Is "ls" hardcoded or it works only for the ramdisk? If the disk contents are not hardcoded, can it work on a physical floppy or hdd?
hdb is the second harddrive...which isn't there (hda is the first). I fixed it though, those nodes will only appear if there are harddrives.- CHDIR'ing (sorry... I like DOS ) to DEV and typing "cat hdb" freezes the system. I don't know what's "hdb". Is it a device driver?
Yeah, it needs at least 8M ram to run.
You tested it on real HW? Did it work there?Altough on real hardware it throws "floppy_calibrate: status = error" after boot up
btw: I added a spawn command that allows you to spawn new programs on specific virtual terminals
-JL
SeaOS: Adding VT-x, networking, and ARM support
dbittman on IRC, @danielbittman on twitter
https://dbittman.github.io
dbittman on IRC, @danielbittman on twitter
https://dbittman.github.io
Re: SeaKernel - pre-release testing request.
I know, but I've saw no disk activity when performing "ls". I thought the floppy would spin up and "refresh" the directory list.piranha wrote:ls should work for all filesystems. It just scans the filesystem tree and maybe calls a function in the FS driver.
As mentioned, yup. The "test" command worked there, unlike in Bochs.piranha wrote:You tested it on real HW? Did it work there?
Regards
inflater
My web site: http://inflater.wz.cz (Slovak)
Derrick operating system: http://derrick.xf.cz (Slovak and English )
Derrick operating system: http://derrick.xf.cz (Slovak and English )
- piranha
- Member
- Posts: 1391
- Joined: Thu Dec 21, 2006 7:42 pm
- Location: Unknown. Momentum is pretty certain, however.
- Contact:
Re: SeaKernel - pre-release testing request.
What was the machine that you tested it on? Specs?
-JL
Well, right now it's using the RamFS as it's primary FS, so it's all in ram. But ls should work for other FS's that implement the functions that it needs. (Note: RamFS gets it's files from the initrd).I know, but I've saw no disk activity when performing "ls". I thought the floppy would spin up and "refresh" the directory list.
-JL
SeaOS: Adding VT-x, networking, and ARM support
dbittman on IRC, @danielbittman on twitter
https://dbittman.github.io
dbittman on IRC, @danielbittman on twitter
https://dbittman.github.io
Re: SeaKernel - pre-release testing request.
The testbed:
http://inflater.wz.cz/site/pc/zelezo.htm
The second picture and the text on the right (parametre testbedu).
http://inflater.wz.cz/site/pc/zelezo.htm
The second picture and the text on the right (parametre testbedu).
My web site: http://inflater.wz.cz (Slovak)
Derrick operating system: http://derrick.xf.cz (Slovak and English )
Derrick operating system: http://derrick.xf.cz (Slovak and English )