Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ashleygwilliams/x86-kernel
a simple x86 kernel, extended with Rust
https://github.com/ashleygwilliams/x86-kernel
Last synced: 17 days ago
JSON representation
a simple x86 kernel, extended with Rust
- Host: GitHub
- URL: https://github.com/ashleygwilliams/x86-kernel
- Owner: ashleygwilliams
- License: mit
- Created: 2015-10-25T01:17:53.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2022-06-14T13:40:49.000Z (over 2 years ago)
- Last Synced: 2024-10-10T20:23:07.230Z (about 1 month ago)
- Language: Assembly
- Homepage:
- Size: 0 Bytes
- Stars: 224
- Watchers: 12
- Forks: 47
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# x86 kernel
> a simple x86 kernel, extended with Rustthis is my work following along with a [@phil-opp][2]'s blog post series ["A minimal x86 kernel"][1]
## prerequisites
### virtualization
> (if you are on OSX, ChromeOS, Windows, etc)- [Vagrant]: development environment manager
- [VirtualBox]: virtualizer
- [XQuartz]: X11 Graphics### linux dependencies
- `nasm`: assembler (assembly -> binary)
- `ld`: linker (makes binary out of other files)
- `grub`: creates the bootable iso
- `xorriso`: req'd by grub, filesystem manipulator
- `QEMU`: fake-computer emulator### utilities
you don't need these, but they are nice for viewing
generated code.- `hexdump`: allows you to view generated binary
- `objdump`: a nicer viewer for .o files## up and running
1. fork and clone this repository
2. navigate into the repo directory: `cd x86-kernel`
3. `$ vagrant up`
4. `$ vagrant ssh -- -Y`
`-- -Y` forwards graphics
5. `$ multirust default nightly-2015-11-19`
Sets your default rust to a stable nightly.
The features needed to do OS work in Rust are
not yet in a stable release, so you must use
a nightly build.6. `$ cd /vagrant`
The `/vagrant` directory is the virtualized directory
that is synced with the `/` directory on your HD.7. `$ make run`
[Vagrant]: https://www.vagrantup.com/
[VirtualBox]: https://www.virtualbox.org/
[XQuartz]: http://www.xquartz.org/
[1]: http://blog.phil-opp.com/rust-os/multiboot-kernel.html
[2]: https://github.com/phil-opp