Issues with ar0(Host Raid) adaptec after upgrade to 8.2
Jeremy Chadwick
freebsd at jdc.parodius.com
Tue Feb 1 23:22:12 UTC 2011
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>
--
| Jeremy Chadwick jdc at parodius.com |
| Parodius Networking http://www.parodius.com/ |
| UNIX Systems Administrator Mountain View, CA, USA |
| Making life hard for others since 1977. PGP 4BD6C0CB |
More information about the freebsd-stable
mailing list