next up previous contents
Next: 6. Kernel Building Up: Sidious Linux 10.04 Previous: 4. Backing up   Contents

5. Upgrading


Subsections

5.1 Determining if you should upgrade

The first step in upgrading is to determine if it is really necessary. Check /etc/issue on your machine to see which version you are currently running. If the release notes, section [*], do not have anything interesting for you, there is probably no point in upgrading.

If you are waiting for a new driver or bug fixes, it may be necessary to also check the more detailed change logs, section [*], to see if anything in an upgrade might affect you.

5.2 How to Upgrade Using the Network or a CDROM

With internet access, it is possible to upgrade using the network from anywhere. The host sidious.isani.org provides read-only access by rsync protocol to the latest stable Sidious root filesystem. Using this server is by far the easiest way to upgrade, if you can get on the network. There are only two steps:

  1. Make sure you have an up-to-date /upgrade-sidious script

    
    root# rsync -au sidious.isani.org::sidious9/upgrade-sidious /upgrade-sidious
    

    (Sidious 9.40+ users can skip the above step. Other users only need to do it once.)

  2. Run the upgrade script and follow the prompts. It will ask you before making any changes to your installation:

    
    root# /upgrade-sidious
    

5.3 How to upgrade using a CDROM

To use a CDROM to upgrade, mount it on /mnt/cdrom. This happens automatically if you have supermount enabled. If not, try:


laptop# mkdir -p /mnt/cdrom
laptop# mount /dev/sr0 /mnt/cdrom

The script which is used to upgrade Sidious is /rsync-sidious. By default, it runs in ``dry run'' mode, which means it will not actually do anything to the hard drive. Try this first, and redirect the output to a log file:


laptop# /mnt/cdrom/rsync-sidious --upgrade --delete /mnt/cdrom >& /tmp/upgrade-dry-run.log

The trailing slash '/' is important to rsync! Also, running the version of ``rsync-sidious'' from /mnt/cdrom, as shown in the command above, rather than the one on your disk may make a difference. Run the newer one in /mnt/cdrom to be safe!

Note that if special options were passed to install-sidious, such as --nodoc or --kernelsrc, that these will be added automatically since install-sidious saves them in the /etc/sidious.config file. To add packages, run reconfig and change these options (see Encapsulated Files -> rsync-upgrade). To remove packages, change the options there also, but the old package will haven to be manually removed. (Even --delete does not remove de-selected packages.)

Now look inside the file /tmp/upgrade.log. The first thing might be a list of files rsync-sidious wants to delete, because they are not part of the distribution (or were cleaned up.) If there are any files or directories you want to keep, you have three options:

  1. Move the files into your home directory, /opt or /apps.
  2. Use reconfig to add the files to the list which should be skipped. This is done under Encapsulated Files -> rsync-upgrade. The syntax is:
    
    rs - /some/directory-or-filename
    
    (look inside /rsync-sidious for details.)
  3. Do the upgrade without the --delete option, which will cause it to add files, but not remove anything.

If any of the above steps have been taken, it is wise to do the dry run upgrade one more time to verify that it will work as desired. Finally, re-run the command, adding --force to the options.

5.3.1 Push-method of upgrading Stand alone hosts

The rsync-sidious script can also be used to push an update from one stand-alone machine to another. At CFHT, this is generally done from the O.S. development host. This method can be much faster than NFS, but requires root access to the development host. Before attempting an upgrade like this, make sure ssh as root works:


[root@huelo:~/] # ssh somehost
Host key not found from the list of known hosts.
Are you sure you want to continue connecting (yes/no)? yes
[root@somehost:~/] # logout
[root@huelo:~/] # _
s Once it has been verified that ssh as root from huelo to the target machine works, the next step is to decide whether you want the development version of the O.S. (e.g., a release with an odd number in /etc/issue) or the last stable CD release. The stable release should be used, so you want to initiate the upgrade like this:


[root@huelo:~/] # cd /sidious-release
[root@huelo:/sidious-release/] # ./rsync-sidious --delete somehost:/ >& /tmp/somehost-dry-run.log

If somehost needs special options, like -nodoc, or others which may appear in its sidious.config:rsync-upgrade file, then these must be added manually here, using the push-method. From this point on, the upgrade works normally as described in the previous section (check that the dry-run does what you want, re-run with -force, etc.)

5.4 Special notes for upgrading from Sidious 9.32 or 9.36 to 9.38

5.4.1 Kernel 2.4.26+: IDE support

The kernel no longer seems to be able to enable DMA on intel IDE controllers unless the special ``piix'' support is compiled in. So it is now compiled in, with other IDE chipset support and work-arounds built as modules. If you are not able to turn DMA on (i.e., /proc/ide/hda/settings still shows ``using_dma:0'' after attempts to turn it on) then you may need to load one of these modules. Unfortunately, IDE disk-spindown on my desktop is problematic with this new IDE code. If I enable disk spin-down, the machine usually locks up when something eventually causes it to try to spin back up. This was never a problem under 2.4.19. For now, if you experience problems with disk spin-down locking up a desktop, the recommendation is to disable this feature. I'm hoping the problem is limited to -smp kernels, so if you experience the same problem on a laptop, please report it, since spin-down is considered an important power-saving feature on a laptop.

5.4.2 Kernel 2.4.26+: USB keyboard support included

If you run the -smp kernel and had USB keyboard support turned on, you will get warnings with 2.4.26 that usbkbd could not be loaded because it is not included in the -smp kernel. Go into ``reconfig'' and turn off the module to get rid of the (harmless) warning.

5.4.3 Kernel 2.4.26+: pcmcia from kernel tree used instead, breaks ide_cs

I have switched over to using the pcmcia-cs modules that come with the Linux kernel as of 2.4.26. rc.pcmcia has been modified to try the ``yenta_socket.o'' driver, but should also continue to work with pcmcia-cs-3.2.7 modules. The versions of the pcmcia drivers with 2.4.26 have not been tested heavily on Sidious. Upgrade with caution, and save your old kernel in case some of your cards don't work under 2.4.26.

/etc/pcmcia/config has also been modified to use kernel-naming for things. This could break an IDE device like a CDROM or disk, in the case that you upgrade Sidious, but not the kernel. If you have one of these pcmcia devices, and need to continue running an older kernel, you must revert the changes to /etc/pcmcia/config, or re-install pcmcia-cs-3.2.7. The easiest way, if you must stay with an older kernel, is to revert the config file. Edit /etc/pcmcia/config and replace all ``ide-cs'' with ``ide_cs''. If you ever change to the newer kernel, you must put them all back to ``ide-cs'', the newer name. (Don't ask me why someone decided to rename the silly module... and, unfortunately, there is no easier way, like renaming the module or making an alias that can work around this.)

5.5 Special notes for upgrading from Sidious 9.32 to 9.36

NOTE: If your previous release is older than 9.32, see the next section as well.

5.5.1 Netscape 6.21

Netscape version 6.21 has been replaced by Mozilla version 1.4. The upgrade process will not remove netscape6 nor will it change your default netscape version. If you want to free some disk space, manually remove /usr/local/netscape6/ after upgrading, and you will automatically be switched to mozilla.

5.6 Special notes for upgrading from Sidious 9.26 to 9.28+

5.6.1 LILO

The version of LILO has changed. The above procedure will never upgrade the kernel or boot program (LILO) automatically. This must be done carefully, and manually. After upgrading, you will see this message if you try to re-run LILO:


Fatal: First boot sector is version 21.4. Expecting version 22.2.

The reason is that you have an old /etc/lilo.conf that contains the line:


install=/boot/boot.b

Either start over and create a new /etc/lilo.conf based on /etc/lilo.conf.default after you've upgraded, or just change the install line to:


install=/boot/boot-menu.b

Then you should be able to re-run LILO. It is probably safe to ignore the warning:


Warning: COMPACT may conflict with LBA32 on some systems

but if you have problems, you may try commenting out compact in /etc/lilo.conf. It works fine on every system I've tried it on, and boots much faster with compact enabled, so try it that way first.

5.6.2 NFS Server

It is no longer enough to just have an /etc/exports encapsulated in the config file. There is now also an option under


Host Setup -> Services (network)
or, versions of sidious before 9.30:

Host Setup -> Daemons -> Services for other computers

which must be turned on to enable the NFS server. In addition, it is recommended use the rmtab setting (see the help).

5.6.3 Autofs via NIS

It is now possible to obtain auto.master as a map, from ypserv. In order to do this, create the relevant map(s) in your NIS database and manually remove any previously existing /etc/auto.master file to switch to using NIS. Up to version 9.28, if an /etc/auto.master existed, the behavior was to use it, and anything found in NIS. As of version 9.29, the behavior has been changed back to what the RedHat 6 hosts used to do: presence of an /etc/auto.master overrides NIS. Unfortunately this behavior is not settable in /etc/nsswitch.conf under Linux as perhaps it should have been.


next up previous contents
Next: 6. Kernel Building Up: Sidious Linux 10.04 Previous: 4. Backing up   Contents
root
2006-05-11