Live data from Hacker News

ELKS: Linux for 16-bit Intel Processors

github.com

51–60 of 119 posts

Re: ELKS: Linux for 16-bit Intel Processors

#51
post #24

I do wonder in today’s landscape of single board computers what the right bit width is. A 64-bit system with like 1-2GB or RAM doesn’t make a ton of sense since your program size and data structure size grows by quite a bit but you don’t need it to since you don’t get to have more than 4GB of RAM. On the other hand there you do have SBCs with 8-16GBs of RAM but that’s a far cry from needing full 64 bits. Would an opt…

32-bit ARM-based systems supported up to 1 TB of RAM. 32-bit x86 only up to 64 GB. Unless you want to map more than 4 GB in a single process, you could very well stay 32-bit. But AArch64 (or ARM64) and AMD64 did bring a lot more on the table than just larger address space. More registers, and a performance boost by just being better suited for the modern CPU core design.

> But AArch64 (or ARM64) and AMD64 did bring a lot more on the table than just larger address space. More registers, and a performance boost by just being better suited for the modern CPU core design.

There is the x32 ABI - 32-bit pointer length, but the AMD64 ISA. I don’t think it ever saw significant adoption though.

Re: ELKS: Linux for 16-bit Intel Processors

#52
post #3

Wait, "ROM-based systems"? Were there such x86 micros and is this saying you could run Linux from ROM? That's super interesting.

I've never seen a fully ROM-based PC, but I have worked with ISA NE2000 NICs with boot ROMs that allowed them to diskless boot into a DOS-based Novell NetWare client. It wouldn't surprise me if there were ROM-based local boot environments on ISA cards. The Cisco PIX firewall, in it's original incarnation, booted from non-volatile memory (I don't know if it was EEPROM or flash) an ISA card.

[deleted]

Re: ELKS: Linux for 16-bit Intel Processors

#53
post #3

Wait, "ROM-based systems"? Were there such x86 micros and is this saying you could run Linux from ROM? That's super interesting.

I said in my earlier post that I hadn't seen a fully ROM-based PC but I completely forgot about stuff like the HP and Psion and Atari PC handhelds!

In that vein, I've got an old V20-based NEC laptop (the PC-17-02[0], arguably an Ultrabook in its day) that booted MS-DOS 3.3 from ROM. It had a 2MB battery-backed RAM disk that the ROM got copied into. It showed up as a hard disk drive with an INT 13H-style interface.

[0] http://old.chuma.org/ultralite/index.shtml

Re: ELKS: Linux for 16-bit Intel Processors

#54
post #24

I do wonder in today’s landscape of single board computers what the right bit width is. A 64-bit system with like 1-2GB or RAM doesn’t make a ton of sense since your program size and data structure size grows by quite a bit but you don’t need it to since you don’t get to have more than 4GB of RAM. On the other hand there you do have SBCs with 8-16GBs of RAM but that’s a far cry from needing full 64 bits. Would an opt…

32-bit ARM-based systems supported up to 1 TB of RAM. 32-bit x86 only up to 64 GB. Unless you want to map more than 4 GB in a single process, you could very well stay 32-bit. But AArch64 (or ARM64) and AMD64 did bring a lot more on the table than just larger address space. More registers, and a performance boost by just being better suited for the modern CPU core design.

32 bit gave you that much with PAE, which has its own set of unfortunate problems.

I still think it's pretty safe to say 64 bit is the future, and will be for a long time (if I live long enough for 128 bit processors to become defacto or even widely necessary I'll be truly shocked).

Re: ELKS: Linux for 16-bit Intel Processors

#55
post #30
post #24

Earlier quoted context omitted.

32-bit ARM-based systems supported up to 1 TB of RAM. 32-bit x86 only up to 64 GB. Unless you want to map more than 4 GB in a single process, you could very well stay 32-bit. But AArch64 (or ARM64) and AMD64 did bring a lot more on the table than just larger address space. More registers, and a performance boost by just being better suited for the modern CPU core design.

32-bit x86 linux will typically support 3GB per process, with 1GB kernel address area, I think? (Windows did 2GB / 2GB split by default, custom boot options can change it to 3GB / 1GB, but only some 32-bit apps fully supported it, like photoshop). Also, FWIW, security people can get real bothered that ASLR doesn't do much in 32-bit systems. So, I think starting around 2GB DRAM, it's probably a "big enough" system to…

On 32 bit you can of course make the kernel higher half, but yes AFAIK most mainstream kernels chose higher quarter to grant more vaddr space to processes.

Re: ELKS: Linux for 16-bit Intel Processors

#56
post #3

Wait, "ROM-based systems"? Were there such x86 micros and is this saying you could run Linux from ROM? That's super interesting.

Another example was the Headstart Explorer from 1989. My parents had such a computer.

> But the most characteristic part was the operating environment - 384kB of ROM contained MS-DOS version 3.31 and Explorer GUI which allows to work in PIM programs, database and text editor using mouse. The GUI is shown using CGA mode and allows to launch DOS programs too.

https://oldcomputer.info/pc/hs_explorer/index.htm

CathodeRayDude (CRT) has an entertaining video on the subject:

https://www.youtube.com/watch?v=d1jpIiST6ec

Re: ELKS: Linux for 16-bit Intel Processors

#57
My oldest working systems are now a 386/DX40 and 486/DX2-66, but I never had a chance to run Linux on them back then. Did anybody here have a favorite distro for such early 90s hardware? When I find a 286 or earlier I'd love to give ELKS a try.

Re: ELKS: Linux for 16-bit Intel Processors

#58
post #57

My oldest working systems are now a 386/DX40 and 486/DX2-66, but I never had a chance to run Linux on them back then. Did anybody here have a favorite distro for such early 90s hardware? When I find a 286 or earlier I'd love to give ELKS a try.

Slackware was the distro I started on, back around then.

Re: ELKS: Linux for 16-bit Intel Processors

#59
post #47

Thanks for the comments! ELKS will run on an 8088, but also runs on any x86 PC using the legacy "real mode" which runs in 16-bit segmented architecture without an MMU or any hardware protection. It can be fun to boot a PC and see a close resemblance to Linux, but run the way things used to be, using only 16-bits. It'll also run in ROM, e.g. using a 8018x CPU w/onboard PIT and PIC. The point of ELKS today is about "sm…

This is what I've been looking for! Can you fit a workable version on a 1.44 floppy?

Re: ELKS: Linux for 16-bit Intel Processors

#60
post #9
post #3

Wait, "ROM-based systems"? Were there such x86 micros and is this saying you could run Linux from ROM? That's super interesting.

Some of the Tandy 1000 computers (such as the HX) had MS-DOS 2.11 in ROM. So it's not unheard of for an IBM-Compatible PC to have an operating system in ROM. Also the "Macintosh Classic" had System 6.0.3 in ROM as well, but you had to use a keyboard shortcut to boot from there. It did not run normally.

For what it’s worth, a significant proportion of the classic Mac OS’s implementation was in rom anyway - you “upgraded” the OS by patching in-memory jump tables to ROM functions.
Post reply on HN