bestel74/elks
Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Repository files navigation
ELKS, the Embeddable Linux Kernel Subset
----------------------------------------
This is a project to write a Linux-like operating system for systems based on
the Intel IA16 architecture (16 bits processors: i8088, i8086, i80188, i80186,
i80286, V20, V30 and compatibles).
Such systems are ancient computers (IBM-PC XT/AT and clones) or more recent
embedded ones that reuse their huge hardware & software legacy.
To build ELKS, you need a cross build chain, mainly based on DEV86 (still used
for the user land) and GCC-IA16 (now used for the kernel).
A script is provided to automatically download and build that cross chain:
'tools/build.sh'
Note: all the scripts must be executed with the top folder 'elks/' as the
current one.
A script is provided to automate the whole build process (configuration,
kernel, user land and target image) and make it easier for ELKS newbies:
'./build.sh'
If you want to clean everything up afterwards, run './build.sh clean'
and it will run 'make clean' in the build directories for you.
The general build procedure for ELKS is as follows:
* Build the cross chain in 'cross/' (see above)
* Set up your environment (PATH, TOPDIR and CROSSDIR):
'. tools/env.sh' (note the '.' before the script)
* Configure the build chain, the kernel, the user land and the target image
format:
'make menuconfig'
* 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 (fd1440,
fd1680, fd1200, fd720, fd360, without MBR), a hard-disk image (hd, with MBR),
or a file image (rom, tar), into the '/image' folder.
Before writting the image on the real device, you can test it first on QEMU
with './qemu.sh' (will configure QEMU for an ISA system).
Questions? Problems? Patches? Open an issue in this project! You can also join
and email the 'Linux-8086' list at linux-8086@vger.kernel.org.
More information in the Documentation folder: Documentation/index.html
Languages
- C 85.8%
- Assembly 4.8%
- Roff 2.7%
- Makefile 2.2%
- Shell 2.1%
- Yacc 0.6%
- Other 1.8%