This is cool...
After I booted TinyCore Linux[1] on my 10-year-old netbook[2], I decided to see if it could run Pharo... It does! Details: [1] http://tinycorelinux.net/ - TinyCore Linux "CorePlus", 32-bit, version 11.1. - Booted from a YUMI multiboot thumbdrive. - Installed 'curl', 'bash', Firefox (to access 'pharo.org' site for download info). [2] https://www.notebookcheck.net/Review-Acer-Aspire-One-D255-Netbook-N550.40151.0.html - Acer D255 "AspireONE" netbook (Sept, 2010). - 2 GB RAM (single DIMM). - 250 GB SSD (not being used; TinyCore running 100% in RAM). The Proof: <http://forum.world.st/file/t372161/Pharo8-32_TinyCore_AcerD255_2020-0907.jpg> -- Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html |
Just to be sure I'm not booted into Ubuntu:
<http://forum.world.st/file/t372161/Pharo8-32_TinyCore_AcerD255_2020-0907b.jpg> -- Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html |
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 |
BTW, TinyCore Linux was started by Robert Shingledecker.
He's the guy who led the "Damn Small Linux" project[1]; when it dissolved, he started TinyCore and kept going... [1] http://www.damnsmalllinux.org/ -- Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html |
...and 64-bit Pharo runs in 64-bit TinyCore.
So does Pharo Launcher. However, I kept getting bit by the "External module not found" error (libgit2). . <http://forum.world.st/file/t372161/Pharo8-64_TinyCore_AcerD255_2020-0907a.jpg> . <http://forum.world.st/file/t372161/Pharo8-64_TinyCore_AcerD255_2020-0907b.jpg> -- Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html |
In reply to this post by tbrunz
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
-------------------------------------------- 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 |
And it seems to be quite stable, too. I couldn't crash it (though I didn't
try hard). I've had the 64-bit version of Pharo 8 running on TinyCorePure64-11.1 (out of RAM) for 8 hours now, and it's still working fine. Forums on TinyCore contain comments such as, "TC Linux embodies what is best in Linux. Fast, small, flexible, free and support for old hardware. And because its simple construction, it's almost indestructible." This really opens up possibilities for kiosks, embedded controllers, micro-controllers... And bootable thumb drives that you can just plug in, boot, and you have a Pharo running on your hardware. (When running solely in RAM, once it loads, you can remove the thumb drive.) -t -- Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html |
In reply to this post by Stéphane Ducasse
I 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). 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. 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). [1] https://mutabit.com/repos.fossil/indieweb/ Keep us updated on their experiments Ted. They seem pretty interesting. Cheers, 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. |
In reply to this post by tbrunz
Still running on the netbook after 12 hours -- I'm writing this post on the TinyCore netbook, with Pharo Launcher & Pharo in the background. Here's some of the system stats:
Next test will probably be an old Intel-powered Chromebook. (They can boot thumbdrives.) Then my RPi3. (It's a 3B model -- 64-bit ARMv8, but they're supposed to be backward-compatible with 32-bit ARMv7; there are TinyCore builds for ARMv6, ARMv7, and ARMv7l, so I'm not sure what will work there.)
-t
Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com. |
In reply to this post by Offray Vladimir Luna Cárdenas-2
Offray Vladimir Luna Cárdenas-2 wrote
> I 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 very nice one is *SliTaz Linux*, a 'roll your own' from Switzerland made by Christophe Lincoln, et al. Very compact, but comes with a surprisingly useful & usable set of applications that gives you a small, fast Linux that can work as a 'daily driver'. Combining these with Pharo seems to make a lot of sense: Pharo is also notably compact, and being able to essentially jettison the need for a large, bloated OS to sit between it & hardware is intriguing. The original Smalltalk was OS, IDE, and application all in one (running native on the Alto 'personal computer'), so why shouldn't Pharo also include that heritage by running as close to the hardware as practical? Running on a Linux is probably better than a VM that runs directly on 'bare metal': You gain the ability to leverage Linux apps & services that don't have 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 this concept. My background is device control for data acquisition and closed-loop control systems. I have an "on the horizon" project to look forward to: Building a set of Pharo uFFI bindings to provide an IDE that will 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 used for this purpose. Another is to unlock the power of making custom web apps to run these systems -- without getting tangled up in the complexities of traditional 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, although the Raspad is probably less expensive. Old Chromebooks that are no longer having 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 already demonstrated Pharo running in GalliumOS, and am curious if TinyCore will run on 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... -t > Cheers, > > 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 |
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.
-------------------------------------------- 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 |
I think the "small hardware" market is another area where Pharo can make a
good showing for itself, because it's small & relatively lightweight compared to others. So it makes good sense to me to couple Pharo with a similarly lightweight OS. I like the idea of "Pharo as OS + app on dedicated hardware", but doing it in the way of a "tiny Linux" OS for the VM to run with, rather than "let's make the VM into its own OS!" as has been suggested before -- because then you must code nearly everything in Pharo if you do that. (In the end, you would essentially end up incorporating the Linux kernel into the VM.) A compact Linux allows delegation of some tasks by the Pharo app to an existing Linux app. (At least until that app can be recoded in Pharo, of course. :^) -t -- Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html |
Free forum by Nabble | Edit this page |