-
Notifications
You must be signed in to change notification settings - Fork 108
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #220 from mfld-fr/gnu
[kernel] Move to full GNU toolchain: - Rewrite some assembly sources to ATT syntax - Tune GCC options: small model, no relocations... - Add LD scripts to output ELKS a.out - Rework build scripts for full GNU - Add RAW option for target image - Warnings and glitches fixes - Wipe out some BCC related stuff
- Loading branch information
Showing
78 changed files
with
2,664 additions
and
3,686 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,20 +1,25 @@ | ||
ELKS, the Embeddable Linux Kernel Subset | ||
---------------------------------------- | ||
|
||
This is a project to write a Linux-like operating system for ancient | ||
computers running an Intel 8086-compatible processor. | ||
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). | ||
|
||
To build ELKS, you will need a cross build chain, mainly based on DEV86, and | ||
also on GCC-IA16 if you select that latest in place of BCC to build the kernel. | ||
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 top folder 'elks/' as the current one. | ||
Note: all the scripts must be executed with the top folder 'elks/' as the | ||
current one. | ||
|
||
A script that attempts to automate the whole build process and make it easier | ||
for ELKS newbies has been provided: | ||
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' | ||
|
||
|
@@ -29,29 +34,24 @@ The general build procedure for ELKS is as follows: | |
|
||
'. tools/env.sh' (note the '.' before the script) | ||
|
||
* Configure the build chain, the kernel, the commands and select the target | ||
image format (the default configuration is for an IBM PC/XT/AT): | ||
* Configure the build chain, the kernel, the user land and the target image | ||
format: | ||
|
||
'make menuconfig' | ||
|
||
* Build the kernel and the commands: | ||
* Build the kernel, the user land and the target image: | ||
|
||
'make all' | ||
|
||
* Build the target image as a user with the 'sudoer' privilege: | ||
|
||
'cd elkscmd' | ||
'make image' | ||
|
||
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 to be close as possible to an ISA system). | ||
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' mailing list at [email protected]. | ||
and email the 'Linux-8086' list at [email protected]. | ||
|
||
More information in the Documentation folder: Documentation/index.html |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.