Help: Kernel Patching for a 6400


Subject: Help: Kernel Patching for a 6400
From: Brandon Murakami (bmurakami@ucdavis.edu)
Date: Sat May 20 2000 - 01:50:58 MDT


Hi, I am new to Linux. I like the Linux kernal very much; it's much
better than Mac OS 9 or Windows 98. However, I hate most Linux
software. Furthermore, I'm forced to use Linux (or some kind of
Unix) because I'm a physicist. I would love to try turning my 6400
into a Linux machine with MOL. That would seeming solve all my
problems.

But (always a but with Unix), I don't know how to go about patching
the Linux kernel. I'm capable of reading and executing the
/usr/doc/mol-0.9.38/Kernel_Patches/PATCHING file verbatim, but I
don't understand some of the phrases. I will quote the part that I
have trouble with:

*1. Look for the patch of your favorite kernel. If it is missing,
* then there is a fair chance one of the supplied patches
* will apply anyway.
*
* In the following, it will be assumed X is the file name
* of the kernel patch (e.g. 'mol-kernel-pmac-stable.patch').
* It is also assumed that the directory of the kernel source
* is /usr/src/linux.

"Favorite-kernel"--I assume "favorite" means the kernel that I'm
using, which is the one that came with the LinuxPPC 2000 CD, version
2.2.15pre3. There is no patch with that name, so I chose the nicest
sounding name, mol-kernel-pmac-stable.patch. I then attempted step 2.

*2. The following sequence will test (without actually doing
* anything) if the patch applies:
*
* cd Doc/Kernel_Patches
* patch --dry-run -d /usr/src/linux -p0 < X

So I type in:

>patch --dry-run -d /usr/src/linux -p0 < mol-kernel-pmac-stable.patch

And I get a message telling me the patch won't work:

:Hunk #2 succeeded at 144 (offset 4 lines).
:Hunk #3 succeeded at 556 (offset 14 lines).
:Hunk #4 succeeded at 576 (offset 4 lines).
:Hunk #5 succeeded at 665 (offset 14 lines).
:patch: **** malformed patch at line 85: li r20,MSR_KERNEL

So, I read the section in PATCHING called "What to when the patch did
not apply". And I cannot get past step 1 because of the cryptic
language:

*1. If there was only a few hunks that was rejected, then the
* simplest thing is to examine the rejected patch
* (e.g. head.S.rej) and apply it manually (in principal,
* lines with a leading `+` should be inserted and lines
* with a leading `-` deleted).

Finally, here are my questions. What does this mean? What is
head.S.rej? What does it mean to "apply it manually"? And what's
this + and - business? Or did I go wrong at some earlier step?

Please help sell this Macintosh user on the virtues of Linux.

Brandon



This archive was generated by hypermail 2a24 : Sat May 20 2000 - 01:50:51 MDT