xref: /netbsd-src/distrib/notes/i386/install (revision ae9172d6cd9432a6a1a56760d86b32c57a66c39c)
1Installing NetBSD is a relatively complex process, but if you have
2this document in hand and are careful to read and remember the
3information which is presented to you by the install program, it
4shouldn't be too much trouble.
5
6Before you begin, you should know the geometry of your hard disk, i.e.
7the sector size (note that sector sizes other than 512 bytes are not
8currently supported), the number of sectors per track, the number of
9tracks per cylinder (also known as the number of heads), and the
10number of cylinders on the disk.  The NetBSD kernel will try to
11discover these parameters on its own, and if it can it will print them
12at boot time.  If possible, you should use the parameters it prints.
13(You might not be able to because you're sharing your disk with
14another operating system, or because your disk is old enough that the
15kernel can't figure out its geometry.)
16
17If NetBSD will be sharing the disk with DOS or another operating
18system, you should have already completed the section of these notes
19that instructed you on how to prepare your hard disk.  You should know
20the size of the NetBSD area of the disk and its offset from the
21beginning of the disk.  You will need this information when setting up
22your NetBSD partitions.
23
24You should now be ready to install NetBSD.  It might be handy for you
25to have a pencil, some paper, and a calculator handy.
26
27The following is a walk-through of the steps you will take while
28getting NetBSD installed on your hard disk.  If any question has a
29default answer, it will be displayed in brackets ("[]") after the
30question.  If you wish to stop the installation, you may hit Control-C
31at any time, but if you do, you'll have to begin the installation
32process again from scratch.
33
34	Boot your machine using of the appropriate kernel-copy floppy.
35	When presented with the boot prompt (the prompt begins with
36	"Boot" and ends with ":-"), hit return.  If the boot prompt
37	does not appear in a reasonable amount of time, you either
38	have a bad boot floppy or a hardware problem.  Try writing the
39	kernel-copy floppy image to a different disk, and using that.
40	If that doesn't work, try booting after disabling your CPU's
41	internal and external caches (if any).  If it still doesn't
42	work, NetBSD probably can't be run on your hardware.  This can
43	probably be considered a bug, so you might want to report it.
44	If you do, please include as many details about your system
45	configuration as you can.
46
47	It will take a while to load the kernel from the floppy,
48	probably around a minute or so.  After its loaded, you will be
49	presented with the message:
50		"Insert file system floppy"
51	If you do not see that message after a reasonable time has
52	elapsed, or the spinning cursor has stopped and nothing
53	further has happened, either your boot floppy is bad or you
54	are having hardware problems, and should proceed as outlined
55	above.
56
57	Once you have reached that prompt, remove the kernel-copy
58	floppy from the floppy drive.  Make sure that the installation
59	disk (the "inst-10" floppy) is writable, insert it into the
60	floppy drive, and hit any key.
61
62	You will then be presented with the NetBSD kernel boot
63	messages.  You will want to read them, to determine your
64	disk's name and geometry.  Its name will be something like
65	"sd0" or "wd0" and the geometry will be printed on a line that
66	begins with its name.  As mentioned above, you will need your
67	disk's geometry when creating NetBSD's partitions.  You will
68	also need to know the name, to tell the install tools what
69	disk to install on.
70
71	While booting, you will probably see several warnings.  You
72	should be warned that no swap space is present, and that
73	init(8) cannot find /etc/rc.  Do not be alarmed, these are
74	completely normal.  When you reach the prompt asking you for a
75	shell name, just hit return.
76
77	You will be presented with a welcome message and a prompt,
78	asking if you wish to proceed with the installation process.
79	If you wish to proceed, enter "y" and hit return.
80
81	You will be asked what type of disk driver you have.  The
82	valid options are listed by the install program, to make sure
83	you get it right.  If you're installing on an ST-506 or ESDI
84	drive, you'll be asked if your disk supports automatic sector
85	forwarding.  If you are SURE that it does, reply
86	affirmatively.  Otherwise, the install program will
87	automatically reserve space for bad144 tables.
88
89	The install program will then tell you which disks of that
90	type it can install on, and ask you which it should use.
91	Reply with the name of your disk.  (The first disk of the type
92	you selected, either "wd0" for ST-506/ESDI/IDE disks, or "sd0"
93	for SCSI disks, is the default.)
94
95	You will then be asked to name your disk's disklabel.  The
96	default response is "mywd" or "mysd" depending on the type of
97	your disk, and for most purposes it will be OK.  If you choose
98	to name it something different, make sure the name is a single
99	word and contains no special characters.  You don't need to
100	remember this name.
101
102	You will be prompted for your disk's geometry information,
103	i.e. the number of bytes per sector, cylinders on the disk,
104	tracks per cylinder (heads), and sectors per track.  Enter
105	them when they are requested.  If you make a mistake, hit
106	Control-C and when you get to the shell prompt, restart the
107	install process by running the "install" command.  Once you
108	have entered this data, the install program will tell you the
109	total size of your disk, in both sectors, and cylinders.
110	Remember this number; if you're installing on the whole disk,
111	you'll need it again soon.
112
113	When describing your partitions, you will have the option of
114	entering data about them in units of disk sectors or
115	cylinders.  If you choose to enter the information in units of
116	sectors, remember that, for optimal performance, partitions
117	should begin and end on cylinder boundaries.  You will be
118	asked about which units you wish to use, and you should reply
119	with "c" for cylinders, or "s" for sectors.
120
121	You will be asked for the size of the NetBSD portion of the
122	disk.  If you're installing on the whole disk, reply with the
123	size of the disk, as printed earlier by the install program.
124	If you're using only part of the disk, reply with the size
125	that you specified in the partition editor.  (Don't forget to
126	enter the size in the units you specified in the last step!)
127
128	If you are not installing on the whole disk, you will be asked
129	fro the offset of the NetBSD partition from the beginning of
130	the disk.  Reply with the appropriate offset (again, in
131	whichever units you specified), as determined by how you
132	set up your disk using the partition editor.
133
134	You will be asked to enter the size of your NetBSD root
135	partition.  It should be at least 13M, but if you are going to
136	be doing development, 14-16M is a more desirable size.  This
137	size should be expressed in units of sectors or cylinders,
138	depending on which you said you wanted to use.
139
140	Next, you will be asked for the size of your swap partition.
141	You should probably allocate twice as much swap space as you
142	have real memory.  Systems that will be heavily used should
143	have more swap space allocated, and systems that will be
144	lightly used can get by with less.  If you want the system to
145	be able to save crash dumps when it panics, you will need at
146	least as much swap space as you have RAM.  Again, this number
147	should be expressed in units of sectors or cylinders, as
148	appropriate.
149
150	The install program will then ask you for information about
151	the rest of the partitions you want on your disk.  For most
152	purposes, you will want only one more partition, "/usr".
153	(Machines used as servers will probably also want /var as a
154	separate partition.  That can be done with these installation
155	tools, but is not covered here.)  The install program will
156	tell you how much space there is left to be allocated in the
157	NetBSD area of the disk, and, if you only want one more
158	partition ("/usr"), you should enter it at the prompt when the
159	installer asks you how large the next partition should be.
160	It will then ask you for the name of the mount point for that
161	partition.  If you're doing a basic installation, that is
162	"/usr".
163
164	YOU ARE NOW AT THE POINT OF NO RETURN.  Nothing has been
165	written to your disk yet, but if you confirm that you want to
166	install NetBSD, your hard drive will be modified, and its
167	contents may be scrambled at the whim of the install program.
168	This is especially likely if you have given the install
169	program incorrect information.  If you are sure you want to
170	proceed, enter "yes" at the prompt.
171
172	The install program will now label your disk and make the file
173	systems you specified.  The filesystems will be initialized to
174	contain NetBSD bootstrapping binaries and configuration files.
175	It will also create an /etc/fstab for your system, and mount
176	all of the file systems under /mnt. (In other words, your root
177	partition will be mounted on /mnt, your /usr partition on
178	/mnt/usr, and so on.)  There should be no errors in this
179	section of the installation.  If there are, restart from the
180	beginning of the installation process.
181
182	You will be placed at a shell prompt ("#").  The remaining
183	tasks are to copy the kernel from the kernel copy floppy to
184	the hard drive's root filesystem and install the distribution
185	sets.  The flow of installation differs depending on your
186	hardware resources, and on what media the distribution sets
187	reside.
188
189	To install from floppy:
190		If you only have only one floppy drive, the order of
191		installation is different.  Follow the directions in
192		the "Kernel installation" section which will help you
193		install a kernel on the hard drive and then boot off
194		the hard drive, then continue with the rest of the
195		process described here to install the distribution
196		sets from floppy:
197
198		The first thing you should do is pick a temporary
199		directory where the distribution files can be stored.
200		To do this, enter the command "Set_tmp_dir", and enter
201		the name of the temporary directory.  (Don't forget
202		that if your disk is still mounted under /mnt; you
203		should probably pick a directory under /mnt/usr.)
204
205		After you have picked a temporary directory, enter the
206		"Load_fd" command, to load the distribution sets from
207		your floppies.
208
209		You will be asked which floppy drive to use.  Enter
210		"0" (zero) if you're using the first floppy drive
211		(i.e. what DOS would call "A:"), or enter "1" if
212		you're using the second.  (Remember that you CANNOT
213		use the floppy drive that you booted from.  If you
214		booted from "A:", you must load from "B:".)
215
216		You will be prompted to insert a floppy into the drive,
217		to have its contents copied to your hard disk.  Do so,
218		and hit return to begin copying.  When that is done,
219		read the remainder of the floppies that contain the
220		distribution sets that you want to install, one by
221		one.  When the last is read, and you are being
222		prompted for another, hit Control-C.
223
224		Run the "Extract" command once for each distribution
225		set you wish to install.  For instance, if you wish to
226		install the "base10" distribution set, followed by the
227		"man10" distribution set, and finally the "etc10"
228		distribution set, use the commands:
229			Extract base10
230			Extract man10
231			Extract etc10
232
233		For each extraction, it will ask you if the extraction
234		should be verbose.  If you reply affirmatively, it
235		will print out the name of each file that's being
236		extracted.
237
238		(Note: if you know that you will be running low on
239		disk space when installing NetBSD, you can load and
240		extract one distribution set at a time.  To do this,
241		load only the floppies which contain the files for the
242		first distribution set, extract them, and then change
243		to the temporary directory and remove them with the
244		command "rm set_name.??".)
245
246		Once you are finished extracting all of the sets that
247		you wish to install, you should proceed to the
248		instructions below (after the last install medium
249		type-specific instructions), that explain how you
250		should configure your system.
251
252	To install from tape:
253		The first thing you should do is pick a temporary
254		directory where the distribution files can be stored.
255		To do this, enter the command "Set_tmp_dir", and enter
256		the name of the temporary directory.  (Don't forget
257		that your disk is mounted under /mnt; you should
258		probably pick a directory under /mnt/usr.)  The
259		default is /mnt/usr/distrib.
260
261		After you have picked a temporary directory, enter the
262		"Load_tape" command, to load the distribution sets from
263		tape.
264
265		You will be asked which tape drive to use.  The
266		default is "rst0", which is correct if you're using
267		the SCSI tape drive with the lowest SCSI ID number.
268		(For the SCSI tape drive with the next lowest SCSI ID
269		number, you should use "rst1", and so on.)
270
271		You will be prompted to hit return when you have
272		inserted the tape into the tape drive.  When you do,
273		the contents of the tape will be extracted into the
274		temporary directory, and the names of the files being
275		extracted will be printed.
276
277		After the tape has been extracted, to go the directory
278		containing the first distribution set you wish to
279		install.  (Depending on how you made the tape, it's
280		probably a subdirectory of the temporary directory you
281		specified above.)  Once there, run the "Set_tmp_dir"
282		command again, and accept its default answer by
283		hitting return at the prompt.
284
285		Use the "Extract" command to extract the distribution
286		set.  For instance, if you're extracting the "base10"
287		set, use the command:
288			Extract base10
289		You will be asked if you wish the extraction to be
290		verbose.  If you reply affirmatively, the name of each
291		file being extracted will be printed.
292
293		Repeat the previous two steps for each distribution
294		set you wish to install.  Change to the set's
295		directory, run "Set_tmp_dir", and then run
296		"Extract <set_name>" to extract the set.
297
298		Once you are finished extracting all of the sets that
299		you wish to install, you should proceed to the
300		instructions below (after the last install medium
301		type-specific instructions), that explain how you
302		should configure your system.
303
304	To install via FTP or NFS:
305		The first thing you should do is pick a temporary
306		directory where the distribution files can be stored.
307		To do this, enter the command "Set_tmp_dir", and enter
308		the name of the temporary directory.  (Don't forget
309		that your disk is mounted under /mnt; you should
310		probably pick a directory under /mnt/usr.)  The
311		default is /mnt/usr/distrib.
312
313		Configure the appropriate ethernet interface (e.g.
314		ed0, ep0, etc.) up, with a command like:
315
316		ifconfig <ifname> <ipaddr> [netmask <netmask>]
317
318		where "<ifname>" is the interface name, like those
319		listed above, and "<ipaddr>" is the numeric IP address
320		of the interface.  If the interface has a special
321		netmask, supply the word "netmask" at and that netmask
322		at the end of the command line.  (The brackets
323		indicate that those arguments are optional.)  For
324		instance, to configure interface ed0 with IP address
325		129.133.10.10, use the command:
326
327		ifconfig ed0 129.133.10.10
328
329		and to configure interface ep0 with IP address
330		128.32.240.167 and a special netmask, 0xffffff00, use
331		the command:
332
333		ifconfig ep0 128.32.240.167 netmask 0xffffff00
334
335		If your board selects software selection of the
336		ethernet interface to use, you might have to add
337		special flags to the "ifconfig" command you use.
338		Consult the table below for the appropriate flags:
339
340		Interface Type	Connector	Flags
341		--------- ----	---------	-----
342		ed with WD/SMC*	BNC		[none necessary]
343		ed with WD/SMC*	UTP		[none necessary]
344		ed with WD/SMC*	AUI		link0
345		ed with 3c503	BNC		[none necessary]
346		ed with 3c503	AUI		link0
347		ep		BNC		[none necessary]
348		ep		AUI		link0
349		ep		UTP		link0 link1
350
351		* Older WD boards do not support software configuration,
352		  and must be configured via jumpers.  These flags
353		  will have no effect on them.
354
355		In other words, if, in the last example, the AUI port
356		of the board were being used, you would use the
357		command:
358
359		ifconfig ep0 128.32.240.167 netmask 0xffffff00 link0
360
361		If the NFS server or FTP server is not on a directly-
362		connected network, you need to set up a route to it
363		using a command like:
364
365		route add default <gate_ipaddr>
366
367		where <gate_ipaddr> is your gateway's numeric IP
368		address.
369
370		If you are NFS-mounting the distribution sets, mount
371		them on the temporary directory with a command like:
372
373		mount -t nfs <serv_ipaddr>:<dist_dir> <tmp_dir>
374
375		where <serv_ipaddr> is the server's numeric IP address,
376		<dist_dir> is the path to the distribution files on
377		the server, and <tmp_dir> is the name of the local
378		temporary directory.
379
380		Once this is done, proceed as if you had loaded the
381		files from tape, changing to the appropriate
382		directories, running "Set_tmp_dir", and running
383		"Extract" as appropriate.
384
385		If you are retrieving the distribution sets using ftp,
386		change into the temporary directory, and execute the
387		command:
388
389		ftp <serv_ipaddr>
390
391		where <serv_ipaddr> is once again the server's numeric
392		IP address.  Get the files with FTP, taking care to
393		use binary mode when transferring the files.
394
395		Once you have all of the files for the distribution
396		sets that you wish to install, you can proceed using
397		the instructions above, as if you had installed from a
398		floppy.  (Note that as with the floppy install, if
399		you're short on disk space, you can transfer only one
400		set at a time, extract it, then delete it, to save
401		space.)
402
403	Once you have finished extracting all of the distribution sets
404	that you wish to install, and are back at the "#" prompt, you
405	are ready to configure your system.  The configuration utility
406	expects that you have installed the "base10" and "etc10"
407	distribution sets.  If you have not, you will not be able to
408	run it successfully (nor will you have a functional system, in
409	any case).  To configure your newly-installed NetBSD system,
410	run the command "Configure".  It will ask you for the system's
411	host name, domain name, and other network configuration
412	information.  It will set up your configuration files and make
413	the device nodes for the newly-installed system.
414
415Kernel Installation:
416
417	Enter "halt" at the prompt to halt the system.  When the
418	system is halted, remove the "inst-10" floppy from the floppy
419	drive, and replace it with the NetBSD 1.0 kernel-copy floppy
420	that you previously booted from.  Reboot with that floppy.
421	with that floppy.
422
423	Once again, you will be prompted to insert a file system
424	floppy.  DO NOT replace the kernel-copy floppy, just hit any
425	key.
426
427	Again, While booting, you may see several warnings.  You may
428	be warned that no swap space is present, that init(8) cannot
429	find /etc/rc, and that one or more databases with names like
430	"pwd.db" cannot be found.  Do not be alarmed, as, again, these
431	are completely normal.  Hit return at the prompt asking you
432	for a shell name.
433
434	You will be presented with a shell prompt, at which you should
435	enter the "copy_kernel" command.  It will ask you what
436	partition to copy the kernel to, and you should reply with the
437	name of your root partition (e.g. sd0a or wd0a).
438
439	You will be asked if you are sure that you want to copy the
440	kernel.  Reply affirmatively, and it will check the file
441	system on your root partition, mount it, and copy the kernel.
442	Once the kernel is copied, you should use "halt" to halt the
443	system.
444
445	Once the system is halted, remove the kernel-copy floppy from
446	the floppy disk drive, and hit any key to reboot.
447
448Congratulations, you have successfully installed NetBSD 1.0.  When you
449reboot into NetBSD, you should log in as "root" at the login prompt.
450There is no initial password, but if you're using the machine in a
451networked environment, you should create yourself an account and
452protect it and the "root" account with good passwords.
453
454Some of the files in the NetBSD 1.0 distribution might need to be
455tailored for your site.  In particular, the /etc/sendmail.cf file will
456almost definitely need to be adjusted, and other files in /etc will
457probably need to be modified, as well.  If you are unfamiliar with
458UN*X-like system administration, it's recommended that you buy a book
459that discusses it.
460