Re: Pharo on a Netbook running TinyCore Linux
Posted by
Stéphane Ducasse on
Sep 09, 2020; 9:50am
URL: https://forum.world.st/Pharo-on-a-Netbook-running-TinyCore-Linux-tp5121458p5121529.html
Ted
what I can tell you is that we are really interested in having Pharo more configurable (even from the VM point of view)
to support better connection with small hardware os.
The crew started to look at the protocols you mention :)
And I’m starting to look around for money to do a POC we will get back to you soon.
S.
Offray Vladimir Luna Cárdenas-2 wroteI really like this idea of a minimal Linux distro that runs a minimal
Pharo image that can be changed on demand according to different needs.
It reminds me about some customized Linux distros I made in early
2000's, one called Scilix to package math packages for my undergrad
students and after that, "Tangram Linux", which embraced the modular
approach even more not only in its rebranding but mostly in its
community dynamics to build modules (we used Morphix Linux at that time
and FUSE file systems to package the modules and I even thought in using
Puppy Linux as Debian/Ubuntu based ones became bigger).
You can see one thing that has delayed my responses to you, Offray... ;^)I've been interested in minimal Linuxes for long time myself. Another verynice one is *SliTaz Linux*, a 'roll your own' from Switzerland made byChristophe Lincoln, et al. Very compact, but comes with a surprisinglyuseful & usable set of applications that gives you a small, fast Linux thatcan work as a 'daily driver'.Combining these with Pharo seems to make a lot of sense: Pharo is alsonotably compact, and being able to essentially jettison the need for alarge, bloated OS to sit between it & hardware is intriguing. The originalSmalltalk was OS, IDE, and application all in one (running native on theAlto 'personal computer'), so why shouldn't Pharo also include that heritageby running as close to the hardware as practical?Running on a Linux is probably better than a VM that runs directly on 'baremetal': You gain the ability to leverage Linux apps & services that don'thave to be duplicated in Pharo (or would be difficult, or don't exist &there's no manpower for it, etc).Running a modular Gnu/Linux with a modular Pharo suited for different
devices could be really empowering, particularly in these pandemic times
and the forecast of credible sources about having intermittent
quarantines until 2024.
Yes, there are all kinds of new possibilities that open up with thisconcept. My background is device control for data acquisition andclosed-loop control systems. I have an "on the horizon" project to lookforward to: Building a set of Pharo uFFI bindings to provide an IDE thatwill allow me/my team to build systems (including embedded/remote systems)to monitor & control rack & stack instrumentation, custom hardware devices,and distributed 'smart' controllers.One reason is to escape from expensive, proprietary development systems usedfor this purpose. Another is to unlock the power of making custom web appsto run these systems -- without getting tangled up in the complexities oftraditional web app development, JavaScript, CSS, etc.Looking for connections between Pharo powered hardware and software, our
approach here for the midterm under pandemic, has been re-enabling web
publishing via IndieWeb[1], because I think that web presence will
become more a more important as intermittent quarantine and physical
("social") distance stay with us. We want to empower solo merchants,
small business, learners and educators to own their web presence and use
it to connect better in times of forced distancing. We have not
addressed the hardware part and I would bet for a mobile first approach
using bots in popular chat networks like Telegram and smaller ones like
Scuttlebutt[2] and Retroshare[3]. Its a pretty organic process run on a
voluntary basis, so we value process over product and go without any
rush. But seeing this hardware front makes me think about Raspad [4],
Rasberry, recycled hardware and other low end devices as a practical
approach for a more ubiquitous Pharo powered computing (and a wink to
the Dynabook).
There are several models of Chromebook that can also work this way, althoughthe Raspad is probably less expensive. Old Chromebooks that are no longerhaving their ChromeOS updated can still be useful, running, e.g., GalliumOS. And they're very inexpensive, since most will look at them as "throwaway"items (and it's much better to recycle them instead). I've alreadydemonstrated Pharo running in GalliumOS, and am curious if TinyCore will runon them as well. (I have an old Acer 720 to test with.)[1] https://mutabit.com/repos.fossil/indieweb/
[2] https://scuttlebutt.nz/
[3] https://retroshare.cc/
[4] https://raspad.sunfounder.com/
Keep us updated on their experiments Ted. They seem pretty interesting.
Thanks, Offray. I'll be posting what I learn, as I go...-tCheers,
Offray
Ps: On the Pharo 9.x front, once GT, Glamour and Spec1 are out, there
will be something like the Playground with faceted exploring supported,
like what we have now on Pharo 8.x?
On 8/09/20 5:33 a. m., Stéphane Ducasse wrote:
I love it.
Now imagine with our specialised kernel or shrunk down version…
We are preparing to
- remove a lot of code from Pharo 90 (spec1, eye inspector, GT,
Glamour….)
- but also to give the possibility to load on demand projects that we
are integrating and TESTING
- Microdown
- Roassal 30.
S
On 8 Sep 2020, at 03:22, tbrunz <
wild.ideas@
>> <mailto:
wild.ideas@
>> wrote:
This is running 32-bit Pharo 80 on 32-bit TinyCore 11.1 (Linux kernel
5.4.3).
There is a 64-bit version of TinyCore, which I plan to test next...
Then test 64-bit Pharo 80 and try Pharo Launcher on top of that.
Then on a Raspberry Pi...
Here's what's intriguing about this:
TinyCore Linux is SUPER tiny -- 11MB for the headless 'Core' version,
and
16MB for a FLTK/FLWM desktop. (Many different desktops are
available.) The
'CorePlus' version (which I'm booted on) is still only 106MB; it
supports
Wifi & comes with installation tools & a variety of DEs to pick from.
With TinyCore, you "build it the way you like it", by adding just the
packages you want in your Linux image. With a stripped-down
implementation,
it's around the same size as the Pharo VM!
Which makes TinyCore basically "a snap-on HAL module for the Pharo
VM" that
gives you what amounts to bare-metal operation -- and it can run 100%
from
RAM (as well as via mounting packages from persistent storage, on a
package-by-package basis).
You can persist TinyCore on disk, and keep your installed packages ("tce
extensions") and your settings & user files persisted separately. That
helps keep the TinyCore OS from being corrupted -- it's much like the
'.image' file for Pharo; your changes are kept in a separate file.
This opens up the possibility of making tiny/embedded little
"appliances"
that boot into TC, then auto-launch a Pharo image -- headless or with
a UI, all without the burden of launching/maintaining full OS to do so.
--Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
--------------------------------------------
Stéphane Ducasse
03 59 35 87 52
Assistant: Aurore Dalle
FAX 03 59 57 78 50
TEL 03 59 35 86 16
S. Ducasse - Inria
40, avenue Halley,
Parc Scientifique de la Haute Borne, Bât.A, Park Plaza
Villeneuve d'Ascq 59650
France