Re: Where does ELKS need to go?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The TL;DR version of my reply below: the project likely needs to diversify into other platforms.

On 04/18/14 15:03, Jody Bruchon wrote:
On 4/18/2014 3:26 PM, Edoardo Liverani wrote:
I'd really like to help this project as I'm going to use it a little,
and I would enjoy to help hosting a website with updated links, to
generate updated and working precompiled images, istructions etc.
I have a shared hosting plan I can use, whom should I ask to get
current website sources and the permission to update a little and
re-publish them?
My question is particularly for @Jody cause he is the latest who
managed to maintain the project sources.

I am still here to maintain the project. Unfortunately, I've run into a couple of major issues with it that make its future questionable.

* I'll happily move and clean up the website to my own hosting if there is renewed interest in the project. I'll overhaul it while I'm at it.

* The compiler we use, bcc, suffers from some serious limitations and misbehavior. In particular, nothing can require more than 64K of code, including the kernel. The compiler needs some work or we need a new compiler. As I would like to see ELKS target other classic CPUs (65816, 68000, maybe 6809, etc.) a compiler change may be the best option. The compiler is the biggest obstacle.
I'm pretty sure it's been mentioned in the past, but SDCC might be an option (though, I don't think there is a code generator for 8086-80286). Edoardo's suggestion of TACK might be a good fit as well. I've had some experience with SDCC, but I haven't ever tried TACK. I will say, SDCC has a fairly dedicated community behind it and the project is still quite active. TACK, however, doesn't seem to have had many commits in the last few years.

In any case, it'd be a good idea to avoid compiler specific pieces of code as much as possible. Otherwise, it could be a BCC situation all over again (being stuck with a more-or-less dead compiler.) Obviously, for something like a kernel, it's nearly impossible, but most of that could be provided via headers and/or pulled in conditionally.

* What can/does ELKS offer compared to other small OSes such as NuttX?
Running more than one process (I'm assuming at least.) IIRC, NuttX compiles the kernel into the application to run the single application on the hardware.

* The hardware ELKS is made to work on is (to my limited knowledge) becoming rare. Quite a few 8086/88 machines have by now suffered capacitor failures that have rendered them inoperable and probably junked. Most PCs going in the garbage now are Pentium II/III/4 systems, all of which enjoy Linux compatibility and are far more capable under Linux than under ELKS, even if they only have 16MB of RAM.

* The "E" in ELKS means "embedded" and yet the only platform it was ever developed for was 8086/88 PCs and the Psion SIBO. The 808x target made more sense 10 years ago, but embedded and low-power computers today are dominated by 32-bit ARM and MIPS cores that happily run Linux (if they have enough RAM, that is.) What should ELKS be targeting today?
Might be kind of cool to see it running on other 8 & 16 bit processors. Not that it would be terribly practical (is anyone looking at this project /really/ that concerned with that though?), but an 8-bit AVR or 16-bit MSP430 might be interesting target(s). In this case, it would be good to really try to appeal to the hobbiest and build a mini computer with the chip. Most all of these will need more RAM, USB (might be tricky), and a method to display video output. Audio would be a plus as well. This would obviously be a large to very large undertaking (porting the codebase alone would be challenging), but I think it /could/ really spark some interest in the project again.

* The project has no active real-hardware testers to call upon. No one has real hardware AND time for the project AND wants to test changes. I personally have no 8086/80286 hardware but have a plethora of functioning Compaq 486 and Toshiba Pentium laptops, all of which have Linux on them. Without real hardware and a skilled, willing owner that can test ELKS on it, there can be no proper development. I can use emulators but they don't emulate the many various quirks and "just non-standard enough to piss you off" hardware of the early IBM PC era (I'm thinking about you, Tandy.)
I /really/ need to get my Tandy 1000TX (a 286 with a 20M harddrive) up and going. The power button, AFAIK, the only thing that doesn't work (it wore out and doesn't click into place anymore.) It's one of those easily fixable things that I just haven't bothered to do. It's also one of those, too many projects, not enough time.

* I have a TRS-80 CoCo and an Apple IIgs. Maybe we should port ELKS to those. ;-)

I would like to hear what anyone reading thinks. Please reply either to me OR the ELKS list since I (obviously) subscribe to it and prefer not to receive duplicate messages.

-Jody
--
To unsubscribe from this list: send the line "unsubscribe linux-8086" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

--
To unsubscribe from this list: send the line "unsubscribe linux-8086" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Kernel]     [Linux ia64]     [DCCP]     [Linux for ARM]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux