On 2/1/2011 6:22 PM, Jeremy Chadwick wrote:
On Tue, Feb 01, 2011 at 05:34:18PM -0500, Colin Legendre wrote:
Hey All,

I'm having an  odd issue, and the only thing I can imagine is that
there has been a major change between 8.1 and 8.2.

Using the 8.1 kernel everything is dandy.  But when I try to use a
newly compiled kernel from 8.2(GENERIC) I have no luck.  Root will
not mount.

Here are relevant kernel messages under 8.1...


FreeBSD 8.1-RELEASE-p2 #2: Mon Jan 31 19:25:14 EST 2011

atapci2:<Intel ICH7 SATA300 controller>  port
0x30d8-0x30df,0x30cc-0x30cf,0x30d0-0x30d7,0x30c8-0x30cb,0x3060-0x307f
mem 0xc0000400-0xc00007ff irq 19 at device 31.2 on pci0
atapci2: [ITHREAD]
atapci2: AHCI called from vendor specific driver
atapci2: AHCI v1.10 controller with 4 3Gbps ports, PM not supported
ata4:<ATA channel 0>  on atapci2
ata4: [ITHREAD]
ata5:<ATA channel 2>  on atapci2
ata5: [ITHREAD]
ad8: 286168MB<Seagate ST3300622AS 3.AAH>  at ata4-master UDMA100 SATA 3Gb/s
ad10: 286168MB<Seagate ST3300622AS 3.AAH>  at ata5-master UDMA100 SATA 3Gb/s
ar0: 286168MB<Intel MatrixRAID RAID1>  status: READY
ar0: disk0 READY (master) using ad8 at ata4-master
ar0: disk1 READY (mirror) using ad10 at ata5-master
GEOM: ad8s1: geometry does not match label (255h,63s != 16h,63s).
GEOM: ad10s1: geometry does not match label (255h,63s != 16h,63s).
GEOM: ufsid/4bb50de139c19cf4: geometry does not match label
(255h,63s != 16h,63s).
Trying to mount root from ufs:/dev/ar0s1a
WARNING: ufsid/47f409368a08243c expected rawoffset 0, found 63
WARNING: ufsid/4bb50de139c19cf4 expected rawoffset 0, found 63
WARNING: ar0s1a expected rawoffset 0, found 63
WARNING: ad10s1a expected rawoffset 0, found 63
WARNING: ad8s1a expected rawoffset 0, found 63
WARNING: ar0s1 expected rawoffset 0, found 63
WARNING: ad10s1 expected rawoffset 0, found 63
WARNING: ad8s1 expected rawoffset 0, found 63
GEOM: ufsid/4bb50de139c19cf4c: geometry does not match label
(255h,63s != 16h,63s).
GEOM: ad10s1a: geometry does not match label (255h,63s != 16h,63s).
GEOM: ad10s1c: geometry does not match label (255h,63s != 16h,63s).
GEOM: ad8s1a: geometry does not match label (255h,63s != 16h,63s).
GEOM: ad8s1c: geometry does not match label (255h,63s != 16h,63s).


Under 8.2 I don't see...

--->atapci2: AHCI called from vendor specific driver
--->atapci2: AHCI v1.10 controller with 4 3Gbps ports, PM not supported

at all, I don't see the drives, nothing   It drops to the
'mountroot' prompt and when I do ? the only drive I see is the cd
drive.


If I boot back with to 'kernel.old' which is 8.1 Release I have no issues.


Any ideas?
Get rid of Intel MatrixRAID entirely, use gmirror instead.  FreeBSD's
support for MatrixRAID at this time is sub-par.  See Wikipedia's entry
on it, with regards to FreeBSD:
http://en.wikipedia.org/wiki/Intel_Rapid_Storage_Technology

As for the geometry mismatches you see, these are due to changes in
GEOM.  The easiest way is to simply re-create the partitions (not newfs,
I'm talking about fdisk/gpart) under a 8.2 kernel.  This sounds drastic,
but it's what I recommend.  Others may have other recommendations.

As for the AHCI messages, the AHCI capabilities have changed a bit in
FreeBSD in recent days.  There are two AHCI modules now available for
Intel ICHxx or ESBxx cards: ahci.ko and ataahci.ko.

ahci.ko does AHCI->CAM translation, which also gets you NCQ capability
as well as other things.  Your disks will show up as /dev/adaX (read
closely).  ataahci.ko is the "classic" AHCI you're used to.

I strongly advocate use of ahci.ko.  You can load this via
/boot/loader.conf and it will take precedence over ataahci:

ahci_load="yes"

So, I would say if your disks don't show up when you build 8.2, then
your kernel configuration is incorrect, or you have some brokenness in
/boot/loader.conf.  There are other possibilities as well, for example
I'd be curious to know how you went about upgrading from an 8.1-RELEASE
tag to 8.2-PRERELEASE; this implies you went from tag RELENG_8_1 to
RELENG_8.  When you installed 8.1-RELEASE, did you choose to install
src?  If so, did you "adopt" your source tree?  The below FAQ for cvsup
also applies to csup:
http://www.cvsup.org/faq.html#caniadopt

I would recommend you start clean, and make a backup of your kernel
configuration file first of course:

rm -fr /usr/obj/*
rm -fr /usr/src
rm -fr /usr/sup (if you were using cvsup)
rm -fr /var/db/sup/src-*
csup -h some.sup.server -L2 /usr/share/examples/cvsup/stable-supfile
<rebuild world/kernel here, per instructions in src/Makefile>

I will eventually move away from Matrix Raid, but right now I just want to upgrade safely to stable. I was running 7.0 Release. I upgraded using CVSUP/makebuildworld/makebuildkernel etc... to 7 Stable. Everything was fine. Then did same to 8.0 Release. Everything was fine. Then to 8.1 Release. Everything was fine. then to 8 Stable. And then things broke. They only way I can boot is by doing a 'boot kernel.old' which boots the 8.1 Release kernel.



_______________________________________________
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"

Reply via email to