$NetBSD: upgrade,v 1.12 1998/01/09 18:45:48 perry Exp $ The upgrade to NetBSD _VER is a binary upgrade; it would be prohibitive to make users upgrade by compiling and installing the _VER sources, and it would be very difficult to even compile a set of instructions that allowed them to do so. Because of the various changes to the system, it is impractical to upgrade by recompiling from the sources and installing. To do the upgrade, you must have the NetBSD kernel on AmigaDOS and you must transfer the miniroot file system miniroot.fs onto the swap partition of the NetBSD hard disk. You must also have at least the "base" binary distribution set available, so that you can upgrade with it, using one of the upgrade methods described above. Finally, you must have sufficient disk space available to install the new binaries. Since the old binaries are being overwritten in place, you only need space for the new binaries, which weren't previously on the system. If you have a few megabytes free on each of your root and /usr partitions, you should have enough space. Since upgrading involves replacing the kernel, and most of the system binaries, it has the potential to cause data loss. You are strongly advised to BACK UP ANY IMPORTANT DATA ON YOUR DISK, whether on the NetBSD partition or on another operating system's partition, before beginning the upgrade process. To upgrade your system, follow the following instructions: Transfer the miniroot file system onto the hard disk partition used by NetBSD for swapping, as described in the "Preparing your System for NetBSD Installation" section above. Now boot up NetBSD using the _VER kernel using the loadbsd command: loadbsd -b netbsd If you machine has a split memory space, like, e.g., DraCo machines, use this instead: loadbsd -bn2 netbsd * Directly booting NetBSD, with boot blocks installed: [This description is for V40 (OS 3.1) ROMs. For older ROMs, there might be small differences. Check your AmigaOS documentation to learn about the exact procedure.] [XXX another note about bootblock support?] Reboot your machine, holding down both mouse buttons if you have a 2-button mouse, the outer mouse buttons if you have a 3-button mouse. On the DraCo, press the left mouse button instead, when the boot screen prompts you for it. From the boot menu, select "Boot Options". Select the swap partition with the miniroot, and then "ok". Select "Boot" now. The machine will boot the bootblock, which will prompt your for a command line. You have a few seconds time to change the default. Entering an empty line will accept the default. The bootblock uses command lines of the form: file options where file is the kernel file name on the partition where the boot block is on, and options are the same as with loadbsd. E.g., instead of "loadbsd -bsSn2 netbsd" use "netbsd -bsSn2". * Once your kernel boots: You should see the screen clear and some information about your system as the kernel configures the hardware. Note which hard disk device is configured that contains your root and swap partition. When prompted for the root device, type 'sd0b' (replacing 0 with the disk number that NetBSD used for your root/swap device). When you reach the prompt asking you for a shell name, just hit return. You will be presented with some information about the upgrade process and a warning message, and will be asked if you wish to proceed with the upgrade process. If you answer negatively, the upgrade process will stop, and your disk will not be modified. If you answer affirmatively, the upgrade process will begin, and your disk will be modified. You may hit Control-C to stop the upgrade process at any time. However, if you hit it at an inopportune moment, your system may be left in an inconsistent (and possibly unusable) state. You will now be greeted and reminded of the fact that this is a potential dangerous procedure and that you should not upgrade the etc-set. When you decide to proceed, you will be prompted to enter your root disk. After you've done this, it will be checked automatically to make sure that the filesystem is in a sane state before making any modifications. After this is done, you will be asked if you want to configure your network. You are now allowed to edit your fstab. Normally you don't have to. Note that the upgrade-kit uses it's own copy of the fstab. Whatever you do here *won't* affect your actual fstab. After you are satisfied with your fstab, the upgrade-kit will check all filesystems mentioned in it. When they're ok, they will be mounted. You will now be asked if your sets are stored on a normally mounted filesystem. You should answer 'y' to this question if you have the sets stored on a filesystem that was present in the fstab. The actions you should take for the set extraction are pretty logical (I think). After you have extracted the sets, the upgrade kit will proceed with setting the timezone and installing the kernel and bootcode. This is all exactly the same as described in the installation section. Your system has now been upgraded to NetBSD _VER. After a new kernel has been copied to your hard disk, your machine is a complete NetBSD _VER system. However, that doesn't mean that you're finished with the upgrade process. There are several things that you should do, or might have to do, to insure that the system works properly. You will probably want to get the etc distribution, extract it, and compare its contents with those in your /etc directory. You will probably want to replace some of your system configuration files, or incorporate some of the changes in the new versions into yours. You will want to delete old binaries that were part of the version of NetBSD that you upgraded from and have since been removed from the NetBSD distribution. If upgrading from a NetBSD version older than 1.0, you might also want to recompile any locally-built binaries, to take advantage of the shared libraries. (Note that any new binaries that you build will be dynamically linked, and therefore take advantage of the shared libraries, by default. For information on how to make statically linked binaries, see the cc(1) and ld(1) manual pages.)