The Rest of Squeak package for the kernel image preparation HOWTO

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

The Rest of Squeak package for the kernel image preparation HOWTO

Pavel Krivanek
Hi all,

this is the description how to prepare The Rest of Squeak package for
the kernel image and experiment with that.

- take fresh Squeak 7053 image (ftp://squeak.org/3.9/Squeak3.9b-7053.zip)

- download the self-bootstrapping environment for the kernel image
(http://www.comtalk.net/Squeak/uploads/20/bootstrap7053.zip)

- download RoS support code
(http://www.comtalk.net/Squeak/uploads/20/RoSSupport.zip)

- file-in files 00, 02, 04, 05, 06 (do not condense changes)

- file-in all files in the RoSFileOutPatches directory.This files
contain temporary overrides that are necessary for sccessful loading
of RoS and should be replaced in the final complete image with
originals again.

- evaluate:
Bootstrap new
     fileOutRestOfSqueak;
     fileOutRestOfSqueakAdditions;
     fileOutRestOfSqueakChangedDefinitions;
     fileOutRestOfSqueakOverrides.
(it takes a while)
That creates files with the prefix RestOfSqueak- in the default directory

- download or create the kernel image and condense changes
(http://www.comtalk.net/Squeak/uploads/20/kernel7053.zip)

- copy all generated RestOfSqueak- files into the directory with the
kernel image

- copy all files form the directory RoSExtra into the directory with
the kernel image
The RosExtra directory contains set of forms, default saved standard
preferences and initialization scripts. This scripts were created
manulay with the help of this code:

initializedClasses := Bootstrap new newClasses select: [:c | c class
methodDictionary keys  includes: #initialize ].
initializedClasses := initializedClasses asSortedCollection: [:a :b |
b inheritsFrom: a ].
code := String streamContents: [:s |
        initializedClasses do: [:c |
                s nextPutAll: c name, ' initialize.'; cr ]].

- in the kernel image console evaluate
(FileStream readOnlyFileNamed: 'loadROS.st') fileIn. Processor terminateActive

This is the ideal state but because of the Morphic initialization is
bad (try user interrupt), please comment loading of initialization
scripts in the file loadROS.st and after its loading save image from
the console. That enables you to experiment with loading of the rest
initialization files without long waiting.

Enjoy,
-- Pavel