Linux 5.0 shown to boot on ESP32 processor
cnx-software.com
cnx-software.com
Edit: probably worth noting that esp32 cores are an order of magnitude higher frequency than those 90s computers.
A 386SX with 20MHz, 40 MB and 2MB, running Windows 3.0.
16MB was indeed another level!
I was a little spoiled since my dad worked for a telco, so we tended to have decently modern computers and modems for that reason. I was REALLY fancy when I got 128k ISDN in 1996.
I do remember being very cautions when I first setup linux because things actually cared about the number of blocks, cylinders, etc, and if you got it wrong things broke in confusing ways.
Absolute luxury! I had 4MB three years later in '95... and in '96 I got the Linux Kernel Internals book which came with a slackware CD, forcing me to purchase my first CDROM drive.
Nowadays it would be more practical to add ESP32 support to uClinux and skip the unnecessary performance hit of the VM.
No kidding! My intro to X was seeing it load bare-bones on my enthusiast friend's 2M (could have been 4) 386.
I think he brought xfontsel up or something and you could see the scanlines being drawn one at a time :)
A couple of years later, I was running fvwm2 and a very serviceable desktop at work in 8M though. (AFAIR, anyhow.)
With the wireframe mode, it's even faster on moving and resizing.
Implementing a wireframe mode on CWM should be dumb easy and a lot of older machines would profit from that.
But back in the day you could browse without images perfectly fine, as the important ones where under galleries with custom links and downloading them was really slow.
Also, when writing, it's probably better not to have a multitasking OS - no distractions ;-)
This was my setup for a considerable amount of time. Even though it is hard to believe in our fast paced times it must have been for several years.
The 386DX with 4 MiB was my first Linux machine and my first PC for that matter. 4 MiB was not enough to even run the Slackware installer, so you had to partition and mkswap manually from the command line before you could run it.
Apart from that it was a pretty workable machine for those days standards. I used it from the console most of the time, but X11 worked, even if it was slow as molasses, as you said. I remember running GNU chess. While you could play from the command line it was one of the apps where the GUI was really helpful.
Good times!
It seems to be booting a riscv vm, which is capable of running linux. The hardware capabilities of ESP32 is not very important(except being fast enough).
Although, Xtensa can execute out of RAM, so here a JIT could be used for a larger speedup. Maybe i'll build a RiscV-to-xtensa jit some day when i'm bored
I don't know why, but this little kludge greatly pleases my sense of aesthetics.
A 230MHZ 32bit CPU it's far more powerful than a 8bit processor emulating a 32bit one.
You could use cli apps and even X perfecly well with 16MB and 80MHZ in 1996.
EDIT: Ok, this is emulating too. Sorry, then.
Would be cool to get no-MMU Linux running on it. I've seen that run on STM32F7's natively..
Note the description: video is sped up 30x
There likely were also some nasty, performance-sacrificing hacks involved. A comment above mentions "booting a riscv vm".
But to answer your question more completely, it's running a RISC-V emulator which is then running the Linux kernel.
MicroPython v1.16; ESP32 module with ESP32
Type "help()" for more information.
>>> import _thread
>>> _thread.start_new_thread
<function>https://en.wikipedia.org/wiki/Context_switch#Hardware_vs._so...
Where Intel ended up was the xsave/xrestor family of instructions to save and restore processor state according to a bit flag argument of high level functional units. And that's really only because of how complex all of the extensions to x86 have been over the years; a fresh arch is probably just better off manually writing everything with normal loads and stores until right around the iret equivalent. Dumps between the register file and memory show up on perf traces anyway so it's generally a very optimized path in the CPU for general uses anyway.
> (...) one developer apparently managed to boot Linux 5.0.0 on a board with an ESP32 dual-core Xtensa processor (...)
> The shortened boot log above shown the bootloader output with ESP32-D0WD dual-core Xtensa processor eventually booting Linux 5.0.0.
It's booting to a RISC-V virtual machine which then boots Linux, which may have confused you.
actually i work 9h a day i dont think i have time ;_;