[LTP] Call for nommu LTP maintainer [was: Re: [PATCH 00/36] Remove UCLINUX from LTP]

Giovanni Lostumbo giovanni.lostumbo@gmail.com
Wed Jan 31 01:05:52 CET 2024


On 1/10/24 20:25, Greg Ungerer wrote:

Sorry Rob, but I think you are wrong about a number of things here.

Happy to be corrected. I learned most of this stuff by people pointing things
out I didn't know. But I _have_ been trying to collect this info for about 15
years now...


I know, I was there at the coal face so to speak during the early
years of uClinux and right up today. I feel I have to correct some of
the things you claim.

I only heard about the politics long after the fact, and the stories have a lot
of elisions because what happens in Utah sadly does NOT stay in Utah.

| I came to Lineo through the Moreton Bay acquisition, and I worked with
| Jeff, Tim and Erik. Actually I had been collaborating with Jeff when still at
| RT-control before that as well. Lineo was a wild ride, to say the least.


I am really impressed by Lineo's RT-Control and Embedix. I have been
searching for "archeological" software for porting to new thermal
power envelopes. https://en.wikipedia.org/wiki/Lineo


"In April 1999, Caldera Thin Clients released the no longer needed
sources to GEM <https://en.wikipedia.org/wiki/GEM_(desktop_environment)>
and ViewMAX <https://en.wikipedia.org/wiki/ViewMAX> under the GNU
General Public License
<https://en.wikipedia.org/wiki/GNU_General_Public_License> (GPL).[9]
<https://en.wikipedia.org/wiki/Lineo#cite_note-Jemmett_1999-9>"



   - Rt-Control provided μClinux
<https://en.wikipedia.org/wiki/%CE%9CClinux> - a version of Linux for
microcontrollers <https://en.wikipedia.org/wiki/Microcontroller>, such
as the Motorola 68k
<https://en.wikipedia.org/wiki/Motorola_68000_series>/ColdFire
<https://en.wikipedia.org/wiki/NXP_ColdFire> line, i960
<https://en.wikipedia.org/wiki/Intel_i960>, ARM7
<https://en.wikipedia.org/wiki/ARM_architecture_family>, and ETRAX
CRIS <https://en.wikipedia.org/wiki/ETRAX_CRIS> chips. With these
chips <https://en.wikipedia.org/wiki/Microprocessor> lacking MMU
<https://en.wikipedia.org/wiki/Memory_management_unit> and thus unable
to provide multi-tasking
<https://en.wikipedia.org/wiki/Computer_multitasking> capabilities,
uClinux was able to run full-featured in as little as 150 KB
<https://en.wikipedia.org/wiki/Kilobyte> of RAM
<https://en.wikipedia.org/wiki/Random-access_memory> with a 1 MB
<https://en.wikipedia.org/wiki/Megabyte> ROM
<https://en.wikipedia.org/wiki/Read-only_memory> chip.


   - Embedix - Lineo's flagship
<https://en.wikipedia.org/wiki/Flagship#Flagship_in_language> product
that ran a complete multitasking, networked Linux operating system in
2 MB of ROM/flash <https://en.wikipedia.org/wiki/Flash_memory> and 4
MB of RAM.


A programmer recently sent me this about Caldera:
https://rant.gulbrandsen.priv.no/linux/openlinux-lizard


Another programmer in 2021 began describing some of the earliest GUIs that
provided "Basic interactive computation" :

https://github.com/kragen/dernocua/blob/master/text/energy-autonomous-computing.md#computation-needs
(defines efficiency according to glyphs/DMIPS)


>From the SDS 940, to Wordstar, to GEM, GEOS and Apple's System 1.

Most STM32 microcontrollers today such as the Cortex M4 exceed the
Dhrystone marks that these early PCs used.

Some also have more memory than the thin clients of Embedix.

Sun Microsystems also developed stateless clients around that time:
https://en.wikipedia.org/wiki/Sun_Ray


These systems will be very useful for running remote desktops/cloud
software in portable devices.


I think that the concept of obsolescence is becoming less universal,
while "vintage" or "retro" projects are becoming less about nostalgia
and more about practical restoration projects:

https://github.com/readme/featured/vintage-computing "Thanks to Open
Source, Nothing is Ever Obsolete," The headline reads. Projects like
Psion ROM restorations SIBO/EPOC16
SDK(https://zedstarr.com/2023/02/10/back-to-the-source-taking-an-emulated-mc200-back-to-psions-old-hq-in-harcourt-st/)
are very practical reuse of very dense-code, which today
microcontrollers are able to emulate or even get a native port for:
Examples: https://www.freethegameboy.info/ and Commodore on an STM32:
https://www.youtube.com/watch?v=uI4o9XAFLt0
https://hackaday.com/2021/07/28/emulating-the-ibm-pc-on-an-esp32/


An emerging design idea is that by lowering power consumption, one can
allow energy autarkic devices:
https://semiengineering.com/a-power-first-approach/

"Even today, when I interview people and ask if power is a primary
optimization consideration, the answer is typically, “We have to meet
performance metrics first and then we can worry about reducing power.”
Over the next 10 years, I expect that mentality will have changed to a
“power first” approach. The real question is, within a defined power
budget, how much performance on a given task can I attain? You don’t
get to that answer by looking at performance first."


With microcontrollers already able to be powered by solar energy like
a pocket calculator, the "instant-on" design is the next focus of
mobile computing. I have had this interest since 2011:
https://github.com/EI2030/Low-power-E-Paper-OS


Furthermore, there are several chip designers: Ambiq Micro
(https://ambiq.com/apollo4-plus/), and RISC-V IP designs (Andes
http://www.andestech.com/en/products-solutions/andescore-processors/v3-e8/)
that develop lowest power cores. As in 4uA/Mhz, 2uW/Mhz TDPs. The
question is, how much linux (or any other OS) can fit in 4-8MB of RAM?
A credit card-sized solar panel produces up to 1-2mA indoors, and
several mA outdoors, allowing for nearly instant on power. As portable
electronics sold today rarely allow for removable and standardized
batteries, their obsolescence arises out of the hard-to-replace aspect
of their anti-repair design.


Also, the most power efficient RAM consumes several milliamps for just
4MB. It may not be until 2030 that Angstrom sized RAM in amounts
rivaling the earliest Android phones (128MB in the 1st iPhone, 192MB
of RAM in the HTC Dream) will be able to be powered by 1% of the
current consumption. Just last week, TSMC and Industrial Technology
Research Institute claimed SOT MRAM to consume 1% of the power of STT
MRAM. 128MB today consumes tens or hundreds of milliwatts. And the
developers of such memory chips typically develop for data centers
that see the benefits of these technologies first, rather than mobile
phones and laptops. When RAM was still expensive in the 1990s, many
coders, including Symbian S60 developers into the early 00s relied on
extremely efficient code to save as much power consumption as
possible. These benefits have not fully been realized since uClinux
(as an umbrella term, and a toolkit, rather than necessarily as one
instance of a distro), has been splintered into less mainline projects
and applications.


That said, there are processors such as the Hitachi-originated J2 and
Andes E8 that appear to have optimized power consumption with modern,
code-dense architecture. A 16MB memory address could allow for a
variety of applications such as lwIP, wolfSSL, and processing audio
such as Codec2. While I am not a programmer and have no capability of
being a maintainer for such a project, I continue to see the value of
projects such as nommu for these reasons. Maybe not in LTP, at least
at this time.


|"In early 2015 I went to
|https://web.archive.org/web/20150219205915/http://www.uclinux.org/ which had a
|cvs archive link on the left (which was dead, hence the email exchange), a page
|on bflt in the same nav bar (first link on that page went to the dead CVS
|archive, the beyondlogic page was 404, and vapier's stuff was still there but
|several years old, I tracked down the newer forks later), and then the "http
|download" link at the end of the list led to
|https://web.archive.org/web/20150206052300/http://www.uclinux.org/pub/uClinux/
|the newest date in which was 2004.
|
|The resulting first impression was "this project is VERY DEAD". And then my
|email exchange with the contact info link got back "cvs archive died with no
|backup" and no reply to a follow-up email.
|

But that is all kind of archeological now, relegated to history.

Agreed.
|


Well, some things belong in a museum. Other things, like Shakespeare, get
renewed every year...

Another way I see this codebase is as a physics experiment- where the goal
is developing a self-sustaining solar power plant on a single board
computer that runs linux. Ernest Rutherford in 1933 said of splitting
lithium:

"The energy produced by the breaking down of the atom is a very poor kind of
thing. Any one who expects a source of power from the transformation of these
atoms is talking moonshine." (p.9/18- 136:
https://lukemuehlhauser.com/wp-content/uploads/Jenkin-Atomic-energy-is-moonshine-what-did-Rutherford-really-mean.pdf)


But of course, once he realized the interest, atomic energy was given
more scrutiny, including by Rutherford (p.14/18-141).


Since the same has been said of solar powered phones, I expect new
discoveries to prove us wrong.

That said, near-threshold voltage has a long history, and hasn't been
an easy technology to harness for most of the past 10 years:

https://semiengineering.com/near-threshold-issues-widen/ It's only
been in the past few years where advances have been made:

https://semiengineering.com/near-threshold-computing-gets-a-boost/
(and trickle down to older nodes too)


There might be more 16-32MB linux systems that benefit from nommu,
perhaps with less overhead in 3-5 years.

But like many long-term projects, it is not easy to see the utility in
the short term if there is not a hardware platform that can clearly
provide a use-case.


Lastly, a driving force is hyperscaling:
https://semiengineering.com/challenges-with-adaptive-control/

"But if you look at something like an embedded system, especially with
edge-based intelligence, there is a very different cost in terms of
battery life. This trickle-down of technology, tools, and methodology
means they are able to leverage those exact same things that the
hyperscale customers are using, but they’re doing it in a much smaller
footprint and much more fine-grain method and achieving their own
benefits.”


More information about the ltp mailing list