Easyboot は、オールインワンのブート マネージャー およびブート可能なディスク イメージ作成ツールです。 さまざまな OS カーネルと、さまざまなバイナリ形式の Multiboot2 準拠カーネル。
注: 単一のカーネルのみをロードするブート ローダー を探している場合は、 Easyboot の弟分である、Simpleboot。
このプロジェクトは、Free Software Foundation Hungary の支援なしでは不可能でした。 このプロジェクトは、FSF.hu の フリーソフトウェア入札 2023 のアプライアンスで作成されました。
サポートされているカーネル: Multiboot1 (ELF32, PE/COFF, a.out; BIOS, UEFI, RPi), Multiboot2 (ELF32, ELF64, PE32+/COFF, a.out; BIOS, UEFI, RPi), Linux (BIOS, UEFI, RPi), Windows (UEFI), OpenBSD (BIOS, UEFI), FreeBSD (BIOS, UEFI), FreeDOS (BIOS), ReactOS (BIOS), MenuetOS 32 / 64 (BIOS, UEFI), KolibriOS (BIOS, UEFI), SerenityOS (BIOS, UEFI), Haiku (BIOS, UEFI)
サポートされているファイルシステム: FAT12/16/32, exFAT, NTFS (v3, v3.1), ext2/3/4, XFS (SGI), UFS (v2, v4.4), mfs (Minix3), BeFS (Haiku), AXFS (OS/Z)
(カーネルがブート パーティションにある場合は、ZFS、btrfs などの任意のファイル システムをルートに使用できます。)
私は使いやすいブートローダーを作成しましたが、ユーザーはますます多くの機能を求めていました。 ブート ローダーをできるだけシンプルに保ちたかったのですが、FSF.hu がサポートを提供してくれたので、代わりにそれをフォークして、要求されたすべての機能をこのブート マネージャーに追加することにしました。
これも Simpleboot と同様の 使いやすい ツールであり、依存関係がなく、非常に使いやすいです。
easyboot (ソースディレクトリ) (出力イメージファイル)
コマンドを実行します。ブート マネージャーをインストールして、既存のデバイスまたはイメージをブート可能にすることができます。 または、ブート可能イメージを新たに作成することもできます。
あなたはできるそのイメージを VM でブートするか、 dd
または USBImager を使用してストレージに書き込んでブート
することもできますそれは実機でもです。
シンプルこそ究極の洗練!
OS のバイナリをダウンロードするだけです。 これらはポータブルな実行可能ファイルであり、インストールや共有ライブラリ/DLL も必要ありません。
さらに、distrib ディレクトリでさまざまなパッケージング ソリューションを見つけることができます (用 Debian、Ubuntu、RaspiOS、Gentoo、Arch)。
イメージを作成するときは、(構成に応じて) (ソース ディレクトリ)
にいくつかのプラグインも必要になる場合があります。 これらは、拡張子 plg
を使用して
src/plugins ディレクトリにあります。 パッケージからインストールすると、これらは /usr/share/easyboot
の下に配置されます。
ブータブル ディスク クリエーターの使用方法とカーネルの起動方法に関する詳細な ドキュメント (英語) は、docs ディレクトリにあります。
Easyboot の 簡素化された Multiboot2 プロトコルを使用して、プラグインなしでロードできるカーネルを作成したい場合は、 Simpleboot カーネルの例 ディレクトリ。どちらのローダーも同じブート プロトコルを使用しており、カーネルは Easyboot でそのまま動作します。 アセンブリも埋め込みタグも必要ないことがわかります。それ以外の場合、 ソース コードは Multiboot2 仕様の例と 99.9% 同じです (唯一の違いは、VGA テレタイプ画面ではなくシリアル コンソールに出力されることです。後者は UEFI や RaspberryPi マシンには存在しないためです)。
オーケストレーションには GNU/make が必要です (文字通り、単に cc easyboot.c -o easyboot
ですが)。 ツールチェーンは重要ではありません。ANSI C
コンパイラなら何でもよく、POSIX や WIN32 MINGW でも動作します。 src ディレクトリに移動して make
を実行するだけです。 それだけです。
サイズは小さいにもかかわらず、自己完結型であり、コンパイルにはライブラリの依存関係がまったくありません。 Easyboot と呼ばれているのには理由がありません :-)
ローダーを再コンパイルするには、flatassembler、LLVM Clang と lld (gcc と GNU ld は機能しないと思います) が必要です。
しかし、心配しないでください。これらはすべてバイト配列として src/data.h
に追加されているので、本当にコンパイルしたくない限り、これらをコンパイルする必要はあ
りません(そのためには、make を実行する前に data.h を削除してください)。
一方、プラグインをコンパイルするには、LLVM CLang または GNU gcc (x86_64-elf-gcc、aarch64-elf-gcc)。 リポジトリには、これらもバイナリとして含まれています。
再コンパイルを行うには、make を実行する前に src/plugins/*.plg
ファイルを削除するだけです。
Easyboot は無料のオープンソース ソフトウェアであり、GPL バージョン 3 または (ご意見によると) それ以降のバージョンの条件に基づいてライセンスされています。 詳細については、LICENSE ファイルを参照してください。
bzt