Ethereal
速度、メモリ節約、および信頼性を重視して書かれたカスタムのオールインワンオペレーティングシステム。\ 以前は reduceOS として知られていた
Etherealとは?
Etherealは、モダンなOSが持つすべてのコンポーネントを備えた完全な機能を持つOSをゼロから作成することを目標としたプロジェクトです。
現在、このプロジェクトはユーザモード段階の開発を進めています。
スクリーンショット
\
モダンな1080pデスクトップ環境
\
DOOMを動かすEthereal旧メインデスクトップ環境
\
デバッグモードで起動中のEthereal
\
Liberaチャット (#ethereal) 上のEthereal
\
DOOMを動かすEthereal
\
Ethereal用に作られたneofetchクローン(whatarewe)を動かすEthereal
特徴
- 完全なSMP対応カーネル
- カスタムウィンドウマネージャ(Celestial)
- UHCI/EHCI/xHCIコントローラ対応のUSBサポート
- AHCI/IDE対応
- E1000およびRTL8139ネットワークカードドライバを備えたネットワークスタック
- 優先度ベースのラウンドロビンスケジューラと十分にテストされたAPI
mlibcCライブラリおよびその多彩な関数のサポート- ACPICAライブラリによる完全なACPIサポート(AML解析を持たないバックアップのMinACPIライブラリ付き)
プロジェクト構成
base: ベースファイルシステムを含む。base/initrd内のファイルは初期ラムディスクに配置される(LiveCD以外の起動用)、base/sysroot内のファイルはsysrootに配置される。buildscripts: ビルドシステム用のビルドスクリプトを含むconf: アーキテクチャファイル、GRUB設定、追加のブートファイルなどの各種設定ファイルを含むdrivers: Hexahedron用ドライバー。設定に基づいてコピーされる。external: ACPICAなどの外部プロジェクトを含む。External Componentsを参照。hexahedron: メインカーネルプロジェクトlibkstructures: リスト/ハッシュマップ/パーサーなどの各種カーネル構造を含むlibc: mlibcを含む
ビルド
ACPICAについての注意
ACPICAを使用する場合(デフォルトで有効)、こちらからtarファイルをダウンロードし、external/acpica/acpica-srcに展開してください。
それ以外の場合は、conf/build/を編集し、USE_ACPICAを0に設定してください。
ビルド手順
Etherealをビルドするには、ターゲットアーキテクチャ用のEtherealツールチェーンが必要です。\ Etherealツールチェーンはリポジトリで入手可能です。
必要な他のパッケージ:grub-common、xorriso、qemu-system、meson、ninja
ターゲットビルドアーキテクチャを変更するには、buildscripts/build-arch.shを編集してください。\
make allを実行すると、build-output/ethereal.isoにISOファイルが作成されます。
現状、Etherealはファイルシステムドライバーを持たないため、LiveCD起動が通常最良の選択です。\ LiveCDの初期ラムディスクはsysrootであり、OSが起動を検出すると初期ラムディスクをRAMにコピーします。
カーネル引数
Etherealが起動に失敗することが多々あります。これは想定内です。GitHubのIssueを作成してください。
一部の問題は、GRUBの設定画面を'e'で開き、multiboot entryの末尾にカーネル引数を追加することで解決できます。\
ここに小さなリストがあります:
--debug=: オプションはconsoleとnoneです。consoleの場合、カーネルのデバッグ出力を画面にリダイレクトします。デバッグに便利です--noload=: 読み込まないドライバ(.sys)ファイルのカンマ区切りリスト。問題のあるドライバ: usb_xhci.sys、ahci.sys、ps2.sys(PS/2をサポートしない場合)--no-acpica: ACPICAライブラリを無効にし、MinACPI実装にフォールバックします。極端な場合のみ有用です。--no-acpi: すべてのACPI実装を無効にします。SMPも無効にします。--disable-smp: ACPIは有効にしますが、SMPを無効にします--disable-cow: コピーオンライトを無効にします。推奨されませんが、極端な場合に役立つことがあります。--no-psf-font: initrdからPSFフォントを読み込みません
外部コンポーネント
特定の外部コンポーネントはexternal、libc、およびカーネルの他の部分で利用可能です。以下はそれらとそのバージョンのリストです:
- ACPICA UNIX*(Intelライセンス):バージョン20240927 こちらから入手可能
- libmusl数学ライブラリ(MITライセンス):こちらから入手可能
- freetype(GPLライセンス):こちらから入手可能
- mlibc(MITライセンス):Etherealフォークはこちら
- tinf(zlibライセンス):こちらから入手可能
- json-parser(BSD 2条項ライセンス):こちらから入手可能
- PlutoSVG(MITライセンス):こちらから入手可能
クレジット
Etherealの設計の多くはklangeのToaruOSに触発されました - ありがとうございます!
Etherealの仮想メモリマネージャ設計およびその他の部分は@mathewndのAstralに触発されました
Astralのコードの一部も使用されており、適切な場所でクレジットしています。ライセンスファイルは external/ に含まれています。
EtherealのロゴとマーキュリーテーマはアーティストArtsySquidによってデザインされました
ライセンス
HexahedronおよびEtherealのその他すべての非外部コンポーネントはBSD 3条項ライセンス(LICENSEに記載)に準拠します。\ 著作権ヘッダーで指定されていない限り、すべてのファイルはこのライセンスに従います。著作権ヘッダーがないファイルはBSD 3条項で保護されていません。
ライセンス問題: ファイルに適切なコメントがない場合は、直ちに私に連絡してください(透明性のためGitHubのIssueなどの公開チャネルを通じて連絡いただくのが望ましいです)。
Etherealの目標は決してコードを取ることではありませんが、過去にそうしたことがありました。どうぞご連絡ください! --- Tranlated By Open Ai Tx | Last indexed: 2026-05-23 ---