Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 1 May 2000 21:29:40 -0400
From:      "Paul A. Howes" <pahowes@fair-ware.com>
To:        <freebsd-stable@FreeBSD.ORG>
Subject:   RE: atdisk driver question...
Message-ID:  <PCEHKHHDDCJMAMJLBLNCIEICCDAA.pahowes@fair-ware.com>
In-Reply-To: <PCEHKHHDDCJMAMJLBLNCMEECCDAA.pahowes@fair-ware.com>

next in thread | previous in thread | raw e-mail | index | archive | help
All-

I actually figured out the problem, and solved a couple more.  I thought I'd
pass the info on, "for what it's worth"...

The computer:

An old (1995?) Toshiba Satellite Pro 2400CS with 486SLC-50, 20MB memory,
503MB IDE hard drive, 3c589D 3Com Etherlink III PCMCIA network adapter,
running 3.4-STABLE.  The system doesn't have enough room on the hard drive
to hold the FreeBSD source tree, so I have to NFS mount /usr/src and
/usr/obj from my server (P-100, 24MB, 20GB HD, 3c509B-TP) any time I want to
update the notebook computer.  The server contains a 1-day old CVSup'd
source tree.  I have already performed a "make buildworld" and a "make
buildkernel KERNEL=XXX" on the server, where "XXX" is the name of the
notebook's kernel.

The problem:

I followed the directions in /usr/src/UPDATING for the 3.4->4.0 upgrade.  I
did the same procedure on the server a month ago, so I know the process
works.  I reinstalled mknod, MAKEDEV, and the kernel modules.  I created the
"ad0" series of devices.  I installed the kernel (via NFS) with "make
installkernel KERNEL=XXX".  I rebooted.  The kernel came up without a hitch,
until it tried to look at the hard drive.  It kept telling me that my /usr
partition ran off the end of the disk, and was therefore invalid.

The solution:

Something changed when FreeBSD moved from the "wd" drivers to the "ad"
drivers.  The notebook originally had one physical partition, which
encompassed the boot sector, from using the "dangerously dedicatated" option
during the 3.4 install.  For some reason, the new "ad" drivers can't handle
a partition that breaks that annoying old 500MB barrier.  I wiped the system
clean and reinstalled 3.4S, with a slightly smaller partition.  After
starting the upgrade again, the 4.0S kernel worked fine.  I also tried to
brake the partition into two chunks, so that wds1 contained / and wds2
contained swap, /var, and /usr.  The "ad" driver was also happy with this
configuration.

I ran into a couple of other problems, but here are the solutions I came up
with:

Since I was installing from an NFS-mounted filesystem, I needed the ethernet
card to initialize.  This meant getting pccard up-and-running for the 4.0S
kernel before rebooting.  After installing the kernel, all that needs to be
done is:

	cd /usr/src/usr/sbin/pccard
	make install
	cp /etc/pccard.conf /etc/defaults/pccard.conf

Upon rebooting the system, kldload complains that it cannot find pcic, but
the ethernet card, using the ep driver, functioned perfectly.

And finally, the "make -DNOINFO installworld" failed, because it couldn't
find libc.so.4.  I went into /usr/src/lib/libc and did a simple "make
install", then retreated to /usr/src and did the installworld again.  All
seems well.

Conclusions:

I think it might be beneficial to add the pccard installation to
/usr/src/UPDATING, for those who are doing network upgrades.  It's a simple
thing, and it works.

I don't understand why the system couldn't find libc in the /usr/obj
hierarchy.  I checked, and it's there under
"/usr/obj/usr/src/lib/libc/libc.so.4".  That path my be wrong, as I'm typing
it from memory.

Cheers!

--
Paul A. Howes



-----Original Message-----
From: owner-freebsd-stable@FreeBSD.ORG
[mailto:owner-freebsd-stable@FreeBSD.ORG]On Behalf Of Paul A. Howes
Sent: Saturday, April 29, 2000 9:33 PM
To: freebsd-stable@FreeBSD.ORG
Subject: atdisk driver question...


I recently started upgrading several computers from 3.4S to 4.0S.  The first
one went off without a single problem, and is happily humming right next to
me.  With that success behind me, I decided to upgrade an old Toshiba
Satellite Pro 2400CS notebook computer.

It has worked perfectly with 3.3 and 3.4 in the past.  I followed all of the
instructions for the upgrade process.  When I got to the point of rebooting
with my spiffy new 4.0 kernel, the trouble began...  All of the devices
recognize fine.  The root partition of the hard drive mounts.  Then, I get
an error that /dev/wd0s1f is larger than the partition.  "fsck" also bombs
out, telling me that it cannot read several sectors.  If I reboot with my
3.4S kernel, the system comes up without a hitch.  And yes, I created ad0,
ad0s1[abcdefgh] to match the old "wd" device identifiers.

The only difference I can think of between the two computers, is that the
server I already upgraded has a 20GB hard drive, and an old BIOS.  I had to
partition that to get the whole thing recognized by FreeBSD.  The notebook
computer has the original Toshiba 503MB hard drive, which I used the
"dangerously dedicated" option on when I installed.

So, the short version of this question is, does the new "ad" driver not
handle "dangerously dedicated" systems properly?  Has anyone else seen this
before?  I'm going to try re-installing 3.4S using a "normal" disk
partition, and see what happens.  But, I wanted to send a message to the
list while I'm doing that.

Thanks!

--Paul A. Howes



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-stable" in the body of the message



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-stable" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?PCEHKHHDDCJMAMJLBLNCIEICCDAA.pahowes>