Date: Fri, 1 Nov 2002 14:40:03 -0800 (PST) From: Kent Palmkvist <kentp@isy.liu.se> To: freebsd-bugs@FreeBSD.org Subject: Re: i386/43222: setrootbyname panic in 4.6 Message-ID: <200211012240.gA1Me3CO070229@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR i386/43222; it has been noted by GNATS.
From: Kent Palmkvist <kentp@isy.liu.se>
To: freebsd-gnats-submit@FreeBSD.org, rrice@molecomputers.com
Cc:
Subject: Re: i386/43222: setrootbyname panic in 4.6
Date: Fri, 01 Nov 2002 23:32:31 +0100
Found a similar problem using a Intel Plato board (90 MHz Pentium board).
The problem is caused by a detection problem of the RZ100? chip. There are
two places that checks for this chip:
/sys/dev/ata/ata-pci.c driver called atapci (detects and tries to use the
chip).
/sys/pci/pcisupport.c driver called ign (dummy routine to make sure the
chip is ignored).
In the installation floppy kernel does the ign driver find the chip first.
The primary channel is then detected later as standard ata channels on the
isa-buss.
In the installed GENERIC kernel does the atapci driver find the chip first.
The driver tries to attach the ata2 channel to the atapci0 controller, but
fails.
The net result of these differences are that the user can boot the install
floppies, do a complete installation, but when booting from the newly
installed harddisk, the kernel panics. Early in the display (taken from a
boot -v) when booting from the harddisk:
atapci0: <RZ 100? ATA controller !WARNING! buggy chip data loss possible>
port 0x3f4-0x3f7,0x1f0-0x1f7 at device 1.0 on pci0
atapci0: Busmastering DMA not supported
atapci0: Busmastering DMA disabled
ata2: iobase=0x01f0 altiobase=0x03f6 bmaddr=0x0000
ata2: mask=03 ostat0=50 ostat2=00
ata2-master: ATAPI 00 00
ata2-slave: ATAPI 00 00
ata2: mask=03 stat0=50 stat1=00
ata2-master: ATA 01 a5
ata2: devices=01
ata2: at 0x1f0 on atapci0
ata2: unable to allocate interrupt
device_probe_and_attach: ata2 attach returned 6
and at the end of the kernel boot:
Mounting root from ufs:/dev/ad0s1a
Root mount failed: 6
Manual root filesystem specification:
<fstype>:<device> Mount <device> using filesystem <fstype>
eg. ufs:/dev/da0s1a
? List valid disk boot devices
<empty line> Abort manual input
mountroot>
A quick and dirty solution to get the system to boot from the harddisk
(tested with 4.7-RELEASE) is to copy the kernel from the install floppies.
The following steps given below does this (got some problems with ad0s1a
not defined in the fixit /dev):
Boot fixit CD
mv /dev /dev.old && ln -s /dist/dev /dev
mkdir /mnt/hd
mount /dev/ad0s1a /mnt/hd
mkdir /mnt/floppy
mount /dev/fd0 /mnt/floppy
cp /mnt/floppy/kernel.gz /mnt/hd/
rm /mnt/hd/kernel
gunzip /mnt/hd/kernel.gz
sync
reboot
A more permanent solution is to remove the recognition of the chip in
/sys/dev/ata/ata-pci.c. The following diff removes the RZ chip recognition:
*** /usr/src/sys/dev/ata/ata-pci.c Fri Nov 1 22:52:35 2002
--- /usr/src/sys/dev/ata/ata-pci.c.orig Fri Nov 1 20:28:15 2002
***************
*** 321,329 ****
/* unsupported but known chipsets, generic DMA only */
case 0x10001042:
case 0x10011042:
! /* return "RZ 100? ATA controller !WARNING! buggy chip data loss
possible"; */
! return NULL;
!
case 0x06401095:
return "CMD 640 ATA controller !WARNING! buggy chip data loss
possible";
--- 321,328 ----
/* unsupported but known chipsets, generic DMA only */
case 0x10001042:
case 0x10011042:
! return "RZ 100? ATA controller !WARNING! buggy chip data loss
possible";
!
case 0x06401095:
return "CMD 640 ATA controller !WARNING! buggy chip data loss
possible";
IMPORTANT NOTE: The RZ100? chips have serious bugs. Beware of the problems.
For more information see:
http://mindprod.com/eideflaw.html
best regards
/Kent
Kent Palmkvist
Electronics Systems
Department of Electrical Engineering
Linkoping University
S-581 83 Linkoping
Sweden
Email: kentp@isy.liu.se
Phone: +46 13 28 13 47
Fax: +46 13 13 92 82
www: http://www.es.isy.liu.se/staff/kentp
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200211012240.gA1Me3CO070229>
