Chill out, lockdown ain't over yet – perhaps FUZIX on the Pi Pico could feature in your weekend shed projects
- Reference: 1614185945
- News link: https://www.theregister.co.uk/2021/02/24/pi_fusix/
- Source link:
Possibly to be filed under the category of "because we can", the port can be described as an impressive technical achievement, even if there isn't a tremendous amount one can do with the Unix-like OS at present
[3]
The [4]GitHub repo notes of [5]FuzixOS : "It is not yet useful although you can build and boot it and run test application code").
[6]
The Pi Pico
[7]
The port itself [8]was undertaken last week by David Givens , who had much praise for the tiny computer's documentation and SDK, although he remarked on "the almost non-negotiable requirement to use cmake as your build system."
"cmake," he added, "is pretty ghastly but to be honest build systems are always terrible, and cmake's not the worst choice."
Raspberry Pi Foundation moves into microcontrollers with the $4 Pi Pico using homegrown silicon [9]READ MORE
Givens went on to highlight that, once he'd decided to trust it, "it was a breeze to use and the Pico SDK's cmake addons make building binaries and flashable images trivial."
The result was a FUZIX port for the Pico ( [10]currently forked from the main repo) comprising a functioning set of core binaries including the Bourne shell, a vi clone, fsck and some games, SD card support, "a proper Unix filesystem" and, importantly, a serial console on the Pico's UART0.
What isn't present, he added, was multitasking and "an absence of bugs."
It is very impressive work. While getting full-blown Linux on the Pico (the hardware of which features 264KB of on-chip RAM and a dual core Arm Cortex-M0 running at 133MHz) has not been doable, the tiny FUZIX (motto: Because Small Is Beautiful) is an ideal fit. It does, after all, already run on something as constrained as Amstrad's old NC200.
Getting the port up and running was not as trivial as downloading a fresh image of Raspbian, but was undoubtedly a good deal more educational and, dare we say it, fun.
Unless it's just this hack that enjoys wiring things up on breadboards?
[11]
More work is needed on the port before it can be described as stable, although the fact that only one core is used and that there is plenty of spare RAM (relatively speaking) makes for some intriguing possibilities. ®
Get our [12]Tech Resources
[1] https://www.theregister.com/2021/01/21/pi_pico/
[2] https://www.raspberrypi.org/blog/how-to-get-started-with-fuzix-on-raspberry-pi-pico/
[3] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_personal_tech/front&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=2&c=2YDbajNxB3GwEmE9OeTBa5wAAAEg&t=ct%3Dns%26unitnum%3D2%26raptor%3Dcondor%26pos%3Dtop%26test%3D0
[4] https://github.com/EtchedPixels/FUZIX
[5] http://fuzix.org/
[6] https://regmedia.co.uk/2021/01/20/picpico.jpg
[7] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_personal_tech/front&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=3&c=33YDbajNxB3GwEmE9OeTBa5wAAAEg&t=ct%3Dns%26unitnum%3D3%26raptor%3Deagle%26pos%3Dmid%26test%3D0
[8] https://cowlark.com/2021-02-16-fuzix-pi-pico/
[9] https://www.theregister.com/2021/01/21/pi_pico/
[10] https://github.com/davidgiven/FUZIX/tree/rpipico
[11] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_personal_tech/front&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=4&c=44YDbajNxB3GwEmE9OeTBa5wAAAEg&t=ct%3Dns%26unitnum%3D4%26raptor%3Dfalcon%26pos%3Dmid%26test%3D0
[12] https://whitepapers.theregister.com/
Young people these days...
256kb? I have a very old, very thin Toshiba notebook which has 32kb of RAM and boots several flavours of Linux, including one with a primitive GUI (not X11, obviously).
Re: Young people these days...
I think you have 32MB if it's booting Linux.
32KB would certainly never boot Linux. "Damn Small Linux" can run on 8MB. Very old versions may run on less.
Re: Young people these days...
I had a 4 meg 386 with linux running on it. Worked pretty well.
Re: Young people these days...
No "notebook" that came with 32 kB of RAM was in any sense "very thin." Back then we had what we called "luggables" that weighed at least 25 lb / 12 kg and had about 6" monochrome 25-line screens.
Re: Young people these days...
And the luggable laptop with a Plasma screen and real computer card slots only ran off mains. It did look like a clamshell laptop.
Re: Young people these days...
Commodore SX-64.
Re: Young people these days...
Oh how I wanted one of those in the 80s!
Re: Young people these days...
No, only little Epson computers with possibly a Z80 or related and slim LCD panel in the case, circa 1979 or 1980 had only 32K RAM.
Even an Apple II had 48K.
No real laptop I remember had less than 2M RAM, real ones that ran on battery and had colour mostly 128M and upwards.
Maybe Minix could run on 640K, I forget.
Re: Young people these days...
> Toshiba notebook which has 32kb of RAM
Most likely it had 32Kb of _Video_ RAM. This number would be displayed when booting. To run any minimal version of Linux would require at least a megabyte, probably 2 or 4 of actual RAM.
Maybe you ran Minix but this required 640Kb.
Re: Young people these days...
> 32kb of RAM
Anything with only 32Kb of RAM would be only an 8bit CPU (8080, Z80, 6502) and Linux never ran on those.
Freedos might fit with a bit of twiddle.
that might be a giggle.
Re: Freedos might fit with a bit of twiddle.
Annoyingly it is a no go. Not only is the Pi Pico not an Intel 80186+ but it also doesn't provide a BIOS.
DOS is a simple OS but certainly not one of the most portable :(
Re: Freedos might fit with a bit of twiddle.
There is DosBox for ARM. Even my old E65 Symbian phone could run some DOS x86 games. The user input was the limiting factor.
Re: Freedos might fit with a bit of twiddle.
I thought I'd seen some decent cross assembly for 8088 to ARM.
Unix ran in 32kb of ram on a PDP-11.
Portability though was a challenge
Typos
Thanks for the writeup, but:
s/David Givens/David Given/ (throughout)
s/just this hack that/just this hacker that/
Since the blog post I now have the NAND flash, multitasking and pipes working, plus lots of core bugfixes --- Colossal Cave works just fine. So it's useful! Plus, I've discovered I made a mistake with my arithmetic and there's lots more RAM available than I thought: there's about 190kB after the kernel's loaded, and a lot of _that_ can be moved to flash. It should be possible to have multiple processes in RAM concurrently, although with an MMU context switches will require a physical memory copy, so preemptive multitasking won't be feasible. There may even be enough RAM for a NAND-flash-only version, with no SD card.
If only I'd had one of those in 1985. A girl could do great things with a gadget like that. Great things.