forked from drdpj/RiscOS_371
-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy path!Readme
151 lines (119 loc) · 5.54 KB
/
!Readme
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
This file contains notes for Build-Masters in a 'HowTo' format.
Please also see:
Doc371.!Readme370 - for changes introduced for RISC OS 3.70 (StrongARM).
Doc371.!readme371 - for changes introduced for RISC OS 3.71 (StrongARM
production and A7000FE support)
Building the System
===================
(1) Copy the contents of the SrcFiler tree to a hard disc (250Mb or larger).
Note: The contents of Sources.Import.Aquarius come from the Aquarius
Source tree - see !ReadMe in the directory for info.
(2) Double-click on !Env4 (build for 4 Megabyte Morris system).
(3) To build ROM image:
In directory BuildSys.Morris4:
- Double-click on !Config
This ensures that the Makefile is uptodate w.r.t. Components
To clean the system:
- Double-click on !MkClean
This will remove all derived objects in the Source tree with the
following exceptions:
(a) OSLib - to clean, open Sources.Lib.OSLib and double-click on
MkClean
(b) RISC_OSLib - to clean, open Sources.Lib.RISC_OSLib and
double-click on MkClean
(c) Dictionary tokens in Sources.OS_Core.Internat.Messages
It shouldn't be necessary to rebuild the Dictionary, but
if required, open Sources.OS_Core.Internat.Messages and
double-click on MkCleanAll
- The complete Install tree can be deleted (by hand) if wished
- The complete Export tree can be deleted (by hand) if wished
To build the system:
- Double-click on BuildSys.Morris4.!MkSystem
(if the Export tree hasn't been removed, the first two build phases
'export hdrs' and 'export libs' can be commented out first).
When complete, save the contents of the TaskWindow as a logfile
for future reference. This file should also be checked for errors
by loading it into an editor and searching for the string AMU:
OSLib will produce an error for each library component - these can
be ignored, but any other errors need to be resolved.
To split the ROM image into two 2Mb parts, use isplit <filename>
(4) To build HardDisc image:
The harddisc components will be installed in 'Install' by default.
This can be altered by setting an appropriate path for DiscInstall$Dir
in !Env4 and re-executing. If the path isn't specified in terms of
<Build$Dir>, use a complete disc specification:
e.g. SCSI::disc_name.$.Install_path
To clean the system:
- Double-click on BuildSys.HardDisc.!MkClean
To build the system:
- Double-click on BuildSys.HardDisc.!Mk
To install the harddisc components:
- Double-click on BuildSys.HardDisc.!MkInstall
Release Builds
==============
Creating ChangeLogs
-------------------
1) Log-on to the Black SrcFiler project
2) Run !Env4
3) In BuildUtils.Releases:
Follow the instructions in the !Readme file.
Special techniques
==================
Rebuilding a ROM Image
----------------------
Once a ROM image has been built, it is relatively quick and easy to update it.
Least error-prone method
------------------------
1) Check-out updated sources for required Components from the SrcFiler
or add/remove components from the Components file (and run !Config)
2) In Sources.OS_Core.Internat.Messages, run MkClean
3) In BuildSys.Morris4:
run !MkRes
run !MkCpInst (this should rebuild Messages and any updated sources)
Extra quick method
------------------
1) Rebuild any updated component using its local MkRom TaskObey file
2) If it's NOT a C component (see Type in Components file), then
copy the rebuilt module to the appropriate place in the Install
tree (see Installation dir in Components file).
3) If any of the Component's Resources have changed, then the Resources
module must be updated.
(Note: this will always be the case for Components whose Messages file
contains their Version)
In Sources.OS_Core.Internat.Messages, run MkClean
In the Component's directory, run MkRes
(amu_machine resources RESDIR=<resource$dir>.Resources)
to copy the Resources to the Messages module directory.
In Sources.OS_Core.Internat.Messages, run MkRom, then copy the
updated Messages module to Install.ROM.Morris.
4) In BuildSys.Morris4.ROMImage, run MkInstall
Building a 2MByte ROM image
---------------------------
This is sometimes required for hardware testing.
1) In Build root directory, run !Env
- sets ImageSize to 2048K (used during Kernel build)
- set Resources dir to be Messages2
2) Rebuild the Kernel (uses ImageSize):
In Sources.OS_Core.Kernel, run MkRom
Copy new Kernel to Install.ROM.Morris as Kernel2Meg
3) Create a (small) Messages module:
Copy Sources.OS_Core.Internat.Messages
to Sources.OS_Core.Internat.Messages2
In Messages2, run MkClean, then remove UK directory
In BuildSys.Morris2:
- Check contents of Components file
- Run !Config (to ensure that Makefile is up to date)
- Run !MkRes (to copy Resources for each component to Messages2.UK)
In Messages2, run MkRom
Copy new Messages module to Install.ROM.Morris2 as Messages
4) Build the ROM image:
In BuildSys.Morris2:
If all components have already been installed in the Install
directory, (e.g. by a previous Build for a 4MByte image) then
it should be sufficient to run ROMImage.MkInstall.
Otherwise, run !MkCpInst (this runs ROMImage.MkInstall as a final step)
When complete, the image can be found in Install.Images.2MEG
Hints & Tips
============
Save the output generated in Task Windows by build procedures as log files
for future reference.