Hobby 32bit operatingsystem project focusing on networking on i386 architecture.
Explore the docs »
View Demo
·
Report Bug
·
Request Feature
32bit Hobby Operatingsystem with graphics, multitasking and networking!
Started: 12.05.2022
(back to top)
There are 3 default users: system, admin and guest. The password for admin is 'admin', while guest has no password. Currently there is no difference between admin and guest.
You can create a user with the 'admin' command:
admin create <username> <password>
This project is built with C & Assembly for the kernel, utilities and build system. C++ for userspace applications and Make for compilation. Docker used for crossplatform compilation.
(back to top)
Tested on: Lenovo x240, Asus Eee PC series, Dell Optiplex 780, Samsung N150 Plus, Samsung NP-NC10, IBM Thinkpad a21p
Crossplatform: Docker to compile the image file and QEMU for emulation.
For native compilation you will need:
To compile the kernel and its needed programs you simply need to run make img and make qemu to open QEMU
Clone the repo
git clone https://github.com/joexbayer/RetrOS-32.git
Check that all dependencies are installed (Only for debian based distros)
./debian.sh
Compile and create image
make compile
make img
Launch QEMU
make qemu
Use GRUB (Optional)
make grub
Currently MacOS cannot natively compile the build tools as they depend on 32bit x86 code. Docker is the simplest way if you still wish to compile the operating system.
Clone the repo
sh git clone https://github.com/joexbayer/RetrOS-32.git
Clone the repo
sh docker-compose up
Using Docker (can also compile in WSL)
Clone the repo
git clone https://github.com/joexbayer/RetrOS-32.git
Compile
docker-compose up
(back to top)
To run RetrOS-32:
make qemu
or qemu-system-i386
(back to top)
NETOS - Project
├── Dockerfile
├── LICENSE.txt
├── Makefile
├── apps (userspace applications)
│ ├── Makefile
│ ├──
│ ├── libcore.a
│ ├── libgraphic.a
│ ├── libnet.a
│ ├── readme.md
│ └── utils
│ └── *.cpp
├── bin
│ └── *.o
├── boot (custom bootloader)
│ ├── bootloader.s
│ └── multiboot.ld
├── docker-compose.yml
├── docs (documentation)
│ ├── *.md
├── drivers (kernel drivers)
│ └── *.c
├── fs (filesystem)
│ ├── Makefile
│ ├── bin
│ └── *.c
├── graphics
│ └── *.c
├── include
│ ├── arch
│ │ └── *.h
│ ├── fs
│ │ └── *.h
│ ├── gfx
│ │ └── *.h
│ ├── lib
│ │ └── *.h
│ ├── net
│ │ └── *.h
│ └── *.h
├── kernel (main kernel source files)
│ ├── arch
│ │ └── *.c
│ ├── kthreads
│ │ └── *.c
│ └── *.c
├── legacy (old code)
├── lib (libraries)
│ └── *.c
├── net (networking code)
│ └── *.c
├── readme.md
├── rootfs (root filesystem for the OS)
├── tests (testing code)
│ ├── Makefile
│ ├── bin
│ ├── *_test.c
│ └── readme.md
└── tools (build tools)
├── scripts
└── bin
└── *.c
See the open issues for a full list of proposed features (and known issues).
(back to top)
Distributed under the MIT License. See LICENSE.txt
for more information.
(back to top)
Joe Bayer - [email protected]
Project Link: https://github.com/joexbayer/RetrOS-32
(back to top)
Use this space to list resources you find helpful and would like to give credit to. I've included a few of my favorites to kick things off!
(back to top)