Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork4
🌄 x86_64 OS (kernel) made from scratch in Rust & Assembly
License
adamperkowski/highlightos
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
x86_64 OS (kernel) made completely from scratch in Assembly & Rust
Requirements:
- Git version control system
- Rust toolchain
Steps:
- Make sure
rustup
is installed:
rustup --version
- Create a local clone of the repository:
git clone git@github.com:adamperkowski/highlightos.git&&cd highlightos
cd
into thekernel/
directory:
cd kernel
- Build the bootable binary:
cargo bootimage --release
This command will create the
target/target/release
directory in which you'll find thebootimage-hlkernel.bin
binary file.
Requirements:
Steps:
- Create a local clone of the repository:
git clone git@github.com:adamperkowski/highlightos.git&&cd highlightos
cd
into theasm/
directory:
cd asm
- Compile the bootable binary:
nasm -f bin boot.asm -o boot.bin
This command will generate & place the
boot.bin
file inside of the current directory.
Requirements:
- QEMU (full package)
- A bootable binary of HighlightOS. You can download one fromreleases or you canbuild it yourself.
Steps:
cd
into directory that contains the binary.- Run the following command:
qemu-system-x86_64 -drive format=raw,file=<your_binary_filename>.bin
Important
Replace<your_binary_filename>
with the actual name of the binary you have downloaded/built.
You can also flash the binary image onto a USB stick and boot it on a real machine.
You can flash it by running the following command:
dd if=<your_binary_filename>.bin of=/dev/sdX&& sync
Important
Make sure to replace<your_binary_filename>.bin
with your downloaded/compiled binary name and make sure to replace/dev/sdX
with your USB's actual partition number.Any data on it will be lost!
Note
You can choose the device to boot off of from your BIOS boot menu (accessible by pressingF8 orF12).
Double-check that your motherboard is capable of booting legacy media(s), as HighlightOS is not UEFI-compatible yet.
2024-11-09_11-53-04.mp4
Did you know we have a IRC channel? It's#highlightos
onlibera.chat.
List of built-in commands and features is availablehere.
To gain further information on HighlightOS, we invite you to visit thewiki.
Using precompiled binaries from the code section of the repo is not recommended.
HUGE thanks to everyone contributing:
Some parts of the code are inspired byblog_os. Great project!
Copyright © 2025 Adam PerkowskiThis program is free software: you can redistribute it and/or modifyit under the terms of the GNU General Public License as published bythe Free Software Foundation, version 3 of the License.This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; without even the implied warranty ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See theGNU General Public License for more details.You should have received a copy of the GNU General Public Licensealong with this program. If not, see <https://www.gnu.org/licenses/>.
About
🌄 x86_64 OS (kernel) made from scratch in Rust & Assembly
Topics
Resources
License
Code of conduct
Security policy
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Sponsor this project
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Contributors5
Uh oh!
There was an error while loading.Please reload this page.