世界を動かす技術を、日本語で。

Show HN: Oberon System 3がRaspberry Pi 3上でネイティブに動作(準備済みSDカード付き)

2026年4月12日原文(github.com)

概要

Oberonシステムのカーネルやファイルシステムなどが32ビットARMへ完全移植。 QEMU 10.2上でRaspberry Pi 2Bエミュレーションにて起動・実行可能。 ビルドはi386版同様に非常に高速で、1分以内に完了。 QEMUイメージとツールチェーンの事前ビルド版も提供。 今後は実機でのJTAGデバッグとネットワークドライバの移植を予定。

Oberonシステム ARM移植の現状

  • OberonシステムのカーネルRealsファイルシステム (AosFs)を 32ビットARM へ完全移植
  • プラットフォーム固有ドライバ (Display、USB、Math)もARM対応
  • QEMU 10.2で Raspberry Pi 2B (raspi2b machine)をエミュレートし、 フルシステムの起動・動作 を確認
  • i386版と同等の高速ビルド を実現
    • モジュールのコンパイル
    • コアの静的リンク
    • AosFsドライブ生成
    • ランタイムファイルの格納
  • カスタムC99ツールチェーン を利用し、 T480などの現行PCで1分以内にビルド完了
  • QEMUイメージとビルドに使用したツールチェーンの事前ビルド版 を提供

今後の展望

  • JTAGデバッグ による 実機検証
    • 対象: Raspberry Pi Model 2B、3B、Zero 2
  • ベアメタル動作 の実現が目標
  • ネットワークドライバ(特にEthernet) の移植を検討
    • Wlan対応は工数的に未定

Hackerたちの意見

これいいね!MS-DOSが全盛期の頃、386でSystem 3を動かしてたのを思い出すよ。

ありがとう。実は、リポジトリにはi386版のシステムもあって、カーネルを修正してMultibootで動くようにしたから、インストールがかなり楽になったんだ。両プラットフォームにとって重要な成果は、スタンドアロンツールだね。つまり、Linuxや他のプラットフォーム上でOberonシステム全体をコンパイルしてリンクできるんだ(詳細はhttps://github.com/rochus-keller/op2/を見てね)。開発用に使ったIDEも実装したよ(https://github.com/rochus-keller/activeoberon/を参照)。

おお、これは試してみなきゃ。素晴らしい仕事だね!ちょっと聞きたいんだけど、ここにいる人たちなら知ってると思うから、今のOberonの「全体像」ってどうなってるの?PascalやModulaからの系譜は知ってるし、Oberonで完全に書かれたOSがあったことも知ってる。SmalltalkやLispのマシンイメージに似てるよね。でも、後のOberonの作業は、Javaやdot netのようなマネージドランタイムとInferno OSの中間のように見えるのが混乱するんだ。ホスティングでも「ネイティブ」にも動くみたいだし。Wikipediaやウェブページをざっと見たときも、ちょっと混乱しちゃった。

ありがとう。SmalltalkやLispとは対照的に、Oberonは元々ネイティブ言語で、Oberonシステムは元々、90年代にETHチューリッヒで教育用に使われたCeresコンピュータのネイティブOSとして考案されたんだ。だから、LispやSmalltalkのようなイメージはないんだよ。Oberonは今も、いろんな方言や派生形(例えば、私のOberon+やMicron言語など)として生き続けてるよ(https://github.com/rochus-keller/oberonやhttps://github.com/rochus-keller/micronを見てね)。実際、JavaやECMA 335ランタイムで動くOberonの実装もあって、これはOberonのポインタ処理とメモリ管理が非常に制限されているおかげなんだ。

Smalltalkも、元々はXerox Altoの時代(1972年頃)にベアメタルで動いていたフルOSだったよね。

Oberonのユーザーインターフェースは、Plan 9のAcmeにインスパイアされたんだ。Oberonはプログラミングにとってとても素敵で楽しい、居心地の良いシステムと環境だよ。2010年頃に数ヶ月住んでたけど、楽しかったな。

このUIスタイル、タイル状のテキストウィンドウにマウスとグラフィックのインタラクション(実際、emacsに似てる)って、今使ってるコーディングエージェントにこそ合ってると思うんだ。情報のパネルをドッキングしたり、ただの「受け入れますか? Y/N」じゃなくてコードをリアルタイムで編集したり、サイドインタラクションがあったり、ちゃんとしたスクロールバーやクリップボードも欲しいし、リアルタイムのREPLもあれば最高なのに。なのに、Claude Codeのバグだらけでほとんどインタラクティブじゃない「60fps TUI」しかないのが残念。

これ素晴らしいね。考慮すれば、そのハードウェア上ではかなり速いんじゃないかな。

システムはめっちゃ速く立ち上がる(Linuxと比べてね)けど、その後USBハブやキーボード/マウスを見つけるのに結構時間がかかる。もうちょっと速くできるかもしれないな。

余ってるzero2で試してみるつもりだよ。ありがとう、これがまさにハッカーニュースに来た理由なんだ。

いいね、うまくいったか教えてね。残念ながら、ミニHDMIアダプタが壊れちゃって、新しいのが届くのを待ってるところ。けど、UARTピンにヘッダーをはんだ付けしたし、システムがちゃんと起動するのも確認できたよ。

Oberonが大好きなんだ! A2/ActiveOberon/BlueBottle、今の名前は何でもいいけど、小さなネイティブマシンで動かしたいな。素晴らしい!

Hacker Newsで議論の続きを見る