Starting in 2002 or 2003 Pavel Krivanek and Stephane Ducasse started to have the vision of a minimal core that could be bootstrapped.
And Pavel worked over the years on the the “MiniImage”: a small Squeak then Pharo image that slowly shrunk. We slowly made dependencies explicitly and we are getting there. In parallel Guillermo Polito worked on a bootstrap from files. Guillermo can boostrap several kernels: CandleLight (80k), miniimage (around 200k). So we arrive to an really exciting moment!
Soon we will have a minimal kernel and be able to reload the complete system each time we push a fix.
Now the other challenge is how can we reload package to create a nice Pharo distribution. And Pavel is getting there. Here are two posts where Pavel Krivanek announced a 5MB kernel image for Pharo3:
I finally successfully created a script that is able to unload everything *by Monticello* except kernel packages, network, Monticello, Gofer and related packages.
The script is run as an automatic build process after every update,
the build server is here.
The size of resultant image is about 6.6 MB, 4.9 MB without MC data and caches. The image has no Undeclared nor obsolete classes and is really able to load something using Gofer.
The second one is the following:
I transformed the Morphic reloading script into a configuration and it works 🙂
Configuration repository: http://smalltalkhub.com/#!/~Pharo/SystemConfigurations/
it’s named ConfigurationOfIDE.
Small note, I must parse versions list from a string because the method has too many literals if I try to use standard form used in normal configurations generated by the tools.