On Sun, 4 Feb 2001, Brent Harding wrote: > How can I upgrade an already patched kernel to the new speakup? I'm running > rh 6.2, and my kernel source is already patched. To answer your question literally, you can't. You have to unpack a fresh tree and repatch. This is the way it goes, sorry. speakup is designed to patch against a fresh tree, not against older versions of itself. Here's what you need to do. Note that if you're upgrading from 0.09 to 0.10 then the procedure will be different than if you're upgrading from 0.10 to CVS. I'm assuming you're upgrading from 0.09 to 0.10 because of how old your system install is. Let me know if this is not the case. OK, you're probably running redhat's kernel 2.2.16 (or something older) and speakup 0.09. Speakup 0.10 requires that you be running kernel 2.2.18 or above or kernel 2.4.0test10 or above. I'd recommend 2.2.18 unless 2.2.19 is out. Now you can get 2.2.18 from ftp.kernel.org or you can get one of the redhat packaged sources (if there are any for 2.2.18). I'm not certain of how to compile with the redhat sources, though bill assures me that this is definitely possible. If you choose to go this route and something listed below doesn't work, consult with bill. Get linux-2.2.18.tar.gz or linux-2.2.18.tar.bz2 from kernel.org or mirror. Place the file in /usr/src. If you have previously compiled a kernel and would like to keep your current settings, move /usr/src/linux/.config (that's dot config in the linux sources directory) out of the way, somewhere safe. If you want to keep this source tree (see next point), you may just want to copy it somewhere else rather than move it, as you will then have the settings still in place for that tree. If you wish to retain your previous source tree for whatever reason, move the /usr/src/linux directory somewhere else so that it doesn't get written over (e.g. mv linux linux-2.2.16 or whatever). If you don't want to keep it, delete it. The unpack will not replace what is already there, so either way it needs to be out of the way or you get ummm. a mess. Unpack the kernel source. If you got the gz file type: tar -zxf linux-2.2.18.tar.gz If you got the bzip2 version type: tar -Ixf linux-2.2.18.tar.bz2 Note that recent versions of tar use j or J instead of I apparently, though mine uses I still. If you want to see a list of files as they unpack, add the 'v' option. Note that this is a *lot* of files so you might be quite happy not to watch them scroll by. Next, read /usr/src/linux/READMe if you haven't already. Now download speakup-0.10a.tar.gz from ftp.linux-speakup.org. Place speakup-0.10a.tar.gz in /usr/src. Unpack speakup with tar -zxf speakup-0.10a.tar.gz Again, add the -v option if you want to see what gets unpacked. This will unpack files to /usr/src/speakup-0.10/ Now read the file INSTALLATION and possibly README in the speakup-0.10 directory (if you haven't read them already). Read INSTALLATION anyway, since it has changed from previous versions. This is in case I forget something important. Next, run the install script that is in /usr/src/speakup-0.10. If you are in that directory, type: ./install If not, type: speakup-0.10/install This will go and patch the kernel. If hunks fail then you have a problem and we need to see the exact output of this. Assuming all hunks succeed, change to /usr/src/linux and type: make mrproper Now, get that .config file you saved (if you saved one) and move it back into /usr/src/linux. Now type: make oldconfig If you want to make substantial changes to your answers since last time, do 'make config' instead and change as necessary. Now go ahead and do: make dep make clean make bzImage make modules make modules_install What you do next depends on your preference and what school you went to. I do 'make bzlilo' and I'm done. Depending on your distro or the phases of the moon, you may want or need to do something else. consult with other redhat gurus at this point. Either way, make sure you have your old image to fall back on if it fails. Now, make an entry in your lilo.conf for your old image in case it all blows up if there isn't one there already. Run lilo again to install the changes you made to /etc/lilo.conf (if you made any). Then cross your fingers and reboot. Geoff.