小さな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

コメントを残す

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

Your post must include a link to this post.

How does this work?
Write a response on your own website and include a link to this post. Then submit your response’s URL here. Your response may appear here after moderation. To update or remove it, edit or delete your original post and submit the same URL again. Learn more about Webmentions.