1. SYSTEM REQUIREMENTS
These
instructions
are
for
a
Compaq
Ipaq
and
have
been
tested
only
on
models
H3630
and
H3650
with
32MB
of
RAM.
This
platform
is
known
as
"bitsy"
in
Plan
9.
See
also
Supported
PDAs.
2. INSTALL PROCEDURE
-
Use
ActiveSync
to
copy
osloader
to
the
bitsy.
You
can
also
use
FTP;
see
WinCE
FTP.
-
Run
osloader
by
clicking
on
it
under
the
WinCE
File
Explorer
-
Use
osloader
to
save
your
WinCE
flash
away.
This
takes
a
while,
as
it's
16MB
over
a
115,200
baud
line.
-
Select
"Run"
from
the
osloader
menu.
Ignore
"Run
from
RAM";
it's
not
needed.
-
At
this
point,
the
bitsy's
screen
turns
blank,
but
you
can
still
talk
to
the
bitsy
over
its
serial
port.
The
serial
port
is
connected
to
the
OS
loader's
terminal
program.
On
Windows,
you
have
to
exit
ActiveSync
before
the
serial
port
is
available
for
a
terminal
program.
I
moved
the
bitsy
and
its
cable
over
to
a
Plan
9
machine
and
connected
using
con -b 115200 /dev/eia[01]"
to
talk
to
the
console.
The
command
"help"
lists
the
OS
loader's
commands.
-
Now
you
need
to
download
the
BOOT
loader
program
into
flash
(right
now,
you're
only
running
the
OS
loader
program
out
of
RAM;
rebooting
will
get
you
back
to
WinCE).
In
the
con
window,
"load
bootldr"
to
the
bitsy.
It
will
indicate
that
it's
starting
an
xmodem
download.
Under
con,
type
"Ctrl-\"
to
get
a
">>>"
prompt.
At
this
prompt,
you
want
to
run
Plan
9's
xms
program
to
pipe
the
bootldr
program
to
the
bitsy.
For
example,
to
download
/tmp/bootldr,
type
"!xms
/tmp/bootldr".
If
this
step
works
successfully,
the
OS
loader
will
print
out
some
sort
of
OK
checksum
message.
-
Reboot
your
bitsy
(either
cycle
the
power
or
use
the
reset
switch).
The
new
boot
loader
runs
out
of
Flash.
You'll
get
the
linux
penguin
splash
screen
and
a
bunch
of
options
triggered
by
buttons.
Pick
the
one
that
gets
you
to
the
boot
loader.
-
Make
the
partitions
you
need
in
the
bitsy's
flash,
type,
using
the
con
program,
the
commands
shown
below.
After
each
line
you'll
get
a
message
like
`defining
partition:
params'.
Different
versions
of
the
bootloader
predefine
different
partitions.
The
bootldr
partitions
is
usually
predefined,
so
you
don't
have
to
remake
that.
Make
sure
the
partition
layout
is
as
given
below;
some
of
this
knowledge
is
built
into
the
kernel.
partition reset
partition define bootldr 0x000000 0x040000 2
partition define params 0x040000 0x040000 0
partition define kernel 0x080000 0x0c0000 0
partition define user 0x140000 0x0c0000 0
partition define ramdisk 0x200000 0x600000 0
partition define fs 0x800000 0x800000 0
params save
-
If
necessary,
build
the
ARM
compiler
and
use
it
to
populate
/arm
with
libraries
and
binaries:
for(i in /sys/src/cmd/5*) @{cd $i && mk install && mk nuke}
cd /sys/src && objtype=arm {mk install && mk nuke}
cd /sys/src/boot/arm && objtype=arm {mk install && mk clean}
-
Before
you
can
fill
the
new
partitions
with
a
kernel
and
a
read-only
file
system,
you'll
have
to
make
them.
In
the
directory
/sys/src/9/bitsy,
type
mk
and
mk
paqdisk.
Before
mk-ing
paqdisk,
make
sure
you
have
all
the
necessary
arm
binaries
installed
in
/arm
and
examine
the
file
paqfiles/mfs
to
see
what
you
need
to
change
for
connecting
to
your
local
file
servers.
-
Now
you
can
type
"load
kernel".
The
boot
loader
will
prompt
for
another
xmodem
download.
Again
escape
using
"Ctrl-\",
then
use
"!xms
/sys/src/9/bitsy/9bitsy".
-
Download
the
ramdisk,
using
"load
ramdisk"
and
"!xms
/sys/src/9/bitsy/paqdisk",
similarly
to
the
preceeding
step.
-
You'll
get
a
Dutch
flag
(or
a
French
one,
if
you
hold
the
iPaq
the
wrong
way),
then
you
will
see
the
following
at
the
serial
line
console
(wait
for
a
while
or
hit
enter
in
the
con
window):
root is from [paq]:
-
You'll
get
a
new
screen
with
a
single
line
at
the
top
and
a
keyboard/scribble
area
at
the
bottom.
This
is
a
simple
one
file
editor.
This
file
is
similar
to
plan9.ini
on
PC's.
There
may
be
garbage
on
the
top
line.
If
there
is,
delete
the
garbage
letters.
You
should
be
left
with
a
single
line
containing
(with
different
numbers):
user=<user-name>
wvkey1=<key string>
wvkey2=<key string>
wvkey3=<key string>
wvtxkey=<key string>
wvessid=<wavelan name>
auth=<ip address>
fs=<ip address>
-
Your
best
bet
is
to
copy
these
off
a
working
bitsy.
When
you're
done,
hit
the
"ESC"
key
on
the
simulated
keyboard,
or
the
side
button
near
the
word
iPAQ
on
the
bitsy.
The
system
will
now
come
up
as
you.
However,
you'll
get
a
message
about
the
flash
file
system
being
corrupted,
because
we
haven't
yet
initialized
it.
------
another
example
-------
user=nemo
wvkey1=guesswhat
wvcrypt=off
wvessid=default_net_name
auth=auth.ip.address
fs=fs.ip.address
ipaddr=your.ip.address
ipgw=your.ip.gw
ipmask=your.ip.mask
authdom=your.auth.dom
----
kindly
supplied
by
Fco
J
Ballesteros
----
-
To
set
up
the
file
systems,
sweep
a
window
and
give
the
following
sequence
of
commands
(aux/flashfs
creates
a
Plan
9
server
in
/srv/brzr,
which
we
can
use
to
set
up
default
directories):
aux/mkflashfs /dev/flash/fs
aux/flashfs
mount -c /srv/brzr /n/brzr
cd /n/brzr
mkdir n usr
mkdir n/fs n/emelie n/choline n/nslocum
mkdir usr/yourname usr/yourfriend
-
For
safety,
reboot
the
system:
reboot
-
Now
reboot,
go
through
the
Linux
splash
screen,
the
Plan
9
boot
editor,
and
sweep
yourself
a
new
rio
window.
Before
you
can
connect
to
other
machines,
you
need
a
way
to
enter
passwords
and
keys
into
factotum.
The
easiest
way
to
do
this
is
to
run
"auth/fgui"
in
the
window
you
just
made.
The
window
will
disappear
(fgui
spends
most
of
its
time
hidden),
so
sweep
a
new
window
and
run
the
command
"mfs"
to
connect
to
file
servers.
You
will
probably
need
to
modify
mfs
to
work
in
your
environment
(see
above).
-
When
you're
all
set
with
a
working
wavelan,
you
can
download
new
kernels
and
new
paqdisks
more
quickly
using
these
commands.
You'll
need
to
reboot
immediately
after
reloading
the
paqdisk.
bitsyload k # to load a kernel partition
bitsyload r # to load a ramdisk partition
3. FIXING INSTALL PROBLEMS
Ask
9fans,
there's
people
out
there
using
bitsies
with
Plan
9.
They
might
be
able
to
help
you.
4. AVOIDING COMPILATION
You
can
download
a
precompiled
kernel
and
ramdisk
from
sources.
Look
at
/n/sources/contrib/nemo/arm
(these
files
cannot
be
found
there
anymore).
But
it
is
more
likely
you
get
an
up
to
date
image
by
compiling
it
yourself.