ASPN ActiveState Programmer Network
ActiveState
/ Home / Perl / PHP / Python / Tcl / XSLT /
/ Safari / My ASPN /
Cookbooks | Documentation | Mailing Lists | Modules | News Feeds | Products | User Groups


Recent Messages
List Archives
About the List
List Leaders
Subscription Options

View Subscriptions
Help

View by Topic
ActiveState
.NET Framework
Open Source
Perl
PHP
Python
Tcl
Web Services
XML & XSLT

View by Category
Database
General
SOAP
System Administration
Tools
User Interfaces
Web Programming
XML Programming


MyASPN >> Mail Archive >> squeak-list
squeak-list
[ANN] Self-bootstrapping environment for Squeak 3.9a
by Pavel Krivanek other posts by this author
Mar 31 2006 2:03PM messages near this date
Re: Strange Noise | Re: [ANN] Self-bootstrapping environment for Squeak 3.9a
Hi all,

I've created the first tolerably usable version of self-bootstrapping 
environment for Squeak 3.9a that can produce kernel image. It's 
delivered from 
http://lists.squeakfoundation.org/pipermail/squeak-dev/2005-October/096029.html 
but it's prepared completely from scratch. You can find it here: 
http://www.comtalk.net/Squeak/uploads/20/kernel.tar.bz2

You need the fresh image 3.9a-6719. Then evaluate

Smalltalk condenseChanges

This step is necessary because of limitation of maximal changes file 
size. Condensing of changes files doesn't work well because it corrupts 
the methods that contains WideStrings. So you have to load file 
UTF8Patch.1.cs.

This image detaches GUI and model of changes so it contains new class 
named ChangesOrganizer. It has to be loaded before bootstrapping and 
it's included in ChangesOrganizer.st.

Then load Bootstrap.st. This file contains bootstrapping tools.

The source codes of bootstrapped image are included in Mirrors.cs. The 
loading of this file will take a while.

For opening of the console evaluate "Bootstrap start". In the console 
evaluate command "Bootstrap revert". This commnad will merge mirrors of 
classes, then it removes unnecessary classes including mirrors and 
recompiles whole image.

The result can be saved using "Smalltalk snapshot: true andQuit: false"

This image is not absolutely clean. It contains some obsolete classes 
(I've got one clean image without obsolete classes, it will no problem 
to fix it).

Have lot of fun

-- Pavel


Some modifications:

If you look at mirror of UIManager, you will see some new messages like 
onEventSensorStartup. The sender of this message is mirror of 
EventSensor> >startUp. In the original method is line

Smalltalk isMorphic ifTrue:[self flushAllButDandDEvents].

so we need only write the content of the block to the MorphicUIManager 
-- and so on... This is one set of modifications.

There is one correction of current sources -- class AsyncFile used class 
variable named Error and this name collided with another class name.

Some methods contain comment " shrinked ". This is removed functionality 
and we need to discuss next destiny of such stuff. For example the 
SecurityManager is dependent on cryptography classes. It's possible to 
remove it completely but it plays important role during Squeak startup. 
But without cryptography this class is not complete, so it's good 
candidate for next refactoring.

The last set of interventions are little modifications of souces like in 
XxxMultiCharacterScanner> >scanMultiCharactersFrom:to:in:rightX:stopConditions:kern:. 
This method uses class TTCFontSet that is removed. We need to suppose 
that competent package (with true-type font support) will modify this 
method or refactor it to enable more elegant way how to solve this. 
Another example is sLanguageEnvironment class> >startUp etc. I try to 
have the set of such modifications as small as possible.

AutoStart is currently removed from startUpList...
Thread:
Pavel Krivanek
Lic. Edgar J. De Cleene
Pavel Krivanek
Lic. Edgar J. De Cleene
Pavel Krivanek
Lic. Edgar J. De Cleene
Lic. Edgar J. De Cleene
Dan Ingalls
Andreas Raab
Pavel Krivanek
Lic. Edgar J. De Cleene

Privacy Policy | Email Opt-out | Feedback | Syndication
© ActiveState Software Inc. All rights reserved