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