[3626] in Release_7.7_team
Re: 9.1.19 blocking on Linux kernel issue
daemon@ATHENA.MIT.EDU (Greg Hudson)
Sat Dec 14 11:04:44 2002
From: Greg Hudson <ghudson@MIT.EDU>
To: Greg Hudson <ghudson@mit.edu>
Cc: release-team@mit.edu
In-Reply-To: <200212102150.QAA00514@error-messages.mit.edu>
Content-Type: text/plain
Content-Transfer-Encoding: 7bit
Date: 14 Dec 2002 11:04:40 -0500
Message-Id: <1039881880.22111.14.camel@error-messages.mit.edu>
Mime-Version: 1.0
A status update:
On Tue, 2002-12-10 at 16:50, Greg Hudson wrote:
> Some conceivable ways out:
> * If we could identify a source patch for the problem
This avenue has not been going well. There is one bug in Red Hat
bugzilla which is similar
(https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=76237), and it
hasn't been analyzed or fixed by Red Hat. And the problem isn't
sufficiently reproduceable that we could just fire up a kernel debugger
and go to it; it seems to happen once almost every 9.1.18 machine, but
after that it's very sporadic.
> * We could (temporarily) install a Red Hat kernel RPM which contains
> a modified /sbin/mkinitrd, which produces the initrd in some other
> way. The "some other way" is hard to identify
There are two options: we could build a cramfs image (cramfs is a simple
read-only filesystem; a cramfs image can be created by a simple
user-mode tool without any kernel help), or we can use a ramdisk device
instead of a loop device. Unfortunately, Red Hat builds cramfs as a
module in their default kernel config, rendering it useless for an
initrd containing bootstrap modules. Using ramdisk devices is a little
dicey--there's no way to check if a ramdisk device is in use, although
you can check if one is mounted--but as a result, I think no one else
uses them for anything/ So I don't think we should encounter any
problems.
I have created a modified initrd script which uses a ramdisk device, and
verified that it works on one virgin 9.1.18 machine. More testing is
required. I will work on the update script magic to ensure that the
modified initrd is used by the kernel update.