Now it is started merging to the original ELKS repository.
New features will be added there.
https://github.com/ghaerr/elks
This is the fork repository for porting ELKS to PC-9801/PC-9821 architecture.
PC-9801/PC-9821 are Japanese computers in 80's and 90's.
CONFIG_ARCH_PC98 is needed to be defined.
CONFIG_IMG_FD1232 is also needed to be defined to use 1232KiB, 1024Bytes per sector.
Only CONFIG_IMG_FD1232 and CONFIG_IMG_FD1440 with FAT Filesystem are planned to support.
Progress (with Neko Project 21/W emulator and PC-9801RX21, PC-9801UV21)
Boot : can call start_kernel
Kernel : modifying irq, timer
driver : modifying bios FD read, console-headless, console-direct, kbd-poll
init : can login with root
command : cat,clear,clock,date,ed,kilo,ls,more,ps,pwd,vi can be used
./build.sh to make the environment.
Overwrite the .config with the content of pc98.config.
make menuconfig.
(Exit and save configuration to create include/autoconf.h)
make clean
make
FD image will be created under image/
ELKS/pc98 running on PC-9801UV21
Test images will be available for download.
Downloads
INT 1Bh (DISK BIOS)
http://radioc.web.fc2.com/column/pc98bas/bios/disk.htm
PIT 8254 (8253 for PC-9801)
http://oswiki.osask.jp/?%28PIT%298254
INT 18h (Keyboard BIOS)
https://web.archive.org/web/20051120083002/http://www2.muroran-it.ac.jp/circle/mpc/program/pc98dos/keyboard.html
Text V-RAM
http://software.aufheben.info/contents.html?contents_key=textvram
The following text is the original README of ELKS.
ELKS is a project providing a Linux-like OS for systems based on the Intel IA16 architecture (16-bit processors: 8086, 8088, 80188, 80186, 80286, NEC V20, V30 and compatibles). Such systems are ancient computers (IBM-PC XT / AT and clones) as well as more recent SBCs, SoCs, and FPGAs. ELKS supports networking and installation to HDD using both MINIX and FAT file systems.
- Stock images require 512k RAM
- ELKS requires 256k RAM to run, 512k to be really useful
- No hardware MMU required
- ROM-based systems can run in 128k RAM
You can play with ELKS online thanks to the v86 emulator. Login with "root" and no password. Go to the bin folder and try the different commands available. Try nxtetris. Start the game by pressing "n".
- ELKS, a 16-bit no-MMU Linux on Amstrad PC 2086 (thanks @pawoswm-arm)
- Booting ELKS on an old 286 MB from 1,44MB floppy (thanks @xrayer)
- Epson PC Portable Q150A / Equity LT (Nec V30 8086 - 1989) (thanks Alejandro)
- ELKS on ESP32 through IBM PC emulator (thanks @fdivitto)
ELKS Networking showing netstat and process list
Running ELKS Basic on PC-9801UV21 (NEC V30 CPU)
Running Matrix and vi on multiple consoles
A full set of disk images are available for download, for you to try out ELKS: Downloads.
Full build instructions are here.
Help on how to use ELKS, as well as technical tutorials, are available on our Wiki.
More information is in the Documentation folder: Index of ELKS Documentation.
Other projects and resources interesting to ELKS and our programming community:
- blink16 A visual 8086 emulator and debugger capable of booting the ELKS kernel for symbolic debugging, as well as an emulator for ELKS executables.
- Size Optimization Tricks A great article from Justine Tunney's blog showing how big things can be done without bloat.
- gcc-ia16 TK Chia's gcc compiler targeted for 8086, maintained and used for the ELKS kernel and all its applications.
Questions? Problems? Patches? Open an issue on the ELKS GitHub project!