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