OSを作成する2回目の試み
次のプログラムがインストールされていることを確認してください。
注: flex bison automake autoconf autopoint gperf help2man texinfo libgmp-dev libmpc-dev libmpfr-devなど、Sysrootを構築するには、より多くのパッケージが必要になる場合があります。
Debianベースのシステムでは、ここからLLVM、Clang、LLDをインストールすることをお勧めします:https://apt.llvm.org
最新のDebianベースのシステム(Ubuntu、Linux Mint、Pop_os!など)を使用している場合は、このコマンドでそれらのほとんどをインストールできます。
sudo apt install clang lld llvm xorriso tar qemu-system-x86 qemu-system-arm
Meson、Ninja、Xbstrapについては、最初にPythonとPython-Pipがインストールされてから実行されていることを確認してください。
python -m pip install meson ninja xbstrap
これらの手順に従って、OSを構築および実行します。
このレポをクローンします:
git clone --depth=1 https://github.com/ilobilo/ilobilix
現在、Sysrootを手動で構築する必要があります。
boostrap.ymlでアーキテクチャを設定しますmkdir build-sysrootpushd build-sysrootxbstrap init ..xbstrap install basesysrootという名前のSymlinkがilobilixソースに存在しない場合は、 build-sysroot/system-rootにリンクしています。ln -s $BUILD_SYSROOT_DIR$/system-root $KERNEL_DIR$/sysrootln -s build-sysroot/system-root ../sysrootpopdビルドシステムをセットアップします。
meson setup builddir --cross-file cross-files/meson-kernel-clang-(x86_64/aarch64)(-ccache).cross-file -Doptions=values
カーネルを構築して実行します:
ninja -C builddir <see Ninja Targets>
| ターゲット名 | 説明 |
|---|---|
| run_bios | レガシーBIOSで実行する(x86_64のみ) |
| run_bios_debug | 同じですが、デバッグが有効になっています |
| run_uefi | uefiで実行します |
| run_uefi_debug | 同じですが、デバッグが有効になっています |
| ノルン | OSを実行しないでください |
注:
-d int and -monitor telnet:127.0.0.1:12345 Qemuを実行します。 gdbオプションが有効になっている場合、 -s -Sを追加しますrun_bios run_uefi使用されます。| プロジェクトオプション | デフォルト値 | 説明 |
|---|---|---|
| kernel_cflags | カーネルの余分なCコンパイラ引数 | |
| kernel_cxxflags | カーネルの追加のCPPコンパイラ引数 | |
| modules_cflags | モジュールの追加Cコンパイラ引数 | |
| modules_cxxflags | モジュールの追加のCPPコンパイラ引数 | |
| kernel_ubsan | 間違い | カーネルでウブスナイターを有効にします |
| modules_ubsan | 間違い | モジュールでUbsanitizerを有効にします |
| 5lvl_paging | 間違い | カーネルで5レベルのページングを有効にします |
| syscall_debug | 間違い | シリアルコンソールにsyscallログを印刷します |
| GDB | 間違い | デバッグ時に-s -Sをqemuに追加します |
| ノッケル | 間違い | QEMUアクセラレータを無効にします |
| VNC | 間違い | 127.0.0.1:5901でQEMU VNCサーバーを開始します |
https://discord.gg/fm5gk3rps7