小さなLinux互換カーネルのTilckでアプリをいくつか試す

小さなLinux互換カーネルのTilckというものを知ったので少し触ってみました.その後Wikiを見ながらbuild_toolchain script を利用していくつかのユーザスペースアプリケーションを試してみました.

fbDOOM

まずは楽しげなfbDOOMを導入

fbDOOM
$ ./scripts/build_toolchain -s build_fbdoom
$ ./scripts/cmake_run -DEXTRA_FBDOOM=1
$ make rem

マウスデバイスがないのでキーボードでの操作のみですがそこそこ遊べます.

tilck fbdoom

FrameBuffer

次はFrameBufferのアプリを

framebuffer
./scripts/build_toolchain -s build_tfblib
$ ./scripts/cmake_run -DEXTRA_FBDOOM=1
$ make rem

以下のコマンドが使えるようになります.

fb_drawing      fb_keyinput     fb_text         fbtest
fb_hello_world  fb_tetris

マンデルブロ集合いいですよね.fb_drawing の中に有ります.

tilck fb01

TinyCC

TinyCC も使えます.

$ ./scripts/build_toolchain -s tcc
$ ./scripts/cmake_run -DEXTRA_TCC=1
$ make rem

ただし,現時点では静的リンクが必須です.

root@tilck:/# cat lib/tcc-examples/ex1.c
#!/usr/local/bin/tcc -run
#include <tcclib.h>

int main()
{
    printf("Hello World\n");
    return 0;
}
root@tilck:/# tcc lib/tcc-examples/ex1.c -o ex1
root@tilck:/# ./ex1
Killed
root@tilck:/# tcc -static lib/tcc-examples/ex1.c -o ex1
root@tilck:/# ./ex1
Hello World
Tip

こういう操作時はqemuのGUIコンソールちょっと使いづらいので -serial stdio を付けてホストマシンで操作すると便利です.

$ qemu-system-i386 -rtc base=localtime -device sb16 -drive id=img1,format=raw,if=none,file=/home/matoken/src/tilck/build/tilck.img -device ide-hd,drive=img1,cyls=74,heads=16,secs=63 -serial stdio

他にもいくつかのアプリケーションが動きます.WIkiをチェックしてみましょう.
build_toolchain script に色々加えると楽しそうです.

環境
[    0.111] Hello from Tilck 0.1.4, commit: 5835b80f
[    0.111] Build type: Debug, compiler: gcc 8.4.0
[    0.115] timer_hz: 250; time_slice: 40 ms; in_hypervisor: yes

                    ▒▒▒▒▒▒▒▒┐ ▒▒┐ ▒▒┐       ▒▒▒▒▒▒┐ ▒▒┐  ▒▒┐
                    └──▒▒┌──┘ ▒▒│ ▒▒│      ▒▒┌────┘ ▒▒│ ▒▒┌┘
                       ▒▒│    ▒▒│ ▒▒│      ▒▒│      ▒▒▒▒▒┌┘
                       ▒▒│    ▒▒│ ▒▒│      ▒▒│      ▒▒┌─▒▒┐
                       ▒▒│    ▒▒│ ▒▒▒▒▒▒▒┐ └▒▒▒▒▒▒┐ ▒▒│  ▒▒┐
                       └─┘    └─┘ └──────┘  └─────┘ └─┘  └─┘

$ dpkg-query -W qemu-system-x86
qemu-system-x86 1:7.2+dfsg-1+b2
$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux bookworm/sid
Release:        n/a
Codename:       bookworm
$ arch
x86_64

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

To respond on your own website, enter the URL of your response which should contain a link to this post's permalink URL. Your response will then appear (possibly after moderation) on this page. Want to update or remove your response? Update or delete your post and re-enter your post's URL again. (Find out more about Webmentions.)