Code Monkey home page Code Monkey logo

elks's Introduction

logo

cross main

What is this ?

This is a project to write a Linux-like OS for systems based on the Intel IA16 architecture (16 bits processors: 8088, 8086, 80188, 80186, 80286, Nec V20, V30 and compatibles).

Such systems are ancient computers (IBM-PC XT / AT and clones), or more recent SBC / SoC / FPGA that reuse the huge hardware & software legacy from that popular platform.

Watch ELKS in action:

How to build ?

Prerequisites

To build ELKS, you need a GNU development environment, including:

  • flex
  • bison
  • texinfo
  • libncurses5-dev

Quickstart

A script is provided to automate the whole build process (cross toool chain, configuration, kernel, user land and target image), and make it easier for ELKS newbies:

./build.sh

Note: all the scripts must be executed within the top folder of the ELKS repository as the current one (= TOPDIR).

If you want to clean everything up afterwards (except the cross tool chain):

./clean.sh

Build steps

1- Create a cross subfolder:

mkdir cross

2- Build the cross tool chain, mainly based on a recent GCC-IA16 (DEV86 including BCC was used for previous versions, but has been dropped because it was obsolete and no more maintained):

tools/build.sh

Ubuntu 18.04 LTS users: as this step is quite long, you can download an already built cross folder from here: https://github.com/elks-org/elks/actions?query=workflow%3Across

3- Set up your environment (PATH, TOPDIR and CROSSDIR):

. ./env.sh (note the '.' before the script)

4- Configure the kernel, the user land and the target image format:

make menuconfig

5- Build the kernel, the user land and the target image:

make all

The target root folder is built in target', and depending on your configuration, that folder is packed as either a floppy disk image (fd360, fd720, fd1440), a hard disk image (hd, without MBR), or a file image (ROM, TAR), into the image folder.

6- Before writting that image on the real medium, you can test it first on QEMU:

./qemu.sh

7- You can then modify the configuration or the sources and repeat from the step 4 after cleaning only the kernel, the user land and the image:

make clean

More information

Questions? Problems? Patches? Open an issue in this project!

You can also join and email the 'Linux-8086' list at [email protected].

More information in the Documentation folder: Index of ELKS Documentation

elks's People

Contributors

cjsthompson avatar donghyun0224 avatar dptpirate avatar edoalive avatar fonin avatar georgp24 avatar ghaerr avatar jbruchon avatar lithoxs avatar marcin-laszewski avatar mfld-fr avatar mintsuki avatar segin avatar tkchia avatar transplier avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.