Page 2 of 6

Re: とあるOS [ToAruOS] ~ A Learning Project

Posted: Fri Oct 12, 2012 1:22 am
by klange
I completely forgot about this thread, but hello again. I've been busy with work lately, but I've still had some free time to work on things.

There's not all that much new visibly, but I have been working on porting libraries.

I completely rewrote my compositor to support alpha transparency on windows, spent quite of bit of time making things more efficient there. I also ported Cairo and am considering porting my blitting over to pixman (Cairo's pixel-pushing library) to take advantage of SSE and the likes. I've also been working on getting a few extra kernel features up, spent a few sleepless nights getting everything running on real hardware. I wrote an editor out of boredom a few weeks ago, and I've now ported MuPDF to make a PDF viewer.

Image

I'm presenting a "learning group" at work on OS design, think I'm ready?

Re: とあるOS [ToAruOS] ~ A Learning Project

Posted: Fri Oct 12, 2012 4:06 am
by gravaera
Yo:

Yes, quite possibly you are, and this could be a very good move for your career -- being able to say that you pioneered such an initiative would look very, very good on your resume when applying for a development job later on :O

--Good luck,
gravaera

Re: とあるOS [ToAruOS] ~ A Learning Project

Posted: Tue Oct 16, 2012 9:14 pm
by klange
I've got some new graphics library routines to blur graphics surfaces and render text shadows.

The soft shadow makes icon labels much more readable against bright backgrounds:

Image

Re: とあるOS [ToAruOS] ~ A Learning Project

Posted: Mon Oct 29, 2012 1:44 pm
by tiger717
klange,

First of all: I highly admire your work. Your OS looks really great! :D
Three questions:
1. What language is ToAru?
2. Do you hardcode the version number, or do you have some kind of Build Version Auto Increment in your makefile?
3. When compiling and running とあるOS, qemu says "multiboot knows vbe. we don't." Apparently qemu doesn't like the resoltion. How do you run it? Have you got some magically patched qemu? :P

Thank you

Re: とあるOS [ToAruOS] ~ A Learning Project

Posted: Mon Oct 29, 2012 6:36 pm
by klange
tiger717 wrote:klange,

First of all: I highly admire your work. Your OS looks really great! :D
Three questions:
1. What language is ToAru?
2. Do you hardcode the version number, or do you have some kind of Build Version Auto Increment in your makefile?
3. When compiling and running とあるOS, qemu says "multiboot knows vbe. we don't." Apparently qemu doesn't like the resoltion. How do you run it? Have you got some magically patched qemu? :P

Thank you
1. Japanese (とある means "a certain...", it's a bit of a play on generic names like "yet another") or if you mean code, it's all C.
2. There is a file `version.c` that contains version information and uses compiler constants to include time information. The version numbers there are manually bumped.
3. That's a warning about QEMU not supplying VBE information to the hosted OS when a multiboot kernel image specifies graphical mode - it is unrelated to how the graphics drivers work under QEMU. If you are seeing a black screen, you failed to build a userspace (usually because your toolchain is broken or didn't build). Run the `build.sh` script to build everything and check thoroughly for errors when building to the cross-compile toolkit. The kernel builds with a native copy of clang (or gcc, maybe, I honestly haven't checked in quite some time), but the userspace applications require a toolchain with a custom build of GCC.

Re: とあるOS [ToAruOS] ~ A Learning Project

Posted: Sat Nov 24, 2012 3:44 pm
by klange
It's been a while since I've updated this thread, so here's a video:



Probably best viewed directly from YouTube at the highest available resolution.

Re: とあるOS [ToAruOS] ~ A Learning Project

Posted: Sat Nov 24, 2012 6:05 pm
by Jezze
Looks awesome as always. What is the next step?

Re: とあるOS [ToAruOS] ~ A Learning Project

Posted: Sat Nov 24, 2012 6:07 pm
by klange
Jezze wrote:Looks awesome as always. What is the next step?
I've spent so long focusing on appearance, I've not put nearly enough work into important features in the kernel, or writing device drivers... My TODO list is many pages long.

Re: とあるOS [ToAruOS] ~ A Learning Project

Posted: Tue Dec 04, 2012 11:47 pm
by klange
Hello anyone who happens to read this,

I'd like to announce the release of a VirtualBox virtual appliance.

This appliance was built from my current development environment and includes a full installation with the Cairo-backed compositor, muPDF viewer, and a stand-alone copy of the Lua interpreter.

The root user has a password `root`. There is a less-privileged account 'local', as well (password is 'local'). Windows can be moved by holding Alt and then clicking and dragging, and can be resized by doing the same with the middle button. The terminal is the best place to start, as you can launch all the other applications from it. The shell is simplistic, but provides variables, general quoting, and tab completion for command names. Most graphical applications can be exited by striking `q` (draw being one exception, use the X button in the upper right corner). `a` and `s` switch pages on the PDF viewer. The RPG Demo linked on the desktop is controlled with w/a/s/d (and exited with q). A terminal window can be closed by entering the 'exit' command.

Alternative boot modes are provided in the GRUB menu, including terminal-only mode and VGA terminal mode (all three boot modes use the same terminal running in different modes).

Please note that the OVA has VT-x/AMD-V enabled. If you don't have virtualization capabilities on your CPU, you can turn this off, but expect things to be slow due to the nature of the windowing environment's rendering path.

Re: とあるOS [ToAruOS] ~ A Learning Project

Posted: Wed Dec 05, 2012 12:54 am
by dozniak
Yay!

Re: とあるOS [ToAruOS] ~ A Learning Project

Posted: Wed Dec 05, 2012 6:30 pm
by Brynet-Inc
Apparently these "virtual appliances" are just tarballs, they contain a disk image in some proprietary format (vmdk) along with some XML configuration metadata.

I'd imagine a raw compressed disk imagine would work just as well, no? :-)

Re: とあるOS [ToAruOS] ~ A Learning Project

Posted: Wed Dec 05, 2012 7:08 pm
by Kazinsal
I love it. Very neat stuff, klange!
Brynet-Inc wrote:Apparently these "virtual appliances" are just tarballs, they contain a disk image in some proprietary format (vmdk) along with some XML configuration metadata.

I'd imagine a raw compressed disk imagine would work just as well, no? :-)
Sure, but VirtualBox recognizes an OVA right out of the box and set it up. Great for those of us who groan every time we have to manually fuddle with settings to get a downloaded VM running. Generally they're also optimized for the guest OS specifically (though under a specific VM platform).

To each his/her own, though!

Re: とあるOS [ToAruOS] ~ A Learning Project

Posted: Wed Dec 05, 2012 9:39 pm
by klange
Brynet-Inc wrote:Apparently these "virtual appliances" are just tarballs, they contain a disk image in some proprietary format (vmdk) along with some XML configuration metadata.

I'd imagine a raw compressed disk imagine would work just as well, no? :-)
VMDK isn't proprietary; it was when it was developed at VMWare, but the specification was opened a long time ago and qemu has supported it for quite some time. I made an OVA because it allowed me to specify optimal settings and easily provide support for a variety of host platforms since VirtualBox is open source and available on Linux/Solaris/OS X/Windows. It's also much easier to say "download this and open it in VirtualBox" than "download this and open it in QEMU with these dozen options but only use this one on Linux, and if you're on a Mac you need to set this keyboard layout".

Here is the current spec for VMDK.

Re: とあるOS [ToAruOS] ~ A Learning Project

Posted: Thu Dec 06, 2012 7:49 am
by Brynet-Inc
klange wrote:
Brynet-Inc wrote:Apparently these "virtual appliances" are just tarballs, they contain a disk image in some proprietary format (vmdk) along with some XML configuration metadata.

I'd imagine a raw compressed disk imagine would work just as well, no? :-)
VMDK isn't proprietary; it was when it was developed at VMWare, but the specification was opened a long time ago and qemu has supported it for quite some time. I made an OVA because it allowed me to specify optimal settings and easily provide support for a variety of host platforms since VirtualBox is open source and available on Linux/Solaris/OS X/Windows. It's also much easier to say "download this and open it in VirtualBox" than "download this and open it in QEMU with these dozen options but only use this one on Linux, and if you're on a Mac you need to set this keyboard layout".

Here is the current spec for VMDK.
I see, but for whatever reason qemu-img can't convert these extracted images to anything sensible..

While VirtualBox does support Linux/Windows/OS X, it doesn't run on every OS.. as it requires a kernel module. OpenBSD developers discovered it was occasionally mangling registers between context switches.

InnoTek/Sun/Oracle refused to fix it. Their workaround? Enable VT-x/AMD-V.

http://marc.info/?l=openbsd-misc&m=120492689515501&w=2

Re: とあるOS [ToAruOS] ~ A Learning Project

Posted: Wed Aug 21, 2013 2:42 pm
by Geri
i love your work. the os looks very good. does it support smp?