OS를 만드는 두 번째 시도
다음 프로그램이 설치되어 있는지 확인하십시오.
참고 : flex bison automake autoconf autopoint gperf help2man texinfo libgmp-dev libmpc-dev libmpfr-dev 등과 같은 sysroot를 구축하려면 더 많은 패키지가 필요할 수 있습니다.
데비안 기반 시스템에서는 여기에서 llvm, clang 및 lld를 설치하는 것이 좋습니다 : https://apt.llvm.org
최신 데비안 기반 시스템 (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를 구축하고 실행하십시오.
이 repo를 다음과 함께 복제하십시오.
git clone --depth=1 https://github.com/ilobilo/ilobilix
현재 Sysroot를 수동으로 구축해야합니다.
boostrap.yml 로 설정하십시오mkdir build-sysrootpushd build-sysrootxbstrap init ..xbstrap install basesysroot build-sysroot/system-root 에 연결되는 Ilobilix 소스에 존재하지 않으면 다음과 함께 작성하십시오.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 및 -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 | 거짓 | 커널에서 ubsanitizer를 활성화하십시오 |
| modules_ubsan | 거짓 | 모듈에서 ubsanitizer를 활성화하십시오 |
| 5LVL_PAGING | 거짓 | 커널에서 5 레벨 페이징을 활성화하십시오 |
| syscall_debug | 거짓 | SYSCALL 로그인 직렬 콘솔을 인쇄하십시오 |
| GDB | 거짓 | 디버깅 할 때 -s -S QEMU에 추가하십시오 |
| Noaccel | 거짓 | QEMU 가속기를 비활성화합니다 |
| VNC | 거짓 | 127.0.0.1:5901 에서 QEMU VNC 서버를 시작하십시오 |
https://discord.gg/fm5gk3rps7