blob: 8a3155e708aafcbf9133d071e8e6b05feda60842 [file] [log] [blame]
rsc4ef9ff62005-01-14 20:13:27 +00001.TH INSTALL 1
2.SH NAME
3install \- notes about Plan 9 from User Space installation
4.SH SYNOPSIS
5.B
6cd \*9; ./INSTALL
7.SH DESCRIPTION
8To obtain the Plan 9 tree, use CVS
9(see
10.IR cvs (1))
11or download a tar file from
12.HR http://swtch.com/plan9port "" .
13.PP
14In the root of the tree, run
15.BR ./INSTALL .
16This script first uses
17.IR make (1)
18to build the Plan 9 build program
19.IR mk (1)
20if necessary.
21It cleans all previously built object files and libraries out of the tree,
22rebuilds and installs everything, and then cleans up.
23.PP
24There are a few files in tree which have the root
25hard-coded in them.
26After the build,
27.I INSTALL
28edits these files to replace the string
29.B /usr/local/plan9
30with the name of the root of the current tree.
31.PP
32Finally,
33.I INSTALL
34builds an HTML version of the manual and installs it in
35.BR \*9/man .
36.PP
37.I INSTALL
38can safely be repeated to rebuild the system from scratch.
rsc3dc1ecc2005-01-14 21:09:40 +000039.PP
40The system uses different threading implementations on Linux 2.6 and
41later kernels than on 2.4 and earlier;
42and on FreeBSD 5 and later kernels than on FreeBSD 4 and earlier.
rscb04c42e2005-01-17 21:32:55 +000043Running binaries from one class on another will not work.
44.PP
45Some Linux 2.6 systems (e.g., Gentoo) do not use the new NPTL pthread library
46even though the kernel supports them. On these systems, plan9port must
47fall back on the threading code intended for Linux 2.4. To accomplish this,
48.I INSTALL
49checks whether the running system uses NPTL and sets
50.B SYSVERSION
51in
52.B \*9/config
53accordingly.
rsc4ef9ff62005-01-14 20:13:27 +000054.SH FILES
55.TP
56.B \*9/lib/moveplan9.files
57the list of files that need to have
58.B /usr/local/plan9
59edited out of them
60.TP
61.B \*9/lib/moveplan9.sh
62the script that edits the files
63.TP
64.B \*9/src/mkmk.sh
65the shell script used to build
66.IR mk (1)
67.TP
68.B \*9/dist/manweb
69the shell script that builds the HTML manual
70.TP
71.B \*9/man/index.html
72the top-level page in the HTML version of the manual
73.SH SEE ALSO
74.IR intro (1),
75.IR cvs (1)