]> git.lizzy.rs Git - plan9front.git/blob - sys/src/9/bitsy/Booting101
merge
[plan9front.git] / sys / src / 9 / bitsy / Booting101
1
2
3 The bitsy comes with Wince.  To get to Plan 9, you will need a serial cable,
4 a Windows machine with a serial interface, the CDROM that comes with the bitsy,
5 and a Plan 9 machine with a serial interface.  The Windows machine is used to
6 get the Linux boot loader onto the bitsy (and to save away wince, if you so
7 desire).  The Plan 9 machine is used to get the plan 9 kernel and a read only
8 file system onto the bitsy.
9
10 0.  charge up the bitsy.
11
12 1.  go to
13         ftp://ftp.handhelds.org/pub/linux/compaq/ipaq/stable/install.html
14 Get the latest version of the Linux "osloader" and "bootldr" programs
15 (we have tried versions 1.3.0 and 0000-2.14.8, respectively; newest
16 versions seem not to allow you to suspend your bitsy due to a bug
17 which is probably ours).  You can find them all at
18 www.collyer.net/who/geoff/9/bitsy/.
19
20 2.  Use ActiveSync to copy osloader and bootldr to the bitsy.  Copy or
21 rename the bootldr binary to "bootldr" on Windows, then copy it to the
22 bitsy; trying to rename it on WinCE won't produce the right result.
23
24 Steps 3 - 7 may work on a Pocket PC bitsy, but see Steps 3a - 7a
25 if they don't or if you have a Pocket PC 2002 bitsy.
26
27 3.  Run osloader by clicking on it under the WinCE File Explorer
28
29 4.  Use osloader to save your WinCE flash away.  This takes a while,
30 as it's 16MB over a 115,200 baud line.
31
32 5.  Select "Run" from the osloader menu.  Ignore "Run from RAM"; it's
33 not needed.
34
35 6.  At this point, the bitsy's screen turns blank, but you can still
36 talk to the bitsy over its serial port.  The serial port is connected
37 to the OS loader's terminal program.  On Windows, you have to exit
38 ActiveSync before the serial port is available for a terminal program.
39 I moved the bitsy and its cable over to a Plan 9 machine and connected
40 using "con -b 115200 /dev/eia[01]" to talk to the console.  The
41 command "help" lists the OS loader's commands.
42
43 7.  Now you need to download the BOOT loader program into flash (right
44 now, you're only running the OS loader program out of RAM; rebooting
45 will get you back to WinCE).  In the con window, "load bootldr" to the
46 bitsy.  It will indicate that it's starting an xmodem download.
47 Under con, type "Ctrl-\" to get a ">>>" prompt.  At this prompt, you
48 want to run Plan 9's xms program to pipe the bootldr program to the
49 bitsy.  For example, to download /tmp/bootldr, type "!xms /tmp/bootldr".
50
51 If this step works successfully, the OS loader will print out some sort
52 of OK checksum message.
53
54 If you have a Pocket PC 2002 or steps 3 - 7 above didn't work for you,
55 try 3a - 7a.
56
57 3a.  Copy BootBlaster (also) to the bitsy via ActiveSync.
58
59 4a.  Save your flash by running osloader and selecting "Flash->Save to
60 File".  As it produces 4MB files, use ActiveSync to copy them off the
61 bitsy.
62
63 5a.  Move the bitsy and its cable over to a Plan 9 machine and connect
64 using "con -b 115200 /dev/eia[01]" to talk to the console.
65
66 6a.  Run BootBlaster by clicking on it under the WinCE File Explorer.
67
68 7a.  Select "Program"; it should copy "bootldr" into your flash in
69 about 15 seconds.
70
71 8.  Reboot your bitsy (either cycle the power or use the reset
72 switch).  The new boot loader runs out of Flash.  You'll get the linux
73 penguin splash screen and a bunch of options triggered by buttons.
74 Pick the one that gets you to the boot loader.
75
76 9.  Make the partitions you need in the bitsy's flash, type, using
77 the con program:
78         partition reset
79         partition define bootldr 0x000000 0x040000 2
80         partition define params 0x040000 0x040000 0
81         partition define kernel 0x080000 0x0c0000 0
82         partition define user 0x140000 0x0c0000 0
83         partition define ramdisk 0x200000 0x600000 0
84         partition define fs 0x800000 0x800000 0
85         params save
86
87 These are the partitions as shown by partition show:
88         boot> partition show
89         argv[1]=partition
90         npartitions=00000006
91         bootldr
92           base: 00000000
93           size: 00040000
94          flags: 00000002
95         params
96           base: 00040000
97           size: 00040000
98          flags: 00000000
99         kernel
100           base: 00080000
101           size: 000C0000
102          flags: 00000000
103         user
104           base: 00140000
105           size: 000C0000
106          flags: 00000000
107         ramdisk
108           base: 00200000
109           size: 00600000
110          flags: 00000000
111         fs
112           base: 00800000
113           size: 00800000
114          flags: 00000000
115
116 After each line you'll get a message like `defining partition: params'.
117 Different versions of the bootloader predefine different partitions.
118 The bootldr partition is usually predefined, so you don't have to remake
119 that.  You may have to delete one or two partitions.  The command is
120         partition delete <name>
121 Make sure the partition layout is as given above; some of this knowledge is
122 built into the kernel.
123
124 10. Before you can fill the new partitions with a kernel and a read-only
125 file system, you'll have to make them.  In the directory /sys/src/9/bitsy,
126 type mk and mk paqdisk.  Before mk-ing paqdisk, make sure you have all
127 the necessary arm binaries installed in /arm and examine the file
128 paqfiles/mfs to see what you need to change for connecting to your local
129 file servers.
130
131 11.  Now you can type "load kernel".  The boot loader will prompt for
132 another xmodem download.  Again escape using "Ctrl-\", then use
133 "!xms /sys/src/9/bitsy/9bitsy" (or "!xms /arm/9bitsy" if you've already
134 installed it).
135
136 12.  Download the ramdisk, using "load ramdisk" and
137 "!xms /sys/src/9/bitsy/paqdisk" (or "!xms /arm/paqdisk" if you've already
138 installed it), similarly to 10, above.
139
140 13. Type `boot' or `boot flash' depending on your version of the boot loader.
141 If you need the latter, you may want to
142
143         set boot_type flash
144         params save
145
146 to make boot flash the default.
147
148 You'll get a Dutch flag (or a French one, if you hold the iPaq the wrong way),
149 then the boot screen will say, on the serial port, thus in your con window:
150
151         root is from [paq]:
152
153 Just wait a while or hit enter in the con window and it'll continue.
154
155 14.  The bitsy will now want to calibrate the screen.  It'll put up a
156 series of crosses that you should press the center of.  Hold the pen
157 down over each cross for a second or so; aim carefully.  Hold the
158 machine in your hand the way you'ld normally use it or the calibration
159 could be off since there is depth to the glass in the screen.
160
161 15.  You'll get a new screen with a single line at the top and a
162 keyboard/scribble area at the bottom.  This is a simple one file
163 editor.  This file is similar to plan9.ini on PC's.  There may be
164 garbage on the top line.  If there is, delete the garbage letters.
165 (Be careful here: the backspace and delete keys are adjacent on the
166 wee keyboard and it's much too easy to hit delete instead of
167 backspace, especially if you haven't calibrated the screen dead-on.)
168 You should be left with a single line containing (with different
169 numbers):
170         calibrate='-16374 22919 251 -24'
171 You need to enter a few more things, including, but not limited to:
172
173         user=<user-name>
174         wvkey1=<key string>
175         wvkey2=<key string>
176         wvkey3=<key string>
177         wvtxkey=<key string>
178         wvessid=<wavelan name>
179         auth=<ip address>
180         cpu=<ip address>
181         proxy=<ip address>
182         fs=<ip address>
183
184 Your best bet is to copy these off a working bitsy.  wv*key* only
185 matter if your wireless network is encrypted.  When roaming the world,
186 omit wv*.  When you're done, hit the "ESC" key on the simulated
187 keyboard, or the side button near the word iPAQ on the bitsy.  The
188 system will now come up as you.  However, you'll get a message about
189 the flash file system being corrupted, because we haven't yet
190 initialized it.
191
192 16. To set up the file systems, sweep a window and give the following
193 sequence of commands.
194
195         # aux/mkflashfs /dev/flash/fs
196         # aux/flashfs
197
198 aux/flashfs created a Plan 9 server in /srv/brzr, which we can use to set up
199 default directories.
200
201         # mount -c /srv/brzr /n/brzr
202         # cd /n/brzr
203         # mkdir n usr
204         # mkdir n/fs n/emelie n/choline n/nslocum
205         # mkdir usr/yourname usr/yourfriend
206
207 17. For safety, reboot the system:
208
209         # reboot
210
211 18. Now reboot, go through the Linux splash screen, the Plan 9 boot
212 editor, and sweep yourself a new rio window.
213
214 Before you can connect to other machines, you need a way to enter
215 passwords and keys into factotum.  The easiest way to do this is to
216 run
217
218         # auth/fgui &
219
220 in the window you just made.  The window will disappear (fgui spends
221 most of its time hidden), so sweep a new window and run the command
222
223         # mfs
224
225 to connect to file servers.  You will probably need to modify mfs to
226 work in your environment (see point 10), though you can supply many
227 of the variables it needs in step 15, and doing
228
229         # import $cpu /net
230
231 before running mfs can go a long ways.
232
233 19.  When you're all set with a working wavelan, you can download new
234 kernels more quickly using
235
236         # bitsyload k
237
238 and new paqdisks using
239
240         # bitsyload r
241
242 (r stands for ramdisk, the name of the partition into which paqdisk goes).
243 Note that overwriting the ramdisk partition will cause the read-only file
244 system which forms the root of you namespace to fail.  You'll need to
245 reboot immediately after bytsyload r.