https://github.com/hermit-os/tutorial
https://hermitcore.github.io/tutorial/
https://github.com/hermit-os/tutorial
tutorial unikernels
Last synced: 7 months ago
JSON representation
https://hermitcore.github.io/tutorial/
- Host: GitHub
- URL: https://github.com/hermit-os/tutorial
- Owner: hermit-os
- License: apache-2.0
- Created: 2022-06-24T18:18:09.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2023-03-06T13:02:33.000Z (about 3 years ago)
- Last Synced: 2025-08-25T02:39:31.268Z (8 months ago)
- Topics: tutorial, unikernels
- Language: JavaScript
- Homepage:
- Size: 2.82 MB
- Stars: 0
- Watchers: 3
- Forks: 1
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE-APACHE
Awesome Lists containing this project
README
# RustyHermit Tutorial
This repository contains a RustyHermit tutorial and a small web server to make the slides available.
Please read the README of [RustyHermit](https://github.com/hermitcore/rusty-hermit-rs) for more information about RustyHermit.
## Requirements
* [`rustup`](https://www.rust-lang.org/tools/install)
* [NASM](https://nasm.us/) (only for x86_64)
* [QEMU](https://www.qemu.org/) for running the web server
* [Bundler](https://bundler.io) to build the slides
* The build managment system `make`
## Usage
### Build slides
```
$ cd slides
$ make
$ cd ..
```
### Build bootloader
```
$ cd loader
$ cargo xtask build --arch x86_64 --release
$ cd ..
```
### Build RustyHermit web server
```
$ cargo build \
-Zbuild-std=core,alloc,std,panic_abort \
-Zbuild-std-features=compiler-builtins-mem \
--target x86_64-unknown-hermit \
--release
```
### Run web server
```
$ qemu-system-x86_64 \
-cpu qemu64,apic,fsgsbase,fxsr,rdrand,rdtscp,xsave,xsaveopt \
-smp 1 -m 512M \
-device isa-debug-exit,iobase=0xf4,iosize=0x04 \
-display none -serial stdio \
-kernel loader/target/x86_64/release/rusty-loader \
-initrd target/x86_64-unknown-hermit/release/hello_world
```
### Read the tutorial
Open `http://127.0.0.1:9975/` with your browser and read the tutorial.
## License
Text and pictures are licensed by http://creativecommons.org/licenses/by-nc-sa/3.0/de/[Creative Commons BY-NC-SA 3.0 DE]
Source code licensed under either of
* Apache License, Version 2.0, ([LICENSE-APACHE](LICENSE-APACHE) or http://www.apache.org/licenses/LICENSE-2.0)
* MIT license ([LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT)
at your option.