I'm investigating some of the different microkernels out there for some
graduate exploration.
The tutorials were awesome and got me bootstrapped *very* quickly, thank
you for the effort on those.
I am attempting to build a "hello-world" on my own and seem to be missing a
step as base.cmake no longer can see the musllibc that I have in my tree.
I'm fairly certain my CMake knowledge here is weak or I just flat out
missed a step.
My checkout tree looks like the following:
$ tree -L 1
├── build
├── CMakeLists.txt -> tools/cmake-tool/default-CMakeLists.txt
├── init-build.sh -> tools/cmake-tool/init-build.sh
├── kernel
├── projects
├── README.md
└── tools
$ tree -L 1 projects/
projects/
├── hello-world
├── musllibc
├── seL4_libs
└── util_libs
When cmake runs from build, I see the following:
~/build]$ cmake -DCROSS_COMPILER_PREFIX=aarch64-linux-gnu-
-DCMAKE_TOOLCHAIN_FILE=../kernel/gcc.cmake -G Ninja -C
../kernel/configs/AARCH64_verified.cmake ../projects/hello-world/
loading initial cache file ../kernel/configs/AARCH64_verified.cmake
-- The C compiler identification is GNU 12.1.1
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/lib64/ccache/aarch64-linux-gnu-gcc -
skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- The CXX compiler identification is GNU 12.1.1
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/lib64/ccache/aarch64-linux-gnu-g++
- skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- The ASM compiler identification is GNU
-- Found assembler: /usr/lib64/ccache/aarch64-linux-gnu-gcc
-- /home/sbruno/build/kernel/gen_headers/plat/machine/devices_gen.h is out
of date. Regenerating from DTB...
WARNING:root:Only mapping 4096/16777216 bytes from node /iommu@12000000,
region 0. Set kernel_size in YAML to silence.
-- CPIO test cpio_reproducible_flag PASSED
CMake Error at /home/sbruno/tools/cmake-tool/base.cmake:55 (find_package):
By not providing "Findmusllibc.cmake" in CMAKE_MODULE_PATH this project
has
asked CMake to find a package configuration file provided by "musllibc",
but CMake did not find one.
Could not find a package configuration file provided by "musllibc" with
any
of the following names:
musllibcConfig.cmake
musllibc-config.cmake
Add the installation prefix of "musllibc" to CMAKE_PREFIX_PATH or set
"musllibc_DIR" to a directory containing one of the above files. If
"musllibc" provides a separate development package or SDK, be sure it has
been installed.
Call Stack (most recent call first):
CMakeLists.txt:4 (include)
-- Configuring incomplete, errors occurred!