Bending RH 7.2 to my Will

Paul Dickson plug-discuss@lists.PLUG.phoenix.az.us
Sat, 10 Nov 2001 04:59:14 -0700


--=.Vj)5m/lzdfI2S9
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit

I spent 13 hours Saturday getting RH 7.2 installed on my notebook. Perhaps
with this message, some of you will be able to reduce this time to 2 or 3
hours.  This message will help those trying to use devfs or cardbus cards
on a notebook.

First, I must say that my problems were mostly due to my attempts to
upgrade RH 7.2 to the 2.4.14 Linux kernel.  If I had stayed with the
generic installation, I would have not have had the lengthy installation
time.  Although my installation take longer for me to do because I go
through and select all the packages I might want.

The first thing I did was save the original /etc directory.  I would have
had significant difficulties if I hadn't.  I was able to refer to the old
configuration values of a "working" system.  I have three filesystem
partitions on my notebook /, /boot, /home.  I reformated / as ext3 and
upgraded /home to ext3.  /boot was too small to be worth upgrading to
ext3.

RH 7.2 ships with a 2.4.7 kernel.  There is 2.4.9 kernel as an update.  In
fact, RH updated the 2.4.9 kernel again this week (last week it was
2.4.9-9 and this week it is 2.4.9-13).  I wanted to upgrade my system to
2.4.14 with three patches applied: Ext3, LVM, and UML.  All three patches
applied without difficulty.  I also enabled devfd in my kernel.

RH must love GRUB.  RH's kernel RPMs just have to supply a replacement for
grub.conf, no extra work.  GRUB knows how to access the filesystem on
bootup, so it only needs to know the hard disk, partition, and pathname of
the installed kernel.  LILO on the other hand, must have the list of hard
disk blocks that contain the kernel, which means tha LILO must be rerun
every time you install a kernel.  You never have to run GRUB after it has
been put in the MBR.  GRUB also has a pretty in RH 7.2.  But this thread
about GRUB is off my intended topic.

After getting the generic RH 7.2 system up and running, I installed the
2.4.14 kernel on the hard disk and rebooted.  The system came up, mounted
/, but could not find / again to remount it read/write.  RH will not boot
if the hard disks are read-only.

The problem was due to my using devfs and not having devfsd running to
maintain backward compatibility with /dev device names.  I then discovered
devfsd was not installed on my system, it was not on RH 7.2 CDs, and after
a web search, it was not part of RH 7.1 either.  But I did discover that
is was part of the RH 7.1 update.  I decided to get the latest source for
devfsd and compile that.  Naturally, the source would not compile due to
unresolved references.  So I grabbed the RPM from the RH 7.1 update and
installed that.  It's been working great.

Now with devfsd running, the system would boot, and with a tweak to
devfsd's config, I was also was able to get it to boot into X11 (GDM)
(Also see the last paragraph, as that happened here). I was ready for my
next challenge, getting the cardbus network card running.

This proved to be a most lengthy attempt.  With nearly a dozen kernel
compiles (on a 300 MHz PII no less, thankfully I only did one "make
clean").  I fought to get the card to work.  The cardctl program could see
and identify the card, but the system would not initialize it.  The dongle
would light both the 10 and 100 LEDs when the card was reset, but it would
only light the 10 LED afterwards (I'm on a 100base-TX network so this
wasn't good).

After many compilations I had two facts stand out: 1) RH 7.2 was not using
the "kernel" PCMCIA drivers and I was, and 2) the "kernel" cardbus uses
hotplug rather than the PCMCIA stuff.  This led me to /etc/hotplug.
Naturally, I could not make heads or tails hotplug scripts.  Determining
what's wrong with a script is hard, especially in the vaccuum of not
knowing what a script is supposed to do.  But I did now that this worked
in my previous installation on my notebook.  It was running RH 7.1 but
with the kernel upgraded to 2.4.10.

So I decided to peek at my old copy of /etc/hotplug/net.agent to see how
they differed.  And differ they did.  Major changes.  Still not knowing
how the script worked, I renamed the current version of net.agent to
net.agent.new and copied the old version over to replace it.  I then
manually ejected the card and reinserted. Both LEDs blinked on, then the
100 LED turned on.  As a test, I was able to ping other systems on my
network.  I was also able to mount my NFS directories without problems,
which would not work on the generic RH 7.2 kernel.

The only problem I was not able to solved was getting my kernel to boot in
framebuffer mode and then start X11.  I finally removed the framebuffer
from my kernel to get past this problem.  Someday I might try this again.

	-Paul

--=.Vj)5m/lzdfI2S9
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)

iD8DBQE77Rad8BiPBVpHKeYRAkIAAKDf3oWUkGmrcJ3xgApfpRC1y0aXjACg8sRs
ahpM4NXdFzfLOsJJ5qF0kpI=
=PCat
-----END PGP SIGNATURE-----

--=.Vj)5m/lzdfI2S9--