mirror of
https://github.com/phil-opp/blog_os.git
synced 2025-12-16 14:27:49 +00:00
Merge branch 'post-02' into post-03
This commit is contained in:
50
README.md
Normal file
50
README.md
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
# Blog OS (A Minimal Rust Kernel)
|
||||||
|
|
||||||
|
[](https://travis-ci.org/phil-opp/blog_os/branches)
|
||||||
|
|
||||||
|
This repository contains the source code for the [A Minimal Rust Kernel][post] post of the [Writing an OS in Rust](https://os.phil-opp.com) series.
|
||||||
|
|
||||||
|
[post]: https://os.phil-opp.com/minimal-rust-kernel/
|
||||||
|
|
||||||
|
**Check out the [master branch](https://github.com/phil-opp/blog_os) for more information.**
|
||||||
|
|
||||||
|
## Building
|
||||||
|
|
||||||
|
You need a nightly Rust compiler. First you need to install the `cargo-xbuild` and `bootimage` tools:
|
||||||
|
|
||||||
|
```
|
||||||
|
cargo install cargo-xbuild bootimage
|
||||||
|
```
|
||||||
|
|
||||||
|
Then you can build the project by running:
|
||||||
|
|
||||||
|
```
|
||||||
|
bootimage build
|
||||||
|
```
|
||||||
|
|
||||||
|
This creates a bootable disk image in the `target/x86_64-blog_os/debug` directory.
|
||||||
|
|
||||||
|
Please file an issue if you have any problems.
|
||||||
|
|
||||||
|
## Running
|
||||||
|
|
||||||
|
You can run the disk image in [QEMU] through:
|
||||||
|
|
||||||
|
[QEMU]: https://www.qemu.org/
|
||||||
|
|
||||||
|
```
|
||||||
|
bootimage run
|
||||||
|
```
|
||||||
|
|
||||||
|
Of course [QEMU] needs to be installed for this.
|
||||||
|
|
||||||
|
You can also write the image to an USB stick for booting it on a real machine. On Linux, the command for this is:
|
||||||
|
|
||||||
|
```
|
||||||
|
dd if=target/x86_64-blog_os/debug/bootimage-blog_os.bin of=/dev/sdX && sync
|
||||||
|
```
|
||||||
|
|
||||||
|
Where `sdX` is the device name of your USB stick. **Be careful** to choose the correct device name, because everything on that device is overwritten.
|
||||||
|
|
||||||
|
## License
|
||||||
|
The source code is dual-licensed under MIT or the Apache License (Version 2.0).
|
||||||
Reference in New Issue
Block a user