rsc | bdbc55d | 2005-11-28 16:36:57 +0000 | [diff] [blame] | 1 | |
| 2 | INSTALL(1) INSTALL(1) |
| 3 | |
| 4 | NAME |
| 5 | install - notes about Plan 9 from User Space installation |
| 6 | |
| 7 | SYNOPSIS |
rsc | 2e8a63f | 2005-12-30 19:22:07 +0000 | [diff] [blame] | 8 | cd /usr/local/plan9; ./INSTALL [ -b | -c ] |
rsc | bdbc55d | 2005-11-28 16:36:57 +0000 | [diff] [blame] | 9 | |
| 10 | DESCRIPTION |
| 11 | To obtain the Plan 9 tree, use CVS (see cvs(1)) or download |
| 12 | a tar file from http://swtch.com/plan9port. |
| 13 | |
rsc | 2e8a63f | 2005-12-30 19:22:07 +0000 | [diff] [blame] | 14 | The tree can be unpacked anywhere, but the usual place is |
| 15 | /usr/local/plan9. In the root of the tree, run ./INSTALL. |
| 16 | This script builds the Plan 9 build program mk(1) if neces- |
| 17 | sary, cleans all previously built object files and libraries |
| 18 | out of the tree, rebuilds and installs everything, and then |
| 19 | cleans up. |
rsc | bdbc55d | 2005-11-28 16:36:57 +0000 | [diff] [blame] | 20 | |
| 21 | There are a few files in tree which have the root hard-coded |
| 22 | in them. After the build, INSTALL edits these files to |
| 23 | replace the string /usr/local/plan9 with the name of the |
| 24 | root of the current tree. |
| 25 | |
| 26 | Finally, INSTALL builds an HTML version of the manual and |
| 27 | installs it in /usr/local/plan9/man. |
| 28 | |
rsc | 2e8a63f | 2005-12-30 19:22:07 +0000 | [diff] [blame] | 29 | The installation can be thought of as two steps: build all |
| 30 | the binaries, and then edit files as necessary to fix the |
| 31 | references to the installation root. If necessary, these |
| 32 | can be run separately. Given the -b flag, INSTALL performs |
| 33 | only the first step. Given the -c flag, INSTALL performs |
| 34 | only the second step. The first step can be done with the |
| 35 | tree in a temporary work directory, but the second step must |
| 36 | be done once the tree is in its final location. These flags |
| 37 | are only necessary when trying to conform to the expecta- |
| 38 | tions of certain package management systems. |
rsc | bdbc55d | 2005-11-28 16:36:57 +0000 | [diff] [blame] | 39 | |
rsc | 2e8a63f | 2005-12-30 19:22:07 +0000 | [diff] [blame] | 40 | At the end of the installation, INSTALL prints suggested |
| 41 | settings for the environment variables $PLAN9 and $PATH. |
rsc | bdbc55d | 2005-11-28 16:36:57 +0000 | [diff] [blame] | 42 | |
| 43 | Plan 9 from User Space uses different threading implementa- |
| 44 | tions on Linux 2.6 and later kernels than on 2.4 and ear- |
| 45 | lier; and on FreeBSD 5 and later kernels than on FreeBSD 4 |
| 46 | and earlier. Running binaries from one class on another |
| 47 | will not work. |
| 48 | |
| 49 | Some Linux 2.6 systems (e.g., Gentoo) do not use the new |
| 50 | NPTL pthread library even though the kernel supports them. |
| 51 | On these systems, plan9port must fall back on the threading |
| 52 | code intended for Linux 2.4. To accomplish this, INSTALL |
| 53 | checks whether the running system uses NPTL and sets |
rsc | 2e8a63f | 2005-12-30 19:22:07 +0000 | [diff] [blame] | 54 | |
| 55 | Page 1 Plan 9 (printed 12/30/05) |
| 56 | |
| 57 | INSTALL(1) INSTALL(1) |
| 58 | |
rsc | bdbc55d | 2005-11-28 16:36:57 +0000 | [diff] [blame] | 59 | SYSVERSION in /usr/local/plan9/config accordingly. The file |
| 60 | /usr/local/plan9/LOCAL.config is appended to config after |
| 61 | this auto-detection and can be used to override the choices. |
| 62 | If LOCAL.config contains a line WSYSTYPE=nowsys then the |
| 63 | system is built without using X11. |
| 64 | |
rsc | 2e8a63f | 2005-12-30 19:22:07 +0000 | [diff] [blame] | 65 | INSTALL can safely be repeated to rebuild the system from |
| 66 | scratch. |
rsc | bdbc55d | 2005-11-28 16:36:57 +0000 | [diff] [blame] | 67 | |
| 68 | Once the system is built for the first time, it can be main- |
rsc | 2e8a63f | 2005-12-30 19:22:07 +0000 | [diff] [blame] | 69 | tained and rebuilt using mk(1). To rebuild individual com- |
| 70 | mands or libraries, run mk install and mk clean in the |
| 71 | appropriate source directory (see src(1)). |
rsc | bdbc55d | 2005-11-28 16:36:57 +0000 | [diff] [blame] | 72 | |
| 73 | FILES |
| 74 | /usr/local/plan9/lib/moveplan9.files |
| 75 | the list of files that need to have /usr/local/plan9 |
| 76 | edited out of them |
| 77 | |
| 78 | /usr/local/plan9/lib/moveplan9.sh |
| 79 | the script that edits the files |
| 80 | |
| 81 | /usr/local/plan9/src/mkmk.sh |
| 82 | the shell script used to build mk(1) |
| 83 | |
| 84 | /usr/local/plan9/dist/manweb |
| 85 | the shell script that builds the HTML manual |
| 86 | |
| 87 | /usr/local/plan9/man/index.html |
| 88 | the top-level page in the HTML version of the manual |
| 89 | |
| 90 | /usr/local/plan9/install.log |
| 91 | logged output from the last run of INSTALL |
| 92 | |
rsc | 2e8a63f | 2005-12-30 19:22:07 +0000 | [diff] [blame] | 93 | /usr/local/plan9/install.isum |
| 94 | a summary of install.log |
| 95 | |
rsc | bdbc55d | 2005-11-28 16:36:57 +0000 | [diff] [blame] | 96 | SEE ALSO |
| 97 | intro(1), cvs(1) |
| 98 | |
rsc | 2e8a63f | 2005-12-30 19:22:07 +0000 | [diff] [blame] | 99 | Page 2 Plan 9 (printed 12/30/05) |
rsc | bdbc55d | 2005-11-28 16:36:57 +0000 | [diff] [blame] | 100 | |