1 Install(1ONBLD) illumos Build Tools Install(1ONBLD)
2
3
4
5 NAME
6 Install - install a kernel from an ON workspace
7
8 SYNOPSIS
9 Install [ -w workspace ] [ -s source dir ]
10 [ -k kernel arch ] [ -n | -t|T target ]
11 [ -u|m|a ] [ -v|V|q ] [ -c|p ]
12 [ -l library file ] [ -L ] [ -3 ] [ -6 ] [ -K ]
13 [ -o { obj | debug } ] [ -d work dir ]
14 [ -D library dir ] [ -G glomname ] [ module ... ]
15
16 or
17
18 Install -R [ options ]
19
20 DESCRIPTION
21 Install is a utility which simplifies the process of installing a 5.0
22 system. Install goes into a built ON workspace (or any kernel source
23 tree), looks at the Makefiles, and figures out how to construct the
24 /kernel and /usr/kernel directories. It then creates a tarfile (see
25 tar(1)) containing /kernel, /usr/kernel, and a few related /etc files.
26 If a target ([user@]machine:/dir) is specified, the tarfile is either
27 copied to machine:/dir (-T) or untarred on machine in /dir (-t), using
28 the remote user id user, if specified. With no options, Install
29 creates a sun4c system from files in the current workspace (as
30 indicated by $SRC) and places the tarfile in
31 /tmp/Install.username/Install.sun4c.tar.
32
33
34 OPTIONS
35 -w ws Install the system built in the ON workspace ws. ws
36 must be a built ON workspace -- Install will not
37 automatically invoke make(1). If -w is not
38 specified, Install uses the current workspace (as
39 indicated by $CODEMGR_WS). If there is no current
40 workspace, Install checks to see if you are in an
41 appropriate source directory, e.g. uts/sun4c; if
42 so, Install takes files from there. Otherwise,
43 Install looks for files under $SRC/uts.
44
45 -s source directory where to look for files [default: $SRC/uts].
46
47 -k kernel arch the type of kernel to install. The default is
48 sun4c; however, if you invoke Install from
49 $SRC/uts/sun4z, Install assumes you want a sun4z
50 kernel.
51
52 -n No target; just create the tarfile in
53 /tmp/Install.username/Install.sun4c.tar [default].
54 -n implies -p.
55
56 -t target Install the system on target ([user@]machine:/dir).
57 This means that kernel/unix is copied to
58 machine:/dir/kernel/unix, etc. /dir is typically
59 either / or /mnt. -t implies -c. The default
60 remote user id is the same as the local one
61 ($LOGNAME).
62
63 -T target Copy the tarfile to target ([user@]machine:/dir).
64 This creates the file /dir/Install.tar on machine.
65 To finish the install, log on to machine as root,
66 and type ``cd /; tar xvf /dir/Install.tar''. -T
67 implies -c.
68
69 -u Install unix only.
70
71 -m Install modules only.
72
73 -a Install unix and all modules [default].
74
75 -v Verbose mode.
76
77 -V REALLY verbose mode. Useful mainly for debugging.
78
79 -q Quiet mode [default]. Only fatal messages are
80 printed.
81
82 -c Clean up. After a successful install, delete the
83 files created in /tmp/Install.username. This is
84 the default behavior if a target is specified with
85 -t or -T.
86
87 -p Preserve temp files. This is the default behavior
88 when no target is specified (-n).
89
90 -R Recover from a failed Install. This is not
91 required, it's just faster than restarting. A
92 typical scenario is for Install to run smoothly
93 right up to the very end, but then die with
94 "Permission denied" when it tries to rsh/rcp to the
95 target machine. At this point, you log on to the
96 target machine, diddle the permissions, log off,
97 and type ``Install -R''. Install will only have to
98 retry the rsh/rcp, rather than rebuild the tarfile
99 from scratch.
100
101 -d temp directory specifies where Install should create its temp
102 files [default: /tmp/Install.username]. This is
103 useful if you have limited space in /tmp (Install
104 can take as much as 100MB). The suffix
105 "Install.username" is always appended.
106
107 -L add a system to your library. This allows you to
108 build a personal collection of installable systems
109 from various environments and for various
110 architectures. When you type ``Install -w
111 /ws/ws_name -k arch -L'', Install creates a tarfile
112 called ws_name.arch.tar in your library directory
113 (~/LibInstall by default). -L implies -c.
114
115 -l library file Installs the system contained in library file. You
116 may omit the ``.tar'' suffix. For example,
117 ``Install -l my_ws.sun4c -t machine:/'' installs a
118 system you previously built with -L (from sun4c
119 files in my_ws) on machine:/. This is equivalent
120 to typing ``rsh machine '(cd /; tar xvf -)'
121 <~/LibInstall/my_ws.sun4c.tar'', but it's easier to
122 remember.
123
124 -D lib directory specifies the library directory [default:
125 $HOME/LibInstall].
126
127 -G glomname gloms /kernel and /usr/kernel together into a
128 single /kernel directory. Useful for development
129 work, e.g. use "Install -G good [...]" to create a
130 "/kernel.good".
131
132 -o { obj | debug } object directory. The default is "debug".
133
134 -3 32-bit modules only
135
136 -6 64-bit modules only
137
138 -K Do not include kmdb misc module or dmods
139
140 -h Help. Prints a brief summary of Install's options.
141
142 If you are in a directory like $SRC/uts/sun4z when you invoke Install,
143 it will infer that you want to install a sun4z system from the current
144 workspace.
145
146 If you supply a list of modules, it overrides any of the -uma options.
147 You only need to specify the basename of the module(s), e.g. ``Install
148 ufs nfs le''. ``Install unix'' is equivalent to ``Install -u'', and
149 ``Install modules'' is equivalent to ``Install -m''.
150
151 You can customize Install by creating a .Installrc file in your home
152 directory. .Installrc should consist of a list of command-line-style
153 options, e.g:
154
155 -w /ws/foo
156 -t labmachine:/mnt -pv
157
158 Install processes default options first, then .Installrc options, then
159 command-line options. In the case of conflicting options (e.g. -uma),
160 the last one wins.
161
162 In order to use the most convenient form of Install (``Install -t
163 machine:/''), you will need to do the following on the target machine:
164
165 (1) add your machine name to the /etc/hosts.equiv file
166 (2) add your username to the /etc/{passwd,shadow} files
167 (3) chown -R yourself /kernel /usr/kernel
168 (4) chmod -R u+w /kernel /usr/kernel
169
170 ENVIRONMENT
171 You can set the following variables in your environment:
172
173 ON_CRYPTO_BINS
174
175 file containing signed cryptographic binaries. This is only
176 needed if you are not building the closed-source tree.
177
178 INSTALL_RC [default: $HOME/.Installrc]
179
180 file containing default options for Install
181
182 INSTALL_STATE [default: $HOME/.Install.state]
183
184 where Install keeps its state information
185
186 INSTALL_DIR [default: /tmp/Install.username]
187
188 where Install does its work. This can be overridden on the
189 command line with -d.
190
191 INSTALL_LIB [default: $HOME/LibInstall]
192
193 where Install gets/puts library files. This can be overridden
194 on the command line with -D.
195
196 INSTALL_CP [default: cp -p]
197
198 the command to copy files locally
199
200 INSTALL_RCP [default: rcp -p]
201
202 the command to copy files remotely
203
204 EXAMPLES
205 Install -w /ws/blort -t machine:/
206
207 installs the system built in workspace /ws/blort on machine:/
208
209 Install -w /ws/blort -T machine:/tmp
210 rsh machine -l root "cd /; tar xvf /tmp/Install.tar"
211
212 is an equivalent way to do the previous example
213
214 Install
215
216 makes a tarfile containing a sun4c kernel, and places it in
217 /tmp/Install.username/Install.sun4c.tar. However, if you are in
218 one of the arch directories (e.g. $SRC/uts/sun4m) when you
219 invoke Install, you will get a tarfile for that architecture
220 instead.
221
222 Install -k sun4m -w /ws/on493 -t mpbox:/ ufs
223
224 installs a new sun4m ufs module from workspace /ws/on493 on
225 mpbox:/
226
227 FILES
228 $HOME/.Installrc, $HOME/.Install.state
229
230 SEE ALSO
231 tar(1), rsh(1), rcp(1)
232
233 BUGS
234 tar(1) and rsh(1) do not have particularly useful exit codes. To
235 compensate, Install feeds stderr through grep -v and throws away error
236 messages which it considers harmless. If there's anything left,
237 Install assumes it is fatal. It's a hack, but it works.
238
239
240
241 14 Jan 2010 Install(1ONBLD)