Plan9 on Ultrasparc
2005-04-21
Supported Platforms
- Sun Ultra2
Supported Hardware
- HME 10/100 ethernet
- HME/FAS366 SCSI
- no booting from disk yet
- no support for sunlabel disk labels
- Z8530 uart serial port
My tree had some stale directories that needed cleaning:
- cd /sys/src/cmd && rm 6? 9? rtstats
- In between builds /sys/src/cmd/cc doesnt clean several
libraries. The should be manually removed if you want
a clean rebuild:
9/boot/libboot.a?
cmd/cc/cc.a?
cmd/map/libmap/libmap.a?
cmd/plot/libplot.a?
cmd/postscript/common/com.a?
cmd/upas/common/libcommon.a?
cmd/usb/lib/usb.a?
To build:
- mount your root drive and extract the files
- disk/kfscmd allow
- 9fs kfs
- cd /n/kfs
- tar -x < $home/sparc64src.tar
- build the cross compilers
- for(d in ua ul uc) { cd /sys/src/cmd/$d && mk install }
- cd /sys/src/ape/cmd && mk cc.install
- cd /sys/src/cmd && mk pcc.install
- build the libraries and binaries
- cd /sys/src
- objtype=sparc64 mk install
- build the kernel
- cd /sys/src/9/sparc64
- mk install
- optionally rebuild your cross platform
- cd /sys/src && mk install
To run:
- make all binaries on a file server
- setup for net booting with tftpd and rarpd running
- connect a serial line to ttyA (uart #3) of the ultrasparc box.
The default baud is 9600, but you may alter the
speed with a command line option:
console="3 b19200 l8 pn s1".
- from the open firmware prompt run "boot net".
Arguments can be added to the end
of the boot command if desired.
- continue net booting as normal
- scsi support's in now.
to partition the drive use the disk/prep utility on
the /dev/sd??/data partition. The prep label will
be read back during the boot process.
Note: I've had to leave some empty space at the
start of my disk to keep the table from getting clobbered.
I havent investigated this further yet. I recommend
starting the first partition at offset 63 for now.
You cant boot the kernel off disk yet (although you
probably can boot it off a cdrom -- I havent tried yet),
however you can use the disk as a local root filesystem
after the kernel boots. Adjust the kernel config file
to pick the partition you wish to use.
- To simplify booting, you can configure ofw. Setting the
boot-device variable sets the devices to boot from. Setting
boot-file sets the command line arguments:
{0} ok setenv boot-device net disk
{0} ok setenv boot-device console="3 b19200 l8 pn s1" venti=#S/sd01/arenas0
{0} printenv
{0} boot
Updating:
- if you installed an earlier version of this distribution you
should remove /sys/src/cmd/K[cal]. The compiler tools are
now named u[acl].
- If you had installed a previous version there are files
which were modified which are no longer needed. You should
restore the following files from sources:
replica/pull -s -v sys/src/cmd/strip.c \
sys/src/libmach \
sys/include \
sys/lib/acid \
386/lib/libmach.a \
386/bin/^(acid ar strip size) \
sparc64
------
#!/bin/rc
cd /sys/src
rm -f 9/boot/libboot.a?
rm -f cmd/cc/cc.a?
rm -f cmd/map/libmap/libmap.a?
rm -f cmd/plot/libplot.a?
rm -f cmd/postscript/common/com.a?
rm -f cmd/upas/common/libcommon.a?
rm -f cmd/usb/lib/usb.a?
cd /sys/src/cmd && rm -f 6? 9? rtstats
cd /sys/src && mk clean
for(d in ua ul uc) { cd /sys/src/cmd/$d && mk install }
cd /sys/src/ape/cmd && mk cc.install
cd /sys/src/cmd && mk pcc.install
cd /sys/src && objtype=sparc64 mk install
cd /sys/src/9/sparc64 && mk install
|