Posts Tagged 五OS

五OS Success on Panasonic CF-R6

After a few weeks of porting 五OS to 64bits and finally managed to get it running on QEmu, I tried running the resulting OS image on a real piece of hardware: my Panasonic CF-R6 from GeekStuff4U.

Of course as I don’t want to bother yet with USB drivers (that’s next in line in the TODO list, but for now we can somewhat survive without), I decided to use our blkdev/bios driver (legacy 16bits driver via BIOS interrupts, using core/x86emu 16bits emulator).
Same with graphics mode, don’t have a Intel driver yet, so we’ll use display/vesa_legacy 16bits driver (which also makes use of core/x86emu 16bits emulator to get graphics adapter’s bios working).

At first, I found out that the new compact bootloader wasn’t working properly. This was fixed by enabling Unreal Mode (a way of tricking the CPU into thinking ds and es segments are really mapped in 32bits mode while still being in 16bits mode).
The next problem I encountered was when the “hard disk” (the usb drive, in fact) was detected, we couldn’t display the size. I tracked this to some weird bug in our current printf() implementation that makes a real system freeze when displaying a float (it works seamlessly on virtual system). Removing the display of detected disk size fixed this problem too, but it’s not a permanent fix.

Once those two points were fixed, everything else worked. I could access our marvelous “shell”, type commands (I issued “lsmod”, “cat sample.txt” and “modp misc/helloworld”) and see that it was good.

My RTL-8139 network controller was detected and module nic/rtl8139 loaded, IPv4 enabled, and most things were working. I believe the next step will be to test the scheduler, optimize it, and start working on the TCP stack. At the same time, a cache system at VFS level and another at block device level should be implemented using a kernel generic cache allocator (that will automatically free physical pages when memory is needed), process switching should make use of CR0.TS to know when we need to switch MMX/SSE2 context, and the keyboard input should be improved.
At the same time, a generic HCI stack is needed for USB, and OHCI/EHCI/UHCI should be implemented (something has been started, but it’s far from complete).

Thanks for everyone who has been providing support to the project, I hope to be able to provide more impressive news soon ! :)

五OS revision 651 on CF-R6Previous tests for Revision651 on CF-R6

Tags: , ,

五OS improvements

Today, at 9h00 in Paris, France, for the first time in its short history, 五OS has been started on a real piece of hardware.

This is an important step for an OS that has been only written using emulators like QEmu and VirtualBox.

Tags: , ,

This week’s news : 五OS, TuxTelecom and libthor

During the week, the 五OS project has been resumed. This project is aimed at creating an OS for end-users with a really fast boot by including all vital parts in the kernel.

Also, in order to make easier for the users, there will be no need to deal with things such as shells, etc… to get the OS installed.

I’ve taken over the USB driver developpement, while BombStrike will work on the process scheduler in order to fix a few glitches that were reported.

While this happens, I’m still working on TuxTelecom althrough the service is now owned by Mutum Sigillum LLC. I get to play with the central while real service will be initiated soon.
The final service will of course include regular phone calls, but it will also include ability to send SMS to the world, and maybe to receive those too (in order to receive SMS you’ll need a special plan. Everyone with credit on their accounts will be able to send messages).

Finally, a new non-open source project I’m working on : libthor (threaded torrent library). This cross-platform library will allow anyone to build applications handling torrents (load a torrent, seed it, etc).

Well, that’s basically everything to this week’s news. See you next week !

Tags: , , , ,

五OS has a terminal!

It’s been a while since it last happened. We’ve been working a lot on 五OS recently, and managed to implement a lot of things. This includes :

  • An “events” system, which allows applications to receive events
  • A basic buffer used only for stdin, allowing an application to “read” from the console
  • Various improvements of kernel modules

And finally, yesterday evening, I was able to write the first 五OS console “emulator”, with 3 commands : help, echo and exit.

Page about 五OS revision 239 (with screenshot)

Some documentation on the modtool utility was also released.

Tags: ,

五OS – First « Proof of Concept » available

We decided for 五OS (pronounced « Go O.S. ») to start working on the global design of the user interface. As the development of the OS internals is getting closer to be on the User Interface, we decided to let a different team start working on this aspect of the OS.

http://5os.net/wiki/Proof_of_concept

We welcome constructive comments (yeah, we know it looks a lot like vista, we’re working on this aspect, no need to remind that to us). Basically the user interface should be out for febuary 2008, but it may be quite limited (don’t know yet, it’ll depend on when I manage to completly fix multitasking).

By the way, kernel module support has been completed, and the kernel is now able to load additionnal module to provide support for different graphic cards. Kernel seems to be broken on Bochs/VMWare (somewhat manages to start, but crashes before or after enabling graphics mode) but it should be fixed soon.

Tags: , ,

some precisions about 五OS

Here’s some precisions about 五OS (pronounced Go-OS)

Basically what makes 五OS so specific is the kernel. It manages display (on Linux, the display is managed by a separate server) and many other things. Also it has the ability to modify itself on the fly, allowing for new drivers to be loaded/unloaded at boot time, increasing the global boot process.

Our goal is to make a kernel able to bootup the computer within less than 5 seconds. This is not possible in 100% of the cases (some RAID cards require ~20 seconds to be ready), however it should be possible for 99% of people running standard PC architecture.

The source of the kernel itself is not open. The kernel has some secrets which are not to be shared with anyone; however some modules of the kernel will be opensource, and anyone will be able to create a kernel module.

The idea is to make possible to create binary kernel drivers, and allow companies such as nVidia or ATI to provide binary drivers, which will provide the best possible device support. As the kernel is not under GNU license, it is possible to link anything against it, not only GNU software, and provide pre-compiled stuff (no more need for “glue” like on current linux nvidia drivers).

Even if the kernel is not opensource, some other pieces of software from the opensource world will be provided (with sources), like the glibc. Only the kernel itself (and maybe some other configuration applications, but those should be opensource and under BSD license) will be closed source, and coded internally by us.

Next step in kernel developpement: check the 五OS Roadmap.

Tags: ,

五OS ain’t dead!

It’s been a while since I last talked about 五OS, that’s because we’ve been quite busy with the whole thing.

We’re currently working on some complex parts of the OS, mainly internal stuff (invisible to the end user).

Read the rest of this entry »

Tags: ,