Philipp Oppermann 6828849bc4 Remove cfg(not(windows)) from interrupt module
This is no longer required and was already removed from the post in commit 992b958414.
2019-11-25 13:19:07 +01:00
2019-04-25 13:18:28 +02:00
2019-01-25 12:32:07 +01:00
2019-04-26 13:42:10 +02:00
2019-09-11 11:21:11 +02:00
2019-09-25 13:19:46 +02:00
2019-09-13 17:43:20 +02:00
2019-04-26 15:09:17 +02:00

Blog OS (CPU Exceptions)

Azure Pipelines CI build

This repository contains the source code for the CPU Exceptions post of the Writing an OS in Rust series.

Check out the master branch 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:

cargo xbuild

To create a bootable disk image, run:

cargo bootimage

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:

cargo xrun

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.

Testing

To run the unit and integration tests, execute cargo xtest.

License

The source code is dual-licensed under MIT or the Apache License (Version 2.0).

Description
Languages
HTML 96.5%
SCSS 1.5%
CSS 1.2%
JavaScript 0.4%
Python 0.2%