DarshOS
Features
-
Shell/Command Line
-
Keyboard Input
Might add in the future
-
File System and Commands for File System
-
IDT
-
Networking
-
GUI
Setup / dependencies
You will need these to run "compile.sh".
Windows
For Windows you will have to Install WSL (Windows Subsystem for Linux) then you can follow the guide for Linux by typing the commands in the WSL terminal.
-
How to setup WSL on Windows:
- Go to https://ubuntu.com/wsl
- Download Ubuntu WSL from Microsoft Store
- Open StartMenu and search "Turn Windows Features on or off" without the double quotes
- Click on Turn Windows Features on or off
- Scroll down and tick Windows Subsystem For Linux then press ok
- Press Windows Key and in "The Recently Added" section click Ubuntu
- Then You Will see a Terminal Window saying that ubuntu is Installing
- It will ask you to make a Unix account (It will not show the password)
- run the command "sudo apt update && sudo apt upgrade" without the double quotes
- It will ask for your unix account's password type it and press enter (it wont show the password on screen)
- Follow the Guide for Linux By typing the commands in the terminal.
Linux
- Qemu VM :
sudo apt install qemu && sudo apt-get install qemu-kvm
- Nasm (Asm Compiler) :
sudo apt install nasm
- GCC cross compiler for i386 systems (might take quite some time).
sudo apt update
sudo apt install build-essential
sudo apt install bison
sudo apt install flex
sudo apt install libgmp3-dev
sudo apt install libmpc-dev
sudo apt install libmpfr-dev
sudo apt install texinfo
export PREFIX="/usr/local/i386elfgcc"
export TARGET=i386-elf
export PATH="$PREFIX/bin:$PATH"
mkdir /tmp/src
cd /tmp/src
curl -O http://ftp.gnu.org/gnu/binutils/binutils-2.35.1.tar.gz
tar xf binutils-2.35.1.tar.gz
mkdir binutils-build
cd binutils-build
../binutils-2.35.1/configure --target=$TARGET --enable-interwork --enable-multilib --disable-nls --disable-werror --prefix=$PREFIX 2>&1 | tee configure.log
sudo make all install 2>&1 | tee make.log
cd /tmp/src
curl -O https://ftp.gnu.org/gnu/gcc/gcc-10.2.0/gcc-10.2.0.tar.gz
tar xf gcc-10.2.0.tar.gz
mkdir gcc-build
cd gcc-build
echo Configure: . . . . . . .
../gcc-10.2.0/configure --target=$TARGET --prefix="$PREFIX" --disable-nls --disable-libssp --enable-language=c++ --without-headers
echo MAKE ALL-GCC:
sudo make all-gcc
echo MAKE ALL-TARGET-LIBGCC:
sudo make all-target-libgcc
echo MAKE INSTALL-GCC:
sudo make install-gcc
echo MAKE INSTALL-TARGET-LIBGCC:
sudo make install-target-libgcc
ls /usr/local/i386elfgcc/bin
echo DONE
Now you will have to do the following to run compile.sh :
- Make sure that you are in the OS folder to go in the folder run :
cd os
- run this command inside the os folder.
export PATH=$PATH:/usr/local/i386elfgcc/bin
- then to compile the compile.sh file run this command.
sh compile.sh
-
Now there sholud be a popup window with DarshOS running
-
If there is no popup Do this:
- Press Crtl + C together in the WSL terminal
- Go to The Microsoft Store
- Search GWSL in The Microsoft Store
- Install GWSL
- Run GWSL
- Go into the WSL terminal Again and Run these commands again after going in the os directory.
export PATH=$PATH:/usr/local/i386elfgcc/bin sh compile.sh
- You Have successfully ran DarshOS.