Archive for April, 2009

Saving a Seagate disk

Today at work, we had a broken seagate hard disk (“BSY” status), we decided that we needed to save it because we felt the data in there was important.

Fun was there, as well as some work for a geek armed with a business card, some wires and a torx screwdriver.

Hard disk and the usb serial adapterTools used to save the hdd

Tags: ,

五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: , ,

日本語にしよう

僕は日本語はまだあまりよく出来ません。漢字は知らないけどコンピュータのおかげで、何となくできる。。。

ま〜〜〜〜〜
だから多分間違えてると思う。。

とりあえず、これは僕の初めての日本語のポストです。

僕は6月18日、日本に行きます(仕事関係の理由で)。こんな外国人ですが我慢してください。

自己紹介:僕は23歳のフランス人。今はパリに住んでいる。日本語の勉強はずっとしたかったけどマイペースだから何もしなかった。どうして日本語喋れるかな。。。それは僕にもよく分からない。
仕事はコンピュータ関係(プログラマ);目的は世界征服。

Tags: