.\" $NetBSD: prep,v 1.13 2009/04/23 01:56:48 snj Exp $ . .Ss2 Preparing your hard disk for the NetBSD installation. Note that you will be modifying your hard drives and if you mess something up here you could lose everything on all the drives that you work with. It is therefore advised that you: .(bullet Write down your current configurations. Do this by writing down all partition info (especially their sizes). .It .Em Back up the partitions you are keeping. .bullet) .Pp If .Nx has to share the disk with another operating system, you can either take care of partitioning your harddisk before installing .Nx or delay this until the installer requests you to do it. If you decide to do it now, please create space for at least .Pa / (root) and swap partitions. Whatever you decide, take note of the paragraphs below! You need this info to create bootable disks. .Pp .(tag Warning: .It Em Warning: The AHDI partitioning function erases all partitions on your harddisk even if they are not changed! We know this is rather stupid, but don't say we didn't warn you. .tag) .Pp If you want to use an AHDI partitioning scheme and you want to be able to boot directly into .Nx , there are some constraints on the partition layout. .Pp As you might know, every hard disk has a .Sq root sector that contains information about the size of the hard disk and the partitions on the hard disk. The root sector can only contain the necessary data for four partitions. Nobody thought that this limitation would cause any problems. After all, 640 KByte should be enough. As hard disks grew, it was necessary to define more than four partitions. In order to be more or less compatible with the old format, a new type of partition entry was defined: XGM partitions. .Pp An XGM partition is a .Sq look over there sign: Another root sector can be found at the start of the XGM partition. This root sector contains the remaining real partitions. And this is the big mystery: Partitions defined in the root sector of the hard disk are called .Sq "primary partitions" , partitions defined in the root sector of an XGM partition are called .Sq "extended partitions" . .Pp The bootblock will only work if the first NBD partition is a primary partition. This is not a limitation of .Nx but a limitation of .Tn TOS Ns / Ns AHDI: You can only boot from primary partitions. .Pp If you are creating your partitions with HDX, you'll have to be very careful to fulfill this rule. HDX has some very strange ideas when it comes to extended partitions. Fortunately, you can edit this stuff: The .Dq "Edit partition scheme of the unit" dialog box has a button labeled .Dq "expert" . This button is inactive unless you have defined more than four partitions. Click on it .Em after you have defined the sizes of the partitions. .Pp A new dialog box appears on the screen. The left side contains two blocks of partitions; the upper block always contains the first four partitions, the lower block contains the last three partitions. If you have defined less than 7 partitions, some fields of the lower block will contain the string .Dq "unused" . Some of the partitions will be displayed in reverse video: These are the extended partitions. .Pp The right side contains six possible ranges for the extended partitions. It is not possible to define your own range, you will have to use one of the schemes offered by HDX. To quote from Ghostbusters: Choose and die. The default scheme used by HDX is the first scheme: Extended partitions start with the second partition and end with the second to last partition. If you have defined 7 partitions, partitions #2 to #5 will be extended partitions, while partitions #1, #6 and #7 will be primary partitions. .Pp You can move the extended partition range by clicking on one of the buttons on the right side of the dialog box. Try to find one where your first .Nx partition is a primary partition. Golden rules: .(bullet If the disk contains no .Tn GEMDOS partitions, don't use AHDI. Let .Nx handle it alone. .It If the disk contains one .Tn GEMDOS partition, make it partition #1 and start the extended partition range at partition #3. This allows you to boot from both the .Tn GEMDOS and the .Nx partitions. .It If the disk contains two .Tn GEMDOS partitions, use partitions #1 and #2 for .Tn GEMDOS , partition #3 for NetBSD-root. Start the extended partition range with partition #4. .It If your disks contains three or more .Tn GEMDOS partitions, you are in trouble. Try using partitions #1 and #2 as the first two .Tn GEMDOS partitions. Use partition #3 as the first .Nx partition. Start the extended partition range with partition #4. Put the other .Nx extended partition range. .bullet) .Pp .Ss2 Booting the installer on an existing system If you already have .Nx installed, it is easy. Just boot into single user mode on your current system, or use the .Ic shutdown now command to shutdown to single-user mode. Then copy the installer using .Ic dd : .Pp .Dl Ic "dd if=sysinst.fs of=/dev/rsd0b" .Pp where .Li /dev/rsd0b should be the device path of the swap partition your system is configured to use. Once the file is copied, reboot back to the booter and use the '-b' option to make the kernel prompt for a root device. Now enter the swap device as your root device to start the installer. .Pp .Ss2 Booting the installer on new systems. If your system has more than 6MB RAM, you can skip directly to the section about .Ic loadbsd.ttp, since the amount of RAM is enough to load the installer into. .Pp For new new installations on small memory systems, things are a bit more complicated. The easiest way is to mark an AHDI partition as id 'SWP'. You can either accomplish this with HDdriver or use the .Ic chg_pid.ttp program supplied on the bootfloppy. To use the fifth partition of your first drive to a swap partition, do the following: .Pp .Dl Ic "chg_pid -w 0 4 SWP" .Pp As you can see, both the drive and the partition numbers are zero based. .Pp When a swap partition has been created, you can transfer the installer using the .Ic file2swp.ttp command, which is also on the bootfloppy. This program copies a (gzipped) file to the first AHDI partition with id 'SWP' on the designated disk. To copy sysinst.fs to your first SCSI disk, use: .Pp .Dl Ic "file2swp -w -f sysinst.fs s0" .Pp Note that .Ic file2swp automatically detects a gzipped file, there is no need for a .gz extension. .Ss2 Using loadbsd.ttp To start the installer, you first need to load a .Nx kernel. This can be done in a couple ways, both of which currently require .Tn GEMDOS . You need either the bootfloppy provided in the distribution or you can copy the .Ic loadbsd.ttp program and kernel to a boot floppy disk (1.44 MB needed) or put them on a .Tn TOS partition. Select the loadbsd program and it will ask for parameters, supply: .Sq Ic "-b netbsd" (or whatever name you copied the kernel to). You can, of course, also run it from the shell command-line in .Tn MiNT : .Pp .Dl Ic "loadbsd -b a:/netbsd" .Pp You should see the screen clear and some information about your system as the kernel configures the hardware. Then you will be prompted for a root device. If you copied the installer to a swap partition, as explained above, you have to enter the swap partition as the boot device. When you used your first SCSI disk, this will be .Ic sd0b. On the first IDE drive it would be .Ic wd0b. .Pp If you didn't copy the installer to swap, you need to use the RAMdisk, so remove the .Tn GEMDOS kernel boot floppy from the drive if present and insert the .Nx install floppy 1. Now enter the name of the boot device depending on the floppy type you have inserted. Use: .(bullet .Ic md0a for the old installer (1MB filesystem) on 720KB floppies. .It .Ic md1a for the sysinst installer on 720KB floppies. .It .Ic md2a for the sysinst installer on 1.44MB floppies. .bullet) The kernel will load the install file system into RAMdisk. While the kernel is loading, it will show a .Sq \&. for each track loaded. After loading 80 tracks, it will ask you to insert the next floppy. At this time, insert the .Nx install floppy 2 and press any key. The kernel continues loading another 40 tracks before it continues to boot.