NetBSD-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Boot (i386) hangs in absence of video hardware [solved]



[grrrr... apologies if a duplicate appears as I orginally
posted this to the -owner address  <:-( ]

Hi,

I've managed to get a NetBSD 3.1 system running on a Dell
PowerVault 715N (PV715N) and summarize the approach, here,
for posterity... :>  [note to future googlers:  I change
email addresses used in public fora frequently so any
email address here will undoubtedly be invalid when you
find this]

This started out life as a Windows-ish NAS (the CoA claims
"Windows 2000 Svr NoClstr SAK 2.0 1-4 CPU").  It supports
4 PATA drives with dual 100Mb ethernet in a 1U case (and
runs surprisingly cool -- though a fair bit of fan noise!).
There is no support for removable drives (CD, floppy, USB).

It is designed to run headless.  *No* video hardware or
keyboard available.  It is intended to be configured via
a serial console (115K 8N1 XON/XOFF).  It has a single
"short" PCI slot on a right-angle riser card (i.e, 1U
means it is "sideways").

[N.B. If you remove the guts from the case and reconnect
them on a suitable worksurface, the riser card can be
removed and a regular PCI video card installed -- or any
other PCI card -- on a temporary basis.  This was done to
to identify the boot problems I was having.  An nVidia
GeForce 6200A was used.]

I built the NetBSD system on a more conventional PC (i.e.,
removable media to boot from, traditional console, etc.).
Then, a new "PV715N" kernel was built with:
    options CONSDEVNAME="\"com\""
    options CONADDR=0x3f8
    options CONSPEED=115200
    options CONS_OVERRIDE
and installed as /netbsd (the required devices can be
extracted from the dmesg(8) that follows).  The original
kernel was preserved and renamed as /netbsd.old to
facilitate booting it on the non-PV715N system on which
it was built -- in case I botched the PV715N build!)

The dmesg(8) output from the two system configurations
(original kernel with video card installed; modified
kernel without video card installed) is presented, below.

Lines enclosed in curly braces {} were only present in the
hardware configuration "with video card" and original kernel.
Lines enclosed in square brackets [] were only present in the
hardware configuration "without video card" and new kernel.

[Note that the kernel doesn't impose a "137GB" limitation on
the drives -- apparently a complaint of the Windows version
of this box (?).  My apologies for not installing drives in
the second two slots -- the Promise controller -- for this
dmesg(8) to confirm it's support of larger drives as well.]

Specifically, the installed video card configuration added:
  vga0 at pci0 dev 13 function 0: NVIDIA product 0x0221 (rev. 0xa1)
  wsdisplay0 at vga0 kbdmux 1: console (80x25,vt100 emulation)
  wsmux1: connecting to wsdisplay0
  wsdisplay0: screen 1-7 added (80x25, vt100 emulation)
and
  pckbd0 at pckbc0 (kbd slot)
  pckbc0: using irq 1 for kbd slot
  wskbd0 at pckbd0: console keyboard, using wsdisplay0
The "vga0" device corresponds to the video hardware on the
card while the wsdisplay/wsmux devices are consequences of
that device's presence.

I am unsure why the "pckbd0" device appeared in the probe as
the video card has no apparent "keyboard" connection.  But,
the wskbd0 device is obviously a consequence of that device's
presence.

These devices were absent from the PV715N kernel.  But, the
use of the serial port as the console device was highlighted
by the mention of:
  com0: console
in the dmesg(8) output.

The console's login prompt is not initially apparent on the
serial port (in my current configuration).  This is because
the getty(8) for the console (in ttys(5)) remains configured
as "Pc" -- which declares "br#9600".  Manually setting the
external terminal's baudrate to "9600" issues a prompt when
a newline is entered.

[Note that the kernel still wants to treat the "console" as
operating at 115200 baud so this configuration is unstable.
In particular, the shutdown messages will be emitted at
that higher baudrate!  I.e., pick something consistent for
the baudrate -- 9600, 115200, etc. -- and then make the
required changes *throughout* the system.]

Still to do:
* investigate the fxp(4) "May need receiver lock-up workaround"
  messages (i.e., what symptoms confirm the need for this?).
* decide which PCI card to install (USB or SCSI) and the
  devices to include in the final kernel to support that.

In hindsight, an easier approach would be to build the
system and PXE boot the PV715N for installation over the wire.

Thanks to those folks who pointed me in the right direction,
here!

HTH,
--don

-------------8<---------------------8<-------------
NetBSD 3.1 (KERNEL) #0: Fri Mar  4 10:49:46 MST 2011
    dgy%devel.nowhere.com@localhost:/Source/src/sys/arch/i386/compile/KERNEL
total memory = 1023 MB
avail memory = 996 MB
BIOS32 rev. 0 found at 0xfdb30
PCI BIOS rev. 2.1 found at 0xfdb51
pcibios: config mechanism [1][x], special cycles [x][x], last bus 1
PCI IRQ Routing Table rev. 1.0 found at 0xf7970, size 128 bytes (6 entries)
PCI Interrupt Router at 000:07:0 (VIA Technologies VT82C686A PCI-ISA Bridge compatible)
mainbus0 (root)
cpu0 at mainbus0: (uniprocessor)
cpu0: Intel Pentium III (686-class), 997.53 MHz, id 0x68a
cpu0: features 387fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR>
cpu0: features 387fbff<PGE,MCA,CMOV,PAT,PSE36,PN,MMX>
cpu0: features 387fbff<FXSR,SSE>
cpu0: I-cache 16 KB 32B/line 4-way, D-cache 16 KB 32B/line 4-way
cpu0: L2 cache 256 KB 32B/line 8-way
cpu0: ITLB 32 4 KB entries 4-way, 2 4 MB entries fully associative
cpu0: DTLB 64 4 KB entries 4-way, 8 4 MB entries 4-way
cpu0: serial number XXXX-XXXX-XXXX-XXXX-XXXX-XXXX
cpu0: 8 page colors
pci0 at mainbus0 bus 0: configuration mode 1
pci0: i/o space, memory space enabled, rd/line, rd/mult, wr/inv ok
pchb0 at pci0 dev 0 function 0
pchb0: VIA Technologies VT82C691 (Apollo Pro) Host-PCI (rev. 0xc4)
agp0 at pchb0: aperture at 0xe0000000, size 0x10000000
ppb0 at pci0 dev 1 function 0: VIA Technologies VT82C598 (Apollo MVP3) CPU-AGP Bridge (rev. 0x00)
pci1 at ppb0 bus 1
pci1: memory space enabled
pcib0 at pci0 dev 7 function 0
pcib0: VIA Technologies VT82C686A PCI-ISA Bridge (rev. 0x40)
VIA Technologies VT82C586A IDE Controller (IDE mass storage, interface 0x8a, revision 0x06) at pci0 dev 7 function 1 not configured VIA Technologies VT82C686A SMBus Controller (miscellaneous bridge, revision 0x40) at pci0 dev 7 function 4 not configured
{vga0 at pci0 dev 13 function 0: NVIDIA product 0x0221 (rev. 0xa1)}
{wsdisplay0 at vga0 kbdmux 1: console (80x25,vt100 emulation)}
{wsmux1: connecting to wsdisplay0}
{wsdisplay0: screen 1-7 added (80x25, vt100 emulation)}
fxp0 at pci0 dev 14 function 0: i82559 Ethernet, rev 8
fxp0: interrupting at irq 5
fxp0: May need receiver lock-up workaround
fxp0: Ethernet address 00:c0:9f:XX:XX:XX
inphy0 at fxp0 phy 1: i82555 10/100 media interface, rev. 4
inphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
fxp1 at pci0 dev 15 function 0: i82559 Ethernet, rev 8
fxp1: interrupting at irq 7
fxp1: May need receiver lock-up workaround
fxp1: Ethernet address 00:c0:9f:XX:XX:XX
inphy1 at fxp1 phy 1: i82555 10/100 media interface, rev. 4
inphy1: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
Promise Technology PDC20265 Ultra/100 IDE controller (miscellaneous mass storage, revision 0x02) at pci0 dev 16 function 0 not configured
isa0 at pcib0
com0 at isa0 port 0x3f8-0x3ff irq 4: ns16550a, working fifo
[com0: console]
pckbc0 at isa0 port 0x60-0x64
{pckbd0 at pckbc0 (kbd slot)}
{pckbc0: using irq 1 for kbd slot}
{wskbd0 at pckbd0: console keyboard, using wsdisplay0}
wdc0 at isa0 port 0x1f0-0x1f7 irq 14
atabus0 at wdc0 channel 0
pcppi0 at isa0 port 0x61
midi0 at pcppi0: PC speaker
spkr0 at pcppi0
sysbeep0 at pcppi0
isapnp0 at isa0 port 0x279: ISA Plug 'n Play device support
npx0 at isa0 port 0xf0-0xff: using exception 16
isapnp0: no ISA Plug 'n Play devices found
apm0 at mainbus0: Power Management spec V1.2
apm0: A/C state: on
apm0: battery charge state: no battery
Kernelized RAIDframe activated
wd0 at atabus0 drive 0: <WDC WD1600JB-00GVC0>
wd0: drive supports 16-sector PIO transfers, LBA48 addressing
wd0: 149 GB, 310101 cyl, 16 head, 63 sec, 512 bytes/sect x 312581808 sectors
wd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 5 (Ultra/100)
wd1 at atabus1 drive 0: <WDC WD1600AAJB-00PVA0>
wd1: drive supports 16-sector PIO transfers, LBA48 addressing
wd1: 149 GB, 310101 cyl, 16 head, 63 sec, 512 bytes/sect x 312581808 sectors
wd1: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 5 (Ultra/100)
boot device: wd0
root on wd0a dumps on wd0b
root file system type: ffs
Accounting started
-------------8<---------------------8<-------------


Home | Main Index | Thread Index | Old Index