Skip to content

smallkirby/writing-hypervisor-in-zig

Repository files navigation

Writing Hypervisor in Zig

Lint Deploy

Blog series where we write a hypervisor from scratch in Zig language, that can finally boot Linux kernel.

Refer to smallkirby/ymir's whiz-* branches for the reference implementation. Note that these branches might be not necessarily up-to-date. Please refer to master branch to check available fixes and updates.

Development

# Japanese
./scripts/serve.sh ja book
# English
./scripts/serve.sh en book/en

Contributions

Request an update when you:

  • Find a technical error in the description
  • Find an expression that is hard to understand
  • Find a typo or misspelling
  • Find that the provided code does not work or is hard to understand
  • Want to add a new topic that is not covered in this series
  • Want to read the blog in a different language

You can create an issue or pull request to request an update or fix. You don't need to create an issue before creating a pull request. We welcome any requests or fixes.

Translations

This blog series is available in the following languages:

  • Japanese (Original)
  • English

We use google/mdbook-i18n-helpers to support multiple languages. To update translations, use below commands:

# When original (Japanese) version is updated, run below command to update the POT file.
MDBOOK_OUTPUT='{"xgettext": {}}' mdbook build -d po
# Update translations
TARGET_LANG=en
msgmerge --update po/$TARGET_LANG.po po/messages.pot

po files can be edited using PO editors like Poedit.

LICENSE

CC0-1.0 except where otherwise noted.

About

Writing Type-1 Hypervisor in Zig from scratch.

Topics

Resources

License

Stars

Watchers

Forks

Contributors 5