Вторая попытка сделать ОС
Убедитесь, что у вас установлены следующие программы:
Примечание: вам может понадобиться больше пакетов для создания Sysroot, таких как 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.ymlmkdir build-sysrootpushd build-sysrootxbstrap init ..xbstrap install basesysroot не существует в источнике 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 | Беги с Legacy Bios (только на x86_64) |
| run_bios_debug | То же самое, но с включенной отладкой |
| run_uefi | Беги с Уфи |
| run_uefi_debug | То же самое, но с включенной отладкой |
| Норюн | Не запускайте ОС |
Примечания:
-d int и -monitor telnet:127.0.0.1:12345 . Если опция gdb включена, добавляет -s -Srun_bios , в противном случае run_uefi .| Параметры проекта | Значение по умолчанию | Описание |
|---|---|---|
| kernel_cflags | Extra C Compiler Arguments для ядра | |
| kernel_cxxflags | Дополнительные аргументы компилятора CPP для ядра | |
| modules_cflags | Extra C Compiler Arguments для модулей | |
| modules_cxxflags | Дополнительные аргументы компилятора CPP для модулей | |
| kernel_ubsan | ЛОЖЬ | Включить Ubsanitizer в ядре |
| MODULES_UBSAN | ЛОЖЬ | Включить Ubsanitizer в модулях |
| 5lvl_paging | ЛОЖЬ | Включить 5 -уровневое подкурор в ядре |
| syscall_debug | ЛОЖЬ | Печать журнала Syscall в последовательной консоли |
| GDB | ЛОЖЬ | Добавить -s -S в qemu при отладте |
| Ноаксель | ЛОЖЬ | Отключить ускорители QEMU |
| виноградный | ЛОЖЬ | Start QEMU VNC Server на 127.0.0.1:5901 |
https://discord.gg/fm5gk3rps7