Upaya kedua membuat OS
Pastikan Anda memiliki program berikut yang diinstal:
Catatan: Anda mungkin memerlukan lebih banyak paket untuk membangun sysroot, seperti flex bison automake autoconf autopoint gperf help2man texinfo libgmp-dev libmpc-dev libmpfr-dev dll
Di sistem berbasis Debian, saya sarankan menginstal LLVM, Clang dan LLD dari sini: https://apt.llvm.org
Jika Anda menggunakan sistem berbasis Debian terkini (Ubuntu, Linux Mint, Pop_os!, Dll) Anda dapat menginstal sebagian besar dari mereka dengan perintah ini:
sudo apt install clang lld llvm xorriso tar qemu-system-x86 qemu-system-arm
Untuk Meson, Ninja dan XBSTRAP, pertama-tama pastikan Anda memiliki Python dan Python-PIP yang diinstal dan kemudian jalankan:
python -m pip install meson ninja xbstrap
Ikuti langkah -langkah ini untuk membangun dan menjalankan OS:
Klone repo ini dengan:
git clone --depth=1 https://github.com/ilobilo/ilobilix
Saat ini Anda harus membangun sysroot secara manual:
boostrap.ymlmkdir build-sysrootpushd build-sysrootxbstrap init ..xbstrap install basesysroot tidak ada di sumber ilobilix yang terhubung ke build-sysroot/system-root , maka buatlah dengan:ln -s $BUILD_SYSROOT_DIR$/system-root $KERNEL_DIR$/sysrootln -s build-sysroot/system-root ../sysrootpopd Siapkan sistem build:
meson setup builddir --cross-file cross-files/meson-kernel-clang-(x86_64/aarch64)(-ccache).cross-file -Doptions=values
Bangun dan jalankan kernel:
ninja -C builddir <see Ninja Targets>
| Nama target | Keterangan |
|---|---|
| run_bios | Jalankan dengan BIOS Legacy (hanya pada x86_64) |
| run_bios_debug | Sama tetapi dengan debugging diaktifkan |
| run_uefi | Jalankan dengan UEFI |
| run_uefi_debug | Sama tetapi dengan debugging diaktifkan |
| Norun | Jangan jalankan OS |
Catatan:
-d int dan -monitor telnet:127.0.0.1:12345 . Jika opsi gdb diaktifkan, tambahkan -s -Srun_bios akan digunakan, jika tidak run_uefi .| Opsi Proyek | Nilai default | Keterangan |
|---|---|---|
| kernel_cflags | Argumen Kompiler C Extra untuk Kernel | |
| kernel_cxxflags | Argumen kompiler CPP tambahan untuk kernel | |
| MODULES_CFLAGS | Argumen kompiler tambahan C untuk modul | |
| MODULES_CXXFLAGS | Argumen Kompiler CPP tambahan untuk modul | |
| Kernel_ubsan | PALSU | Aktifkan Ubsanitizer di Kernel |
| MODULES_UBSAN | PALSU | Aktifkan Ubsanitizer dalam Modul |
| 5lvl_paging | PALSU | Aktifkan 5 level paging di kernel |
| syscall_debug | PALSU | Cetak Syscall Log in Serial Console |
| GDB | PALSU | Tambahkan -s -S ke qemu saat debugging |
| noaccel | PALSU | Nonaktifkan akselerator QEMU |
| VNC | PALSU | MULAI QEMU VNC Server di 127.0.0.1:5901 |
https://discord.gg/fm5gk3rps7