PitchHut logo
rou2exOS
Exploring the second iteration of a DOS-like operating system.
Pitch

rou2exOS Rusted Edition builds upon the foundation of RoureXOS, presenting a modernized hobby OS crafted in Rust. With features like QEMU emulation and support for x86_64 baremetal, it opens doors for experimentation in OS development. Users can easily build, run, and test their OS while enjoying a streamlined setup process.

Description

rou2exOS Rusted Edition is an innovative operating system that represents the second iteration of the RoureXOS project, completely rewritten in Rust for improved performance and safety. This DOS-like hobby OS is designed for enthusiasts and developers interested in exploring alternative operating systems.

For further insights into its development, refer to the following resources:

Key Features

  • Runs on an ISO image, compatible with the QEMU emulator.
  • Successfully tested on x86_64 bare metal, booting from a USB flash disk.

Building and Running the OS

The following commands illustrate how to build and run the operating system:

# Install Rust and its dependencies
make init

# Ensure required tools are installed on a Linux system
sudo dnf install xorriso net-tools grub2-tools qemu qemu-common qemu-system-x86

# Compile the kernel and bootloader, and create an ISO image
make build

# Run the QEMU emulator with the ISO image
make run_iso
make run_iso_floppy

# (Alternative) Run the kernel exclusively
cargo bootimage
make run

Testing ICMP/SLIP

To test ICMP/SLIP functionality, execute the following steps:

  1. Run the kernel in QEMU to retrieve the pty number from the output:

    make run
    

    This will show the character device location, for example:

    char device redirected to /dev/pts/3 (label serial0)
    
  2. Create the sl0 interface for SLIP packets:

    sudo slattach -L -p slip -s 115200 /dev/pts/3
    sudo ifconfig sl0 192.168.3.1 pointopoint 192.168.3.2 up
    
  3. Use tcpdump to monitor packets on the sl0 interface:

    sudo tcpdump -i sl0
    

This project is ideal for those with an interest in operating systems and low-level programming, offering a hands-on approach to learning and experimentation.

0 comments

No comments yet.

Sign in to be the first to comment.