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
|
.TH INSTALL 1
.SH NAME
install \- notes about Plan 9 from User Space installation
.SH SYNOPSIS
.B
cd \*9; ./INSTALL
.SH DESCRIPTION
To obtain the Plan 9 tree, use CVS
(see
.IR cvs (1))
or download a tar file from
.HR http://swtch.com/plan9port "" .
.PP
In the root of the tree, run
.BR ./INSTALL .
This script first uses
.IR make (1)
to build the Plan 9 build program
.IR mk (1)
if necessary.
It cleans all previously built object files and libraries out of the tree,
rebuilds and installs everything, and then cleans up.
.PP
There are a few files in tree which have the root
hard-coded in them.
After the build,
.I INSTALL
edits these files to replace the string
.B /usr/local/plan9
with the name of the root of the current tree.
.PP
Finally,
.I INSTALL
builds an HTML version of the manual and installs it in
.BR \*9/man .
.PP
.I INSTALL
can safely be repeated to rebuild the system from scratch.
.PP
At the end of the build,
.I INSTALL
prints suggested settings for the environment variables
.B $PLAN9
and
.BR $PATH .
After setting those, the script
.B $PLAN9/dist/isum
will print a short summary of the installation output,
omitting the usual command chatter but preserving
compiler warnings and errors.
.PP
Plan 9 from User Space uses different threading implementations on Linux 2.6 and
later kernels than on 2.4 and earlier;
and on FreeBSD 5 and later kernels than on FreeBSD 4 and earlier.
Running binaries from one class on another will not work.
.PP
Some Linux 2.6 systems (e.g., Gentoo) do not use the new NPTL pthread library
even though the kernel supports them. On these systems, plan9port must
fall back on the threading code intended for Linux 2.4. To accomplish this,
.I INSTALL
checks whether the running system uses NPTL and sets
.B SYSVERSION
in
.B \*9/config
accordingly.
The file
.B \*9/LOCAL.config
is appended to
.B config
after this auto-detection and can be used to override the choices.
If
.B LOCAL.config
contains a line
.B WSYSTYPE=nowsys
then the system is built without using X11.
.PP
Once the system is built for the first time,
it can be maintained and rebuilt using
.IR mk (1).
.SH FILES
.TP
.B \*9/lib/moveplan9.files
the list of files that need to have
.B /usr/local/plan9
edited out of them
.TP
.B \*9/lib/moveplan9.sh
the script that edits the files
.TP
.B \*9/src/mkmk.sh
the shell script used to build
.IR mk (1)
.TP
.B \*9/dist/manweb
the shell script that builds the HTML manual
.TP
.B \*9/man/index.html
the top-level page in the HTML version of the manual
.TP
.B \*9/install.log
logged output from the last run of
.I INSTALL
.SH SEE ALSO
.IR intro (1),
.IR cvs (1)
|