.\" $NetBSD: install,v 1.31 2009/01/26 00:14:42 snj Exp $ .\" .\" Copyright (c) 1999-2002 The NetBSD Foundation, Inc. .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS .\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED .\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR .\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS .\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR .\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF .\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS .\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN .\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" . Installing .Nx is a relatively complex process, but if you have this document in hand it shouldn't be too much trouble. .Pp There are several ways to install .Nx onto a disk. The easiest way in terms of preliminary setup is to install from CD-ROM. If you don't have access to a CD-ROM or CD-ROM burner, you can use a miniroot image that can be booted off your local disk's swap partition. Alternatively, if your UltraSPARC is hooked up in a network you can find a server and arrange for a diskless setup which is a convenient way to install on a machine whose disk does not currently hold a usable operating system (see the section .Sx Installing NetBSD by using a diskless setup below). .Pp If you have problems with these or you are installing .Nx onto the same disk as .Tn Solaris , see the section below on .Sx "Manual Installation of NetBSD using Solaris" . .Ss2 Installing NetBSD from CD-ROM . Installing from CD-ROM is the least painful way to install .Nx . Simply insert the CD-ROM in the drive, power up the computer, and type: .(disp .No ok Ic "boot cdrom" .disp) .Pp This Open Firmware boot command will cause the .Nx kernel contained in the CD-ROM to be booted. After the initial probe messages you'll be asked to start the install or upgrade procedure. Proceed to the section .Sx "Running the sysinst installation program" below. . .Ss2 Installing NetBSD by using the NetBSD miniroot . The miniroot is a self-contained .Nx file system holding all utilities necessary to install .Nx on a local disk. It is distributed as a plain file designed to be transferred to a raw disk partition from which it can be booted using the appropriate OpenFirmware command. Usually, the miniroot will be loaded into the swap partition of a disk. If needed, you can use any other unused partition, but remember that the partition will then not available during the installation process. .Pp Loading the miniroot onto your raw partition is simple using the .Xr dd 1 command. Just remember to first uncompress the miniroot image and boot your OS with the .Li -s flag so that it runs .Dq "single-user" and does not attempt to start swapping. .(disp .No ok Ic "boot -s" .disp) .Pp On .Tn Solaris you use a command like: .(disp .No # Ic "gunzip miniroot.fs.gz" .No # Ic "dd if=miniroot.fs of=/dev/rdsk/c0t0d0s1 bs=4k" .disp) On .Nx the command is: .(disp .No # Ic "gunzip miniroot.fs.gz" .No # Ic "dd if=miniroot.fs of=/dev/rsd0b bs=4k" .disp) Replace .Li /dev/rdsk/c0t0d0s1 or .Li /dev/rsd0b with your swap partition. .Pp After transferring the miniroot to disk, bring the system down by: .(disp .No # Ic halt .disp) Then boot the miniroot by typing the appropriate command at the OpenFirmware prompt: .(disp .No ok Ic "boot disk:b netbsd" .disp) If you've loaded the miniroot onto some other disk than .Li sd0 use the correct .Pa devalias , such as .(disp .No ok Ic "boot disk1:b netbsd" .disp) This Open Firmware boot command will cause the .Nx kernel contained in the miniroot image to be booted. After the initial probe messages you'll be asked to start the install or upgrade procedure. Proceed to the section .Sx "Running the sysinst installation program" below. . .Ss2 Installing NetBSD by using a NetBSD kernel on a Solaris partition . This procedure is very straightforward. You will be putting the .Nx installation kernel (kernel with a RAM disk installer) on your .Tn Solaris partition and telling Open Firmware to boot the .Nx kernel. .Pp CAVEAT: this method is a bit fragile. Depending on physical partition layout, partition size, and parameters used to create the filesystem of your .Tn Solaris root partition, bugs in the bootloader might be triggered and cause this method to fail. .Pp First, copy the .Pa netbsd-INSTALL.gz kernel and bootloader to the root level of your hard drive and halt your system .(disp .No # Ic "cp binary/kernel/netbsd-INSTALL.gz /" .No # Ic "cp installation/misc/ofwboot /" .No # Ic "halt" .disp) At the Open Firmware prompt, boot .Nx . .(disp .No ok Ic "boot disk:a /ofwboot -a" .disp) The .Li -a flag is needed so that the bootloader will ask you to find your installation kernel. .(disp Rebooting with command: boot disk:a /ofwboot -a Boot device: /pci@1f,4000/scsi@3/disk@0,0:a File and args: /ofwboot -a .No Enter filename [/ofwboot]: Ic "\*[Lt]return\*[Gt] \*[Gt]\*[Gt] NetBSD/sparc64 OpenFirmware Boot, Revision 1.7 \*[Gt]\*[Gt] (autobuild@tgm.netbsd.org, Thu May 20 16:29:20 UTC 2004) .No Boot: Ic netbsd-INSTALL.gz .disp) After the initial probe messages you'll be asked to start the install or upgrade procedure. Proceed to the section .Sx "Running the sysinst installation program" below. . .Ss2 Installing NetBSD by using a netboot setup . .so ../common/netboot .Pp Now, netboot your system from the server by entering the appropriate .Ic boot command at the Open Firmware prompt. .(disp .No ok Ic "boot net netbsd" .disp) After the initial probe messages you'll be asked to start the install or upgrade procedure. Proceed to the section .Sx "Running the sysinst installation program" below. . .so ../common/sysinst .Pp Skip down to the section on .Sx "Booting NetBSD for the first time" . .Ss2 Manual Installation of NetBSD using Solaris . (Adapted from Murray Stokely's \*[Lt]murray@osd.bsdi.com\*[Gt] instructions) .Pp You can use .Tn Solaris to prepare the .Nx user-friendly installer or to perform a full manual installation of .Nx . If you want to use the user-friendly miniroot installer or RAM disk installation kernel, follow the sections .Sx "Installing NetBSD by using the NetBSD miniroot" or .Sx "Installing NetBSD by using a NetBSD kernel on a Solaris partition" . .Pp Manual installation from Solaris 10 is not possible because NetBSD cannot use the resulting UFS file system. It is possible to install Solaris 10 and NetBSD on the same disk. To do so, partition the disk with the Solaris format command, then boot NetBSD and perform a manual installation. Be careful not to write a NetBSD disklabel. Use the disklabel command to read the partition size, as constructed from the Solaris disklabel. By default the NetBSD newfs command writes a NetBSD disklabel. Avoid this by using the -F and -s arguments to newfs. .Pp .(bullet .To 2 "Preparing the disk in Solaris" .Em "Preparing the disk in Solaris" .Pp The first step is to format and label the disk that you would like to use with .Nx . This can be accomplished with the .Xr format 1M command in Solaris, which allows you to partition a disk and write a disklabel. It also is used to perform a low-level format on SCSI drives. You will want to create a root partition and a swap partition. Depending on your preferences, you may also wish to create separate .Pa /usr No or Pa /var partitions. .Pp .(disp .No # Ic "/usr/sbin/format" Searching for disks... Mode sense page(3) reports nsect value as 280, adjusting it to 218 done c0t1d0: configured with capacity of 16.95GB AVAILABLE DISK SELECTIONS: 0. c0t0d0 \*[Lt]SUN4.2G cyl 3880 alt 2 hd 16 sec 135\*[Gt] /pci@1f,4000/scsi@3/sd@0,0 1. c0t1d0 \*[Lt]IBM-DXHS18Y-0430 cyl 8152 alt 2 hd 20 sec 218\*[Gt] /pci@1f,4000/scsi@3/sd@1,0 .No "Specify disk (enter its number):" Ic 1 selecting c0t1d0 [disk formatted] .No "Disk not labeled. Label it now?" Ic y .No "format\*[Gt]" Ic format Ready to format. Formatting cannot be interrupted and takes 114 minutes (estimated). Continue? y Beginning format. The current time is Sat May 29 22:15:13 2004 Formatting... done Verifying media... pass 0 - pattern = 0xc6dec6de 8151/19/208 pass 1 - pattern = 0x6db6db6d 8151/19/208 Total of 0 defective blocks repaired. .No "format\*[Gt]" Ic partition .No "partition\*[Gt]" Ic print Current partition table (original): Total disk cylinders available: 8152 + 2 (reserved cylinders) Part Tag Flag Cylinders Size Blocks 0 root wm 0 - 60 129.86MB (61/0/0) 265960 1 swap wu 61 - 121 129.86MB (61/0/0) 265960 2 backup wu 0 - 8151 16.95GB (8152/0/0) 35542720 3 unassigned wm 0 0 (0/0/0) 0 4 unassigned wm 0 0 (0/0/0) 0 5 unassigned wm 0 0 (0/0/0) 0 6 usr wm 122 - 8151 16.69GB (8030/0/0) 35010800 7 unassigned wm 0 0 (0/0/0) 0 .No "partition\*[Gt]" Ic label .No "Ready to label disk, continue?" Ic y .No "partition\*[Gt]" Ic quit .No "format\*[Gt]" Ic quit .disp) .Pp After your disk has been labeled you need to create file systems on your slices. The Solaris .Xr newfs 1M command will create ffs file systems that can be used by .Nx . .(disp .No # Ic "/usr/sbin/newfs /dev/dsk/c0t1d0s0" .No # Ic "/usr/sbin/newfs /dev/dsk/c0t1d0s6" .disp) . .It .To 2 "Installing NetBSD Software from Solaris" .Em "Installing NetBSD Software from Solaris" .Pp You should now mount your .Nx root and .Pa /usr partitions under Solaris so that you can populate the file systems with .Nx binaries. .(disp .No # Ic "/usr/sbin/mount /dev/dsk/c0t1d0s0 /mnt" .No # Ic "mkdir /mnt/usr" .No # Ic "/usr/sbin/mount /dev/dsk/c0t1d0s6 /mnt/usr" .disp) .Pp Now extract the distribution file sets .(disp .No # Ic "cd ~/netbsd/binary/sets" .No # Ic "gunzip *.tar.gz" .No # Ic "echo ~/netbsd/binary/sets/*.tar | (cd /mnt; xargs -n1 pax -rpe -f )" .disp) .Pp Now you should copy the .Nx second stage bootloader into your new root partition and install the bootblocks using Solaris's .Xr installboot 1M command. .(disp .No # Ic "cp ~/netbsd/installation/misc/ofwboot /mnt" .No # Ic "/usr/sbin/installboot ~/netbsd/installation/misc/bootblk /dev/rdsk/c0t1d0s0" .disp) . .It .To 2 "Creating NetBSD Device Nodes under Solaris" .Em "Creating NetBSD Device Nodes under Solaris" .Pp This is not a necessary step. If your .Pa /dev directory is empty, .Xr init 8 will create a RAM disk with all of the essential device nodes each time the system boots. If you want to create the device nodes on disk, you will need to use the Solaris .Xr mknod 1M command. Look in .Pa /dev/MAKEDEV for the correct names, major and minor numbers, ownership, and permissions. . .It .To 2 "Configuring the NetBSD system from Solaris" .Em "Configuring the NetBSD system from Solaris" .Pp To save effort, you may want to use your favorite Solaris editor to configure some of the files in .Pa /etc before booting into .Nx the first time. In particular, you should look at .Pa /etc/fstab , .Pa /etc/rc.conf , .Pa /etc/resolv.conf , and .Pa /etc/hosts . See the section below on .Sx "Post installation steps" before .Sx "Booting NetBSD for the first time" . .bullet) . .Ss Booting NetBSD for the first time . .Pp Now it is time to boot .Nx for the first time. You will boot from your disk using similar syntax as described above in .Sx "Setting up Open Firmware" and .Sx "Determining how to boot from an SBUS or PCI card" . To boot from your first disk, type: .(disp .No ok Ic "boot disk" .disp)