code: fqa.9front.org

ref: 16aaa277d94c06585a12c4e26d9af9896ccacdf8
dir: /fqa4.ms/

View raw version
.\" This troff source is processed to create all forms of the
.\" 9FRONT DASH 1 book and the http://fqa.9front.org website.
.\" NOTE: Purely experimental. Methods employed may change.
.\" troff -ms -mpictures fqa4.ms | page
.\" htmlroff -u -ms -mhtml fqa4.ms >fqa4.html
.de FG	\" .FG <basename>
.ie h .html - <img src="\\$1.\\$2" />
.el .BP \\$1.ps
.br
..
.po 1i \" page offset (from left)
.fp 1 R LucidaSans
.fp 2 I LucidaSansI
.fp 3 B LucidaSansB
.fp 4 BI LucidaSansI
.fp 5 CW LucidaCW
.paragraph 0
.margin 0
.HTML "FQA 4 - 9front Installation Guide
.html - <style type="text/css">body{font-size:10pt}; a{font-size:10pt}</style>
.html - <a href="fqa.html">FQA INDEX</a> |
.html - <a href="fqa3.html">FQA 3 - Hardware</a> |
.html - <a href="fqa5.html">FQA 5 - Building The System From Source</a>
.html - <hr />
.SH
.LG
.ihtml h1 <h1>
FQA 4 - 9front Installation Guide
.ihtml h1
.NL
.R
.html - <a href="fqa4.html">html</a> |
.html - <a href="fqa4.pdf">pdf</a> |
.html - <a href="fqa4.ms">troff</a>

.FG install gif
.html - <a name="4.1" />
.ihtml h2 <h2>
.SH
4.1 - Pre-installation Checklist
.R
.ihtml h2

Before you start your install, you should have some idea what you want to end up with. You will want to know the following items, at least:
.ihtml ul <ul>
.IP
.B
Machine name,
.R
hereafter referred to as
.CW sysname .

.B
Hardware installed and available.
.R
Read:
.ihtml a <a href="fqa3.html#3.3">
.I
FQA 3.3 - Selecting Hardware.
.R
.ihtml a
Check
.ihtml a <a href="fqa3.html#3.2">
.I
FQA 3.2 - Known Working Hardware
.R
.ihtml a
as well as the
.ihtml a <a href="https://9p.io/wiki/plan9/Supported_PC_hardware">
various
.ihtml a
.ihtml a <a href="https://9p.io/wiki/plan9/other_hardware">
supported
.ihtml a
.ihtml a <a href="https://9p.io/wiki/plan9/virtual_machines">
hardware
.ihtml a
pages on the Bell Labs Plan 9 wiki to help determine if your hardware or VM is supported.

.B
Network settings, if not using DHCP:
.R
Gather the requisite information for your network (IP, netmask, default gateway, etc.). If you plan to install in a VM, see
.ihtml a <a href="fqa3.html#3.3">
.I
FQA 3.3 - Virtual Machines.
.R
.ihtml a
.LP
.ihtml ul

In case of trouble, see:
.ihtml a <a href="fqa9.html">
.I
FQA 9 - Troubleshooting,
.ihtml a
.ihtml a <a href="fqa2.html#2.2.1">
.I
FQA 2.2.1 - Mailing List Archives
.R
.ihtml a

.html - <a name="4.2" />
.ihtml h2 <h2>
.SH
4.2 - Creating bootable 9front install media
.R
.ihtml h2

.html - <a name="4.2.1" />
.ihtml h3 <h3>
.SH
4.2.1 - ISO image
.R
.ihtml h3

Obtain the
.ihtml a <a href="fqa1.html#1.11.1">
.CW 9front.iso.
.ihtml a

Read:
.ihtml a <a href="fqa1.html#1.11.1">
.I
1.11.1 - Mirrors
.R
.ihtml a

.html - <a name="4.2.1.1" />
.ihtml h3 <h3>
.SH
4.2.1.1 - Creating on Plan 9
.R
.ihtml h3

Read: 
.ihtml a <a href="fqa8.html#8.6.2">
8.6.2 - Burn a CD-ROM
.ihtml a

.html - <a name="4.2.2" />
.ihtml h3 <h3>
.SH
4.2.2 - USB drive
.R
.ihtml h3

Booting from USB disk is handled the same way as booting from internal hard drive. There are two ways to create a bootable 9front USB:

1.) Write the ISO image directly to the USB device. Example:
.P1
cat 9front.iso >/dev/sdUxxxxx/data
.P2

2.) Alternately, the boot process is able to use an ISO image stored on a FAT file system as its root file system, so all that is needed is to install the
.ihtml a <a href="http://man.9front.org/8/9boot">
.CW 9boot(8)
.ihtml a
bootloader, a kernel and the
.CW 9front.iso
on the USB disk. The following sections describe this process on Plan 9 and Linux.

.html - <a name="4.2.2.1" />
.ihtml h4 <h4>
.SH
4.2.2.1 - Creating on Plan 9
.R
.ihtml h4

The path to your USB device will look something like this:
.CW
/dev/sdUxxxxx
.R
where
.CW
xxxxx
.R
is the unique name of your usb device.

Build and install the mbr and boot loader:
.P1
cd /sys/src/boot/pc	# 386 = pc, amd64 = pc64, etc.
mk 9bootfat mbr pbs
disk/mbr -m mbr /dev/sdUxxxxx/data
.P2

If it doesn't already exist, create and format a FAT partition. Don't forget to set the FAT partition active in the
.CW
fdisk
.R
menu:
.P1
disk/fdisk -b /dev/sdUxxxxx/data	# type '?' for help
disk/format -b pbs -d -r 2 /dev/sdUxxxxx/dos
.P2

Mount the USB device:
.P1
dossrv -f /dev/sdUxxxxx/dos sdos
mount -c /srv/sdos /n/dos
.P2

Create a suitable
.CW /n/dos/plan9.ini :
.P1
bootfile=9pc	# 386 = 9pc, amd64 = 9pc64, etc.
mouseport=ask
monitor=ask
vgasize=ask
.P2

.B
Note:
.R
By convention, Plan 9 usually expects text files to end with a newline. If the last line of plan9.ini is not a newline, it could fail to be parsed correctly at boot time.

Copy files to the USB device:
.P1
cp /386/9bootfat /n/dos
chmod +al /n/dos/9bootfat # defrag magic
cp /386/9pc /n/dos	# 386 = 9pc, amd64 = 9pc64, etc.
cp /path/to/9front.iso /n/dos
.P2

Optional for EFI systems:
.P1
cd /sys/src/boot/efi; mk install
mkdir -p /n/dos/efi/boot
cp /386/boot*.efi /n/dos/efi/boot
.P2

Unmount the USB device:
.P1
unmount /n/dos
rm -f /srv/sdos
.P2

Boot the device.

Read:
.ihtml a <a href="http://man.9front.org/8/prep">
.CW prep(8)
.ihtml a

.html - <a name="4.2.2.2" />
.ihtml h4 <h4>
.SH
4.2.2.2 - Creating on Linux
.R
.ihtml h4

.B Note:
There are numerous methods for creating bootable USB devices on Linux. This is one.

Obtain
.CW mbr ,
.CW pbs,
.CW 9bootfat
and
.CW 9pc
binaries. Either copy them from the distributed ISO image (the files are located under
.CW /386/ )
or build up to date binaries on a 9front system. Read:
.ihtml a <a href="fqa5.html#5.2.2">
.I
FQA 5.2.2 - Building from source
.R
.ihtml a

On the Linux system, create a
.CW $dir
that contains the following files:
.ihtml ul <ul>
.IP
.CW 9front.iso
.br
.CW
9pc	# 386 = 9pc, amd64 = 9pc64, etc.
.R
.br
.CW plan9.ini
(as described above)
.br
.CW 9bootfat
.br
.CW mbr
.br
.CW pbs
.LP
.ihtml ul

Optional for EFI systems, create the directory
.CW boot
in
.CW $dir
and copy the files
.CW bootia32.efi
and
.CW bootx64.efi
into it.

Use the
.ihtml a <a href="http://freshmeat.net/projects/makebootfat/">
makebootfat
.ihtml a
tool to create bootable device (ie.
.CW /dev/sdc ):
.P1
$ makebootfat -m $dir/mbr -b $dir/pbs -o /dev/sdc $dir
.P2
Copy the ISO to the device and then boot the device.

.html - <a name="4.2.2.3" />
.ihtml h4 <h4>
.SH
4.2.2.3 - Bootargs
.R
.ihtml h4

At the bootargs prompt you'll need to enter the path to the ISO on the USB device. It will look something like this:
.P1
bootargs=local!/shr/sdUxxxxx/9front.iso
.P2

If a USB device is not listed, escape to a shell with
.CW !rc ,
and
.CW
ls /shr
.R
to find it.

Read:
.ihtml a <a href="fqa9.html#9.5.1">
9.5.1 - Devices not recognized or not working
.ihtml a

.html - <a name="4.3" />
.ihtml h2 <h2>
.SH
4.3 - Performing a simple install
.R
.ihtml h2

There is nothing magical about installing Plan 9. It is simply a matter of populating a Plan 9 file system (
.CW cwfs
or
.CW hjfs
) and arranging a bootstrap to eventually load a Plan 9 kernel that can then use that file system as its root.

In most cases, the file server is the only machine that needs to have a disk. Once the initial file server is running, setting up an auth server, and enabling
.CW bootp
and
.CW tftp
for PXE booting, will allow Plan 9 terminals and cpu servers to load kernels from the file server and share its file system over the network.

.B
Note:
.R
This guide describes the default installation of a terminal with disk, which is an amalgamation of a normal Plan 9 network, but is sufficient for exploring the basics of using Plan 9. Configuration of additional services (such as a file server with networking listeners, a cpu server, etc.) is outlined in
.ihtml a <a href="fqa7.html">
.I
FQA 7 - System Management.
.R
.ihtml a

To install 9front, boot the
.CW 9front.iso
image and follow the steps below.

.html - <a name="4.3.1" />
.ihtml h3 <h3>
.SH
4.3.1 - boot
.R
.ihtml h3

Successfully booting the system will result in basic information about the state of the system being printed on screen:
.P1
Plan 9
126 holes free
00018000 0009f000 552960
00485000 0cf2c000 212496384
213049344 bytes free
cpu0: 3395MHz GenuineIntel P6
ELCR: 0E20
#l0: AMD79C970: 10Mbps port 0x2000 irq 10: 000c291d0baf
mylex ctlr @ port 0x10c0: 32-bit wide SCSI host adapter
512M memory: 207M kernel data, 304M user, 929M swap
nusb/usbd: /dev/usb: no hubs
.P2

.html - <a name="4.3.2" />
.ihtml h3 <h3>
.SH
4.3.2 - bootargs
.R
.ihtml h3

A list of attached storage devices is printed, followed by a prompt asking for a Plan 9 partition to boot from:
.P1
/dev/sdC0: VMware Virtual IDE Hard Drive
/dev/sdC0/data
/dev/sdD0: VMware Virtual IDE CDROM Drive
/dev/sdD0/data 9660
bootargs is (tcp, il, local!device) [local!/dev/sdD0/data]
.P2

In most cases, the suggested default will correspond to the device used to boot the ISO image.

.html - <a name="4.3.3" />
.ihtml h3 <h3>
.SH
4.3.3 - user
.R
.ihtml h3

Next, a prompt asks for a username:
.P1
user[glenda]:
.P2

Glenda is the default
.CW hostowner
name. Don't change this until you know what you are doing. Hit
.CW enter
to accept the default.

.B
Note:
.R
The
.CW hostowner
differs from the concept of
.CW root
on a UNIX system, where a single user
.CW root
may take control of all processes
.I and
files on the system. By contrast, even the
.CW hostowner
of a Plan 9 file server cannot violate file permissions on the file system, except when permissions checking is disabled on the console or when entering special commands at the console of the file server. The
.CW hostowner
controls only the
.I processes
running on the local machine (in the case of the filserver, the file server process itself is obviously owned by the system's \f(CW hostowner\fR). This fundamental separation between control of processes and file permissions is exploited throughout the system, but can be confusing for users coming from a UNIX background.

.html - <a name="4.3.4" />
.ihtml h3 <h3>
.SH
4.3.4 - vgasize, monitor, mouseport
.R
.ihtml h3

The next set of prompts deal with graphics display and the mouse:
.P1
vgasize is (text, 640x480x8, 1024x768x16, ...) [1024x768x16]
monitor is (vesa, xga, lcd, ...) [vesa]
mouseport is (ps2, ps2intellimouse, 0, 1, 2) [ps2]
.P2

The boot process prompts for the environment variables
.CW $vgasize ,
.CW $monitor
and
.CW $mouseport ,
and the installer will later write those values to the system's
.CW plan9.ini ,
from which they are loaded on subsequent system bootup.

Setting
.CW $monitor
to anything besides
.CW vesa
will bypass the emulated VESA BIOS and attempt to use a native VGA driver for the video card in question. Read:
.ihtml a <a href="http://git.9front.org/plan9front/plan9front/HEAD/lib/vgadb/f.html">
.CW /lib/vgadb
.ihtml a
for a list of monitors and video cards that are already known by the system; and the man pages
.ihtml a <a href="http://man.9front.org/3/vga">
.CW vga(3) ,
.ihtml a
.ihtml a <a href="http://man.9front.org/8/vga">
.CW vga(8)
.ihtml a
and
.ihtml a <a href="http://man.9front.org/6/vgadb">
.CW vgadb(6)
.ihtml a
for more information about how graphical displays are configured.

The default
.CW $mouseport
of
.CW ps2
is sufficient in most cases.
Set it to
.CW ps2intellimouse
on laptops or for mice that have a scrollwheel.

.B Note:
Some laptops require the trackpad to be disabled in the BIOS in order for mouse button 2 (the center button) to function in Plan 9. In a pinch, mouse button 2 may be simulated by holding down the
.CW shift
key while clicking mouse button 3 (the right button).

After the install, changes intended to persist across reboots should be added to
.CW plan9.ini .

Examples:

Values as they appear in
.CW plan9.ini:
.P1
monitor=vesa
vgasize=1024x768x16
mouseport=ps2intellimouse
.P2

Read:
.ihtml a <a href="http://man.9front.org/8/mouse">
.CW mouse(8) ,
.ihtml a
.ihtml a <a href="http://man.9front.org/3/vga">
.CW vga(3) ,
.ihtml a
.ihtml a <a href="http://man.9front.org/6/vgadb">
.CW vgadb(6) ,
.ihtml a
.ihtml a <a href="http://man.9front.org/8/plan9.ini">
.CW plan9.ini(8) ,
.ihtml a
.ihtml a <a href="http://man.9front.org/8/realemu">
.CW realemu(8) ,
.ihtml a
.ihtml a <a href="http://man.9front.org/8/vga">
.CW vga(8) ,
.ihtml a
.ihtml a <a href="fqa7.html#7.2.2.html">
.I
FQA 7.2.2 - How do I modify plan9.ini?
.R
.ihtml a

After the
.CW mouseport
prompt is answered, the boot process will attempt to start the Plan 9 graphical environment,
.ihtml a <a href="http://man.9front.org/1/rio">
.CW rio(1),
.ihtml a
opening a
.ihtml a <a href="http://man.9front.org/8/stats">
.CW stats(8)
.ihtml a
window and a
.CW rio
window on top of a gray desktop background.

.FG livecdrio jpg

.html - <a name="4.3.4.1" />
.ihtml h4 <h4>
.SH
4.3.4.1 - Changing screen resolution
.R
.ihtml h4

At this point it may be desireable to change the screen resolution. To change video mode from the command line:

vesa:

.B Note:
Only valid modes listed in the VESA BIOS may be used.
.P1
# obtain a list of vesa bios modes
@{rfork n; aux/realemu; aux/vga -p}
# configure one of the valid modes
@{rfork n; aux/realemu; aux/vga -m vesa -l 1024x768x16}
.P2

vga:
.P1
aux/vga -m dellst2210 -l 1920x1080x32
.P2

.html - <a name="4.3.5" />
.ihtml h3 <h3>
.SH
4.3.5 - inst/start
.R
.ihtml h3

Installation is performed by the rc scripts in
.CW /rc/bin/inst .
To begin the installation, type
.CW inst/start
in the terminal window. Follow the prompts to complete the installation, selecting the defaults where appropriate.

.B Note:
Any task may be repeated by manually entering its name at the next
.CW
Task to do
.R
prompt.

.P1
term% inst/start
Tue Jul 17 12:38:50 CET 2012 Installation process started
.P2

The following
.CW
Task to do
.R
steps are handled one at a time:

.html - <a name="4.3.6" />
.ihtml h3 <h3>
.SH
4.3.6 - configfs
.R
.ihtml h3
.P1
You can install the following types of systems:

     cwfs64x     the cached-worm file server
     hjfs        the new 9front file server (experimental!)

File system (cwfs64x, hjfs)[cwfs64x]:
.P2

.B Note:
The
.CW cwfs64x
file server uses 16KB blocks, with its cache and permanent storage locate on separate partitions. The
.CW hjfs
file server uses 4KB blocks, with its cache and permanent storage located on the same partition. If you are installing to a disk of less than 12GB, you should choose
.CW hjfs .

.B However:
The
.CW hjfs
file system is relatively slow, and performance will degrade due to fragmentation as the disk fills up.
.I
The valuable lesson is that you can get what you want and still not be very happy.
.R
\(em Pope
.ihtml a <a href="https://en.wikipedia.org/wiki/Cerebus_the_Aardvark">
Cerebus
.ihtml a

In this example we will press
.CW enter
to accept
.CW cwfs64x
as the default.

.html - <a name="4.3.6.1" />
.ihtml h3 <h3>
.SH
4.3.6.1 - cwfs no-dump configuration
.R
.ihtml h3

A cheap VPS or an SD card lack the storage capacity for running a usable
default
.ihtml a <a href="http://man.9front.org/4/cwfs">
.CW
cwfs(4)
.R
.ihtml a
setup with a big WORM partition and daily dumps.
The go-to solution is the
.ihtml a <a href="http://man.9front.org/4/hjfs">
.CW
hjfs(4)
.R
.ihtml a
file system, which doesn't
use a dedicated WORM partition and doesn't do daily dumps by default.
However, it has several performance problems and is not as well tested.

The
.CW cwfs
file system can be configured in lots of ways beyond the
default cache-worm + other configuration supported by the 9front
installer.

The desired configuration we're going to cover is a single
.CW main
file server tree backed by a simple disk file system - the same type
used by the
.CW other
tree in the default setup.

To do this we're going to partition the disk appropriately and override
the
.CW mountcwfs
stage of the 9front installer with a replacement script
.ihtml a <a href="http://plan9.stanleylieber.com/rc/mountcwfs">
http://plan9.stanleylieber.com/rc/mountcwfs
.ihtml a
that will configure
.CW cwfs
appropriately. The rest of the installation and most of the
subsequent system operation remain unaffected.

Start by booting from the installation media. Configure networking
with
.CW ip/ipconfig(8)
and fetch the replacement
.CW mountcwfs
script,
or put the script on a flash drive:
.P1
% webfs
% ramfs
% hget http://plan9.stanleylieber.com/rc/mountcwfs >/tmp/mountcwfs
% chmod +x /tmp/mountcwfs
.P2
Override the
.CW mountcwfs
stage using
.CW bind(1):
.P1
bind /tmp/mountcwfs /bin/inst/mountcwfs
.P2
Run
.CW inst/start
and complete the stages up to
.CW preppart
as you would
normally.  At
.CW preppart,
delete the default partitions and create one
named
.CW fsmain
with a desired size:
.P1
d other
d fscache
d fsworm
a fsmain 123456 .+100%
w
q
.P2
Make sure to "ream" the new partition at the next step.

Complete the rest of the installation, reboot. That is all.

.html - <a name="4.3.7" />
.ihtml h3 <h3>
.SH
4.3.7 -  partdisk
.R
.ihtml h3
.P1
The following disk devices were found.

sdC0 - VMware Virtual IDE Hard Drive
   empty                  0 3916        (3916 cylinders, 29.99 GB) 

sdD0 - VMware Virtual IDE CDROM Drive

Disk to partition (sdC0, sdD0)[no default]:
.P2

Enter the media you wish to install to.
.P1
Disk to partition (sdC0, sdD0)[no default]: sdC0
The disk you selected HAS NO master boot record on its first sector.
(Perhaps it is a completely blank disk.)
Shall we create a blank EFI partition table (GPT)
or install traditional DOS partition table (MBR)?
.P2

Assuming a blank disk image, install a fresh mbr:
.P1
Install mbr or gpt (mbr, gpt)[no default]: mbr

This is disk/fdisk; use it to create a Plan 9 partition.
If there is enough room, a Plan 9 partition will be
suggested; you can probably just type 'w' and then 'q'.

cylinder = 8225280 bytes
'* p1                     0 3916        (3916 cylinders, 29.99 GB) PLAN9
>>>
.P2

For this example we will use the entire disk. Accept the defaults.
.P1
>>> w
>>> q
.P2

.html - <a name="4.3.8" />
.ihtml h3 <h3>
.SH
4.3.8 - prepdisk
.R
.ihtml h3
.P1
The following Plan 9 disk partitions were found.

/dev/sdC0/plan9
  empty                  0 62910477    (62910477 sectors, 29.99 GB)

Plan 9 partition to subdivide (/dev/sdC0/plan9)[no default]: 
.P2

Use the Plan 9 partition created in the previous step. Type
.CW /dev/sdC0/plan9
and hit
.CW enter.

.P1
This is disk/prep; use it to subdivide the Plan 9 partition.
If it is not yet subdivided, a sensible layout will be suggested;
you can probably just type
.CW w
and then
.CW q.

no plan9 partition table found
9fat 204800
nvram 1
other 8957953
fscache 8957953
fsworm 44789770
' 9fat                   0 204800      (204800 sectors, 100.00 MB)
' nvram             204800 204801      (1 sectors, 512 B )
' other             204801 9162754     (8957953 sectors, 4.27 GB)
' fscache          9162754 18120707    (8957953 sectors, 4.27 GB)
' fsworm          18120707 62910477    (44789770 sectors, 21.35 GB)
>>>
.P2

Again, accept the defaults.
.P1
>>> w
>>> q
.P2

.html - <a name="4.3.9" />
.ihtml h3 <h3>
.SH
4.3.9 - mountfs
.R
.ihtml h3
.P1
The please choose your cwfs64x partitions
.P2

Hit
.CW enter
to select each partition at the prompt.
.P1
--rw-r----- S 0 glenda glenda 4586471936 Jul  4 13:28 /dev/sdC0/fscache

Cwfs cache partition (/dev/sdC0/fscache)[/dev/sdC0/fscache]: 
--rw-r----- S 0 glenda glenda 22932362240 Jul  4 13:28 /dev/sdC0/fsworm

Cwfs worm partition (/dev/sdC0/fsworm)[/dev/sdC0/fsworm]: 
--rw-r----- S 0 glenda glenda 4586471936 Jul  4 13:28 /dev/sdC0/other

Cwfs other partition (/dev/sdC0/other)[/dev/sdC0/other]: 
.P2

Since this is a fresh install, we choose
.CW yes
to ream (format) the file system:
.P1
Ream the file system? (yes, no)[no]: yes
Starting cwfs64x file server for /dev/sdC0/fscache
Reaming file system
bad nvram key
bad authentication id
bad authentication domain
nvrcheck: can't read nvram
config: config: config: auth is now disabled
config: config: config: config: config: config: current fs is "main"
cmd_users: cannot access /adm/users
63-bit cwfs as of Wed Jul  4 00:59:30 2012
	last boot Tue Jul 17 13:34:57 2012
Configuering cwfs64x file server for /dev/sdC0/fscache
Mounting cwfs64x file server for /dev/sdC0/fscache
% mount -c /srv/cwfs /n/newfs
Mounting cwfs64x file server for /dev/sdC0/other
% mount -c /srv/cwfs /n/other other
.P2

.html - <a name="4.3.10" />
.ihtml h3 <h3>
.SH
4.3.10 - configdist
.R
.ihtml h3
.P1
Are you going to download the distribution
from the internet or do you have it on local media?

Distribution is from (local, net)[local]: 
.P2

We are installing from local media, so,
.CW local .
Hit
.CW enter
to accept the default.

.B Note:
The
.CW net
option attempts to download the ISO from the Internet and install it directly to disk. Since the installer is most likely already running from an ISO image, this option may prove to be of limited utility. The option is somewhat experimental, and may work. Attempt it at your own risk.

[Continued on next page]
.bp
.html - <a name="4.3.11" />
.ihtml h3 <h3>
.SH
4.3.11 - confignet
.R
.ihtml h3
.P1
You can connect to the internet via a local ethernet connection.

We will configure the ethernet.

Please choose a method for configuring your ethernet connection.

	manual - specify IP address, network mask, gateway IP address
	automatic - use DHCP and SLAAC to automatically configure

Configuration method (manual, automatic)[automatic]:
.P2

.html - <a name="4.3.11.1" />
.ihtml h4 <h4>
.SH
4.3.11.1 - automatic
.R
.ihtml h4

Hit
.CW enter
to move on to the next task.

.html - <a name="4.3.11.2" />
.ihtml h4 <h4>
.SH
4.3.11.2 - manual
.R
.ihtml h4

If you chose
.CW manual ,
enter values that are appropriate for your network.
.P1
Configuration method (manual, automatic)[automatic]: manual
ip address [no default]: 10.0.2.15
network mask [no default]: 255.255.255.0
gateway address [no default]: 10.0.2.2
.P2

.html - <a name="4.3.12" />
.ihtml h3 <h3>
.SH
4.3.12 - mountdist
.R
.ihtml h3
.P1
Please wait... Scanning storage devices...
	/dev/sdC0/9fat
	/dev/sdC0/data
	/dev/sdC0/fscache
	/dev/sdC0/fsworm
	/dev/sdC0/other
	/dev/sdD0/data

The following storage media were detected.
Choose the one containing the distribution.

	/dev/sdD0/data (iso9660 cdrom)

Distribution disk (/dev/sdD0/data, /dev/sdC0/fscache, /)[no default]: 
.P2

The CD-ROM is already mounted at
.CW / ,
so type
.CW /
and hit
.CW enter.

.P1
% mount /srv/boot /n/distmedia

Which directory contains the distribution?
Any of the following will suffice (in order of preference):
	- the root directory of the cd image
	- the directory containing 9front.iso
	- the directory containing 9front.iso.bz2

Location of archives [/]: 
.P2

And again, the root directory of the CD-ROM is already mounted at
.CW / ,
so hit
.CW enter
to choose the default.

.P1
% mount /srv/boot /n/distmedia

Which directory contains the distribution?
Any of the following will suffice (in order of preference):
	- the root directory of the cd image
	- the directory containing 9front.iso
	- the directory containing 9front.iso.bz2

Location of archives [/]: 
.P2

Hit
.CW enter .

.ihtml h3 <h3>
.SH
4.3.13 - copydist
.R
.ihtml h3
Hit
.CW enter
at the
.CW copydist
prompt to begin the process of copying the distribution files from the install media to the hard disk.
.P1
processing /sys/lib/sysconfig/proto/allproto
.P2

.B ACHTUNG!
Currently, there is no progress meter. For systems without DMA, the
.CW copydist
task may exceed one hour in duration. Disk activity may be verified by inspecting the
.ihtml a <a href="http://man.9front.org/8/stats">
.CW stats(8)
.ihtml a
window.

Eventually, you should see the following:
.P1
file system made
.P2

This indicates that the system files have completed copying to the install target.

.html - <a name="4.3.14" />
.ihtml h3 <h3>
.SH
4.3.14 - ndbsetup
.R
.ihtml h3
.P1
Setup network configuration

sysname [cirno]: 
.P2

Use a system name of your choice, or just hit
.CW enter
to select the default.

.html - <a name="4.3.15" />
.ihtml h3 <h3>
.SH
4.3.15 - tzsetup
.R
.ihtml h3
.P1
Setup Time Zone

Time Zone (Argentina, Australia_ACT, Australia_Broken-Hill,
Australia_LHI, Australia_NSW, Australia_North, Australia_Queensland,
Australia_South, Australia_Sturt, Australia_Tasmania,
Australia_Victoria, Australia_West, Australia_Yancowinna, Brazil_Acre,
Brazil_DeNoronha, Brazil_East, Brazil_West, CET, Canada_Atlantic,
Canada_Central, Canada_East-Saskatchewan, Canada_Eastern,
Canada_Mountain, Canada_Newfoundland, Canada_Pacific, Canada_Yukon,
Chile_Continental, Chile_EasterIsland, Cuba, EET, Egypt, GB-Eire, GMT,
HST, Hongkong, Iceland, Iran, Israel, Jamaica, Japan, Libya,
Mexico_BajaNorte, Mexico_BajaSur, Mexico_General, NZ, NZ_CHAT, Navajo,
PRC, Poland, ROC, ROK, Singapore, Turkey, US_Alaska, US_Arizona,
US_Central, US_East-Indiana, US_Eastern, US_Hawaii, US_Michigan,
US_Mountain, US_Pacific, US_Yukon, W-SU, WET)[US_Eastern]: 
.P2

Daylight saving time (DST) is handled automatically. Type your chosen time zone and hit
.CW enter .

.html - <a name="4.3.16" />
.ihtml h3 <h3>
.SH
4.3.16 - bootsetup
.R
.ihtml h3
.P1
Setup Plan 9 FAT boot partition (9fat)

Plan 9 FAT partition (/dev/sdC0/9fat)[/dev/sdC0/9fat]:
.P2

Hit
.CW enter
to accept the default. Any environment variables entered at the
.CW >
prompt during boot, as well as settings configured during install will now be written to
.CW /n/9fat/plan9.ini
and the kernel will be copied to the
.CW 9fat
partition.

[Continued on next page]

.P1
dossrv: serving #s/dos
Initializing Plan 9 FAT partition.
% disk/format -r 2 -d -b /386/pbs /dev/sdC0/9fat
Initializing FAT file system
type hard, 12 tracks, 255 heads, 63 sectors/track, 512 bytes/sec
used 4096 bytes
% mount -c /srv/dos /n/9fat /dev/sdC0/9fat
% rm -f /n/9fat/9bootfat /n/9fat/plan9.ini /n/9fat/9pc
% cp /n/newfs/386/9bootfat /n/9fat/9bootfat
% chmod +al /n/9fat/9bootfat
% cp /tmp/plan9.ini /n/9fat/plan9.ini
% cp /n/newfs/386/9pc /n/9fat/9pc

If you use the Windows NT/2000/XP master boot record
or a master boot record from a Unix clone (e.g., LILO or
FreeBSD bootmgr), it is probably safe to continue using
that boot record rather than install the Plan 9 boot record.
.P2

Since we are not installing on a disk with a pre-existing Windows installation, we choose to install the Plan 9 master boot record and mark the partition active:
.P1
Install the Plan 9 master boot record (yes, no)[no default]: yes
Mark the Plan 9 partition active (yes, no)[no default]: yes

The Plan 9 partition is now marked as active.
.P2

.html - <a name="4.3.17" />
.ihtml h3 <h3>
.SH
4.3.17 - finish
.R
.ihtml h3

The final task is to remove (or disable) the CD-ROM and finish by hitting
.CW enter
to reboot the machine.

Congratulations, you've just installed a 9front system!

Now your cat goes to sleep on the keyboard.

.FG cinapcatdrawing png
.bp
.html - <a name="4.4" />
.ihtml h2 <h2>
.SH
4.4 - Encrypted Partitions
.R
.ihtml h2
.html - <br />
.FG cryptsetup jpg

9front supports booting from encrypted
.CW fsworm ,
.CW fscache
and
.CW other
partitions. The following assumes a hard drive
.CW /dev/sdC0:
.ihtml ul <ul>
.IP
• Begin the installation process as normal by booting
.CW
.ihtml a <a href="fqa1.html#1.11.1">
9front.iso.
.ihtml a
.R

• During
.CW partdisk
and
.CW prepdisk ,
create the
.CW fsworm ,
.CW fscache
and
.CW other
partitions as normal.

• At the
.CW mountfs
prompt, enter
.CW !rc
to drop to a shell prompt.

• Format and activate the encrypted partitions (generates new encryption key):
.P1
disk/cryptsetup -f /dev/sdC0/fsworm /dev/sdC0/fscache /dev/sdC0/other
disk/cryptsetup -i /dev/sdC0/fsworm /dev/sdC0/fscache /dev/sdC0/other
.P2
.IP
• Type
.CW exit
to resume the installation.

• During
.CW mountfs ,
select the partitions under
.CW /dev/fs
instead of the ones under
.CW /dev/sdC0 .

• During the rest of the installation, select the defaults, where appropriate.

• During post-installation boot, at the
.CW bootargs
prompt, type
.CW !rc
to drop to a shell prompt.

• Activate the encrypted partitions (prompts for password):
.P1
disk/cryptsetup -i /dev/sdC0/fsworm /dev/sdC0/fscache /dev/sdC0/other
.P2
.IP
• Type
.CW exit
to resume booting.

• At the
.CW bootargs
prompt, enter
.CW local!/dev/fs/fscache
to continue booting from the encrypted partition.
.LP
.ihtml ul

.B Note:
Encrypted partitions are largely untested with
.CW cwfs .
Data integrity is not guaranteed. Use at your own risk.

Encrypted partitions have not been tested at all with
.CW hjfs .

Read:
.ihtml a <a href="http://man.9front.org/8/cryptsetup">
.CW cryptsetup(8)
.ihtml a

.html - <hr />
.html - <a href="fqa.html">FQA INDEX</a> |
.html - <a href="fqa3.html">FQA 3 - Hardware</a> |
.html - <a href="fqa5.html">FQA 5 - Building The System From Source</a>