RustKernel is a lightweight OS kernel in Rust for education and experimentation via Docker.
182
RustKernel is a project focused on building a small operating system kernel using the Rust programming language. The project covers essential OS development topics, such as creating freestanding binaries, managing VGA text mode output, handling interrupts, and setting up memory management and multitasking.
This Docker image provides a ready-to-use environment for building, running, and testing RustKernel, including Rust nightly and QEMU for emulation. Users can connect to the container’s display using a VNC viewer, allowing them to interact with the kernel without additional setup.
Ensure you have a VNC viewer installed on your system (e.g., VNC Viewer by RealVNC) to connect to the Docker container’s display.
Pull the Docker Image
docker pull mohitvermaexe/rustkernel
Run the Container
Start the container with the following command to map necessary ports:
docker run --name rustkernel-container -p 5900:5900 -p 55556:55555 -p 1234:1234 mohitvermaexe/rustkernel
Connect via VNC
Open your VNC viewer and connect to 127.0.0.1:5900 on your host machine to view the container’s display. This allows you to interact directly with the RustKernel interface.
Building the Project
To build RustKernel, use:
cargo build
Creating a Bootable Disk Image
Generate a bootable image using:
cargo bootimage
Running the OS
Launch RustKernel on QEMU with:
qemu-system-x86_64 -drive format=raw,file=target/x86_64-RustKernel/debug/bootimage-RustKernel.bin
Running Tests
Run tests within the container with:
cargo test
Content type
Image
Digest
sha256:5bef97805…
Size
1.4 GB
Last updated
almost 2 years ago
docker pull mohitvermaexe/rustkernel