https://github.com/ghaerr/elks Skip to content Navigation Menu Toggle navigation Sign in * Product + GitHub Copilot Write better code with AI + Security Find and fix vulnerabilities + Actions Automate any workflow + Codespaces Instant dev environments + Issues Plan and track work + Code Review Manage code changes + Discussions Collaborate outside of code + Code Search Find more, search less Explore + All features + Documentation + GitHub Skills + Blog * Solutions By company size + Enterprises + Small and medium teams + Startups By use case + DevSecOps + DevOps + CI/CD + View all use cases By industry + Healthcare + Financial services + Manufacturing + Government + View all industries View all solutions * Resources Topics + AI + DevOps + Security + Software Development + View all Explore + Learning Pathways + White papers, Ebooks, Webinars + Customer Stories + Partners + Executive Insights * Open Source + GitHub Sponsors Fund open source developers + The ReadME Project GitHub community articles Repositories + Topics + Trending + Collections * Enterprise + Enterprise platform AI-powered developer platform Available add-ons + Advanced Security Enterprise-grade security features + GitHub Copilot Enterprise-grade AI features + Premium Support Enterprise-grade 24/7 support * Pricing Search or jump to... Search code, repositories, users, issues, pull requests... Search [ ] Clear Search syntax tips Provide feedback We read every piece of feedback, and take your input very seriously. [ ] [ ] Include my email address so I can be contacted Cancel Submit feedback Saved searches Use saved searches to filter your results more quickly Name [ ] Query [ ] To see all available qualifiers, see our documentation. Cancel Create saved search Sign in Sign up Reseting focus You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert {{ message }} ghaerr / elks Public * Notifications You must be signed in to change notification settings * Fork 110 * Star 1.1k Embeddable Linux Kernel Subset - Linux for 8086 License View license 1.1k stars 110 forks Branches Tags Activity Star Notifications You must be signed in to change notification settings * Code * Issues 9 * Pull requests 0 * Discussions * Actions * Wiki * Security * Insights Additional navigation options * Code * Issues * Pull requests * Discussions * Actions * Wiki * Security * Insights ghaerr/elks master BranchesTags [ ] Go to file Code Folders and files Name Name Last commit Last commit message date Latest commit History 5,789 Commits .github .github Documentation Documentation Screenshots Screenshots bootblocks bootblocks config config elks elks elkscmd elkscmd elksemu elksemu image image include include libc libc tools tools .dockerignore .dockerignore .gitignore .gitignore 8018x.config 8018x.config BUILD.md BUILD.md Dockerfile Dockerfile LICENSE LICENSE Make.defs Make.defs Makefile Makefile README.md README.md blink16.config blink16.config build.sh build.sh buildc86.sh buildc86.sh buildimages.sh buildimages.sh coding-style.txt coding-style.txt config.in config.in copyc86.sh copyc86.sh dosbox.sh dosbox.sh emu86-disk.config emu86-disk.config emu86-rom-full.config emu86-rom-full.config emu86-rom.config emu86-rom.config emu86.sh emu86.sh env.sh env.sh ibmpc-1440-nc.config ibmpc-1440-nc.config ibmpc-1440.config ibmpc-1440.config pc98-1232-nc.config pc98-1232-nc.config pc98-1232.config pc98-1232.config pc98-1440.config pc98-1440.config qemu.sh qemu.sh slattach.sh slattach.sh View all files Repository files navigation * README * License logo cross main What is 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. Memory requirements * 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 Try ELKS online 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". Watch ELKS in action * 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) Screenshots ELKS running on QEMU ss1 Olivetti M24 8086 CPU ss2 ELKS Networking showing netstat and process list ss3 Running ELKS Basic on PC-9801UV21 (NEC V30 CPU) ss4 Running Matrix and vi on multiple consoles ss5 Of course Doom ss6 Telnet to an old BBS ss7 Downloads A full set of disk images are available for download, for you to try out ELKS: Downloads. How to build Full build instructions are here. Wiki Help on how to use ELKS, as well as technical tutorials, are available on our Wiki. Documentation More information is in the Documentation folder: Index of ELKS Documentation. Resources 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. More information Questions? Problems? Patches? Open an issue on the ELKS GitHub project! About Embeddable Linux Kernel Subset - Linux for 8086 Topics linux embedded kernel embeddable 8088 embedded-linux 8086 80186 x86-16 ia-16 8086-architecture elks Resources Readme License View license Activity Stars 1.1k stars Watchers 37 watching Forks 110 forks Report repository Releases 9 v0.8.1 Latest Oct 16, 2024 + 8 releases Packages 0 No packages published Contributors 34 * @ghaerr * @mfld-fr * @jbruchon * @tkchia * @ccoffing * @lithoxs * @marcin-laszewski * @Mellvik * @tyama501 * @georgp24 * @cocus * @cjsthompson * @toncho11 * @vkoskiv + 20 contributors Languages * C 77.0% * Roff 6.8% * TeX 4.3% * Assembly 4.0% * Makefile 3.8% * Shell 2.1% * Other 2.0% Footer (c) 2025 GitHub, Inc. Footer navigation * Terms * Privacy * Security * Status * Docs * Contact * Manage cookies * Do not share my personal information You can't perform that action at this time.