Blob


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