Monday, June 30, 2008

Upgrading SLES10SP1 to SLES10SP1U1


1) Get the RPM files to be used in the upgrade to the machine in question.

st32:/var/tmp/joeuser # ls -alt (output edited for brevity)
-r--r--r-- 1 root root 45570118 Jun 30 15:32 kernel-source-2.6.16.53-0.16.x86_64.rpm
-r--r--r-- 1 root root 1620378 Jun 30 15:32 kernel-syms-2.6.16.53-0.16.x86_64.rpm
-r--r--r-- 1 root root 121758 Jun 30 15:32 perl-Bootloader-0.4.18.11-0.2.x86_64.rpm
-r--r--r-- 1 root root 17204994 Jun 30 15:32 kernel-smp-2.6.16.53-0.16.x86_64.rpm
-r--r--r-- 1 root root 16846928 Jun 30 15:32 kernel-default-2.6.16.53-0.16.x86_64.rpm
-r--r--r-- 1 root root 17682230 Jun 30 15:32 kernel-debug-2.6.16.53-0.16.x86_64.rpm

NOTE: In my example, I don't need the kernel-default-* or kernel-debug-* RPMs.

2) Upgrade the perl-Bootloader RPM.

# What's there now?
st32:/var/tmp/joeuser # rpm -qa | grep '^perl-Boot'
perl-Bootloader-0.4.15-0.6

# Upgrade it!
st32:/var/tmp/joeuser # rpm -U perl-Bootloader-0.4.18.11-0.2.x86_64.rpm

# Now, what's there?
st32:/var/tmp/joeuser # rpm -qa | grep '^perl-Boot'
perl-Bootloader-0.4.18.11-0.2

3) Upgrade the kernel RPMs.

# What's there now?
st32:/var/tmp/joeuser # rpm -qa | sort | grep '^kernel-'
kernel-smp-2.6.16.46-0.12
kernel-source-2.6.16.46-0.12
kernel-syms-2.6.16.46-0.12

# Upgrade the kernel-smp-* RPM
st32:/var/tmp/joeuser # rpm -U kernel-smp-2.6.16.53-0.16.x86_64.rpm
Setting up /lib/modules/2.6.16.53-0.16-smp
Root device: /dev/disk/by-id/scsi-SATA_Maxtor_6Y120M0_Y3PRT2QE-part2 (/dev/sda2) (mounted on / as reiserfs )
Module list: amd74xx sata_nv processor thermal fan reiserfs edd (xennet xenblk)

Kernel image: /boot/vmlinuz-2.6.16.53-0.16-smp
Initrd image: /boot/initrd-2.6.16.53-0.16-smp
Shared libs: lib64/ld-2.4.so lib64/libacl.so.1.1.0 lib64/libattr.so.1.1.0 lib64/libc-2.4.so lib64/libdl-2. 4.so lib64/libhistory.so.5.1 lib64/libncurses.so.5.5 lib64/libpthread-2.4.so lib64/libreadline.so.5.1 lib64/l ibrt-2.4.so lib64/libuuid.so.1.2 lib64/libnss_files-2.4.so lib64/libnss_files.so.2 lib64/libgcc_s.so.1

Driver modules: ide-core ide-disk scsi_mod sd_mod amd74xx libata sata_nv processor thermal fan edd
Filesystem modules: reiserfs
Including: initramfs fsck.reiserfs
Bootsplash: SuSE-SLES (800x600)
15311 blocks

# Upgrade the kernel-syms-* RPM. Use the "--nodeps" option because, currently, there would
# be a circular dependentcy.
# (e.g. kernel-syms is dependent on kernel-source which is dependent on kernel-sysms)
st32:/var/tmp/joeuser # rpm -U --nodeps kernel-syms-2.6.16.53-0.16.x86_64.rpm

# Upgrade the kernel-source-* RPM. Probably didn't have to use the "--nodeps" option, since
# the kernel-syms-* RPM got installed above, but did anyway.
st32:/var/tmp/joeuser # rpm -U --nodeps kernel-source-2.6.16.53-0.16.x86_64.rpm
Changing symlink /usr/src/linux from linux-2.6.16.46-0.12 to linux-2.6.16.53-0.16
Changing symlink /usr/src/linux-obj from linux-2.6.16.46-0.12-obj to linux-2.6.16.53-0.16-obj

# Reboot to see the magic take effect.
st32:/var/tmp/joeuser # init 6