ilobilix
1.0.0
第二次嘗試製作操作系統
確保已安裝以下程序:
注意:您可能需要更多的包裝來構建系統根部,例如flex bison automake autoconf autopoint gperf help2man texinfo libgmp-dev libmpc-dev libmpfr-dev等
關於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
按照以下步驟構建並運行操作系統:
克隆此存儲庫:
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 Sysroot,則使用以下方式創建它: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 | 使用Legacy BIOS運行(僅在X86_64上) |
| run_bios_debug | 相同但啟用調試 |
| run_uefi | 與UEFI一起運行 |
| run_uefi_debug | 相同但啟用調試 |
| 諾倫 | 不要運行操作系統 |
筆記:
-d int和-monitor telnet:127.0.0.1:12345 。如果啟用了gdb選項,請補充-s -Srun_bios ,否則run_uefi 。| 項目選項 | 預設值 | 描述 |
|---|---|---|
| kernel_cflags | 額外的c編譯器對內核的論點 | |
| kernel_cxxflags | 額外的CPP編譯器對內核的論點 | |
| Modules_cflags | 額外的C編譯器論證 | |
| Modules_cxxflags | 額外的CPP編譯器論證 | |
| kernel_ubsan | 錯誤的 | 在內核中啟用ubsanitizer |
| Modules_ubsan | 錯誤的 | 在模塊中啟用泛媒體 |
| 5lvl_paging | 錯誤的 | 在內核中啟用5級分頁 |
| syscall_debug | 錯誤的 | 打印syscall登錄串行控制台 |
| GDB | 錯誤的 | 調試時添加-s -S到qemu |
| Noaccel | 錯誤的 | 禁用QEMU加速器 |
| vnc | 錯誤的 | 在127.0.0.1:5901啟動QEMU VNC服務器 |
https://discord.gg/fm5gk3rps7