smallkirby/hugin
Hugin. The type-1 hypervisor on aarch64.
# Run on QEMU
zig build run --summary all -Dlog_level=debug -Doptimize=Debug
# Unit Test
zig build test --summary all
Option | Type | Description | Default |
---|---|---|---|
log_level |
String: debug , info , warn , error |
Logging level. Output under the logging level is suppressed. | info |
optimize |
String: Debug , ReleaseFast , ReleaseSmall |
Optimization level. | Debug |
runtime_test |
Flag | Enable runtime tests. | false |
uboot |
String | Path to U-Boot install directory. | "$HOME/u-boot" |
guest |
String | Path to Linux kernel image file. | "$(pwd)/Image" |
guestdisk |
String | Path to guest disk image file. | "$(pwd)/DISK0" |
qemu |
String | Path to QEMU aarch64 install directory. | "$HOME/qemu-aarch64" |
wait_qemu |
Flag | Make QEMU wait for being attached by GDB. | false |
debug_virtio |
Flag | Enable virtio debug logging. | false |
docker build -t ghcr.io/smallkirby/hugin:latest .
docker push ghcr.io/smallkirby/hugin:latest
See LICENSE.
This project is a port of the book "作って理解する仮想化技術── ハイパーバイザを実装しながら仕組みを学ぶ(技術評論社,2025)" to the Zig language with original improvements. Refer to the author's GitHub repository for the original Rust implementation.
Copyright 2023 Manami Mori
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.