Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 9 Dec 1998 10:51:50 +0000
From:      D.M.Pick@qmw.ac.uk
To:        FreeBSD-gnats-submit@FreeBSD.ORG
Subject:   conf/9028: DMPno1 - kernel build fails with "device opl0" and "controller snd0"
Message-ID:  <E0znhDi-000169-00@xi.css.qmw.ac.uk>

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

>Number:         9028
>Category:       conf
>Synopsis:       DMPno1 - kernel build fails with "device opl0" and "controller snd0"
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Quarter:
>Keywords:
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Wed Dec  9 03:00:01 PST 1998
>Last-Modified:
>Originator:     David Pick
>Organization:
>Release:        FreeBSD 3.0-RELEASE i386
>Environment:

	FreeBSD 3.0 installed from Walnut Creek CDROM on a
	Toshiba Libretto 50CT.

>Description:

	Attempting to build a custom kernel failed with various
	symbols all starting "_MIDIbuf_" missing during the final
	link stage. Configuration file included "controller snd0"
	and "device opl0"

>How-To-Repeat:

	Repeat the attempt to build the kernel using:

#
# LIBRETTO based on GENERIC -- Generic machine with WD/AHx/NCR/BTx family disks
#
# For more information read the handbook part System Administration -> 
# Configuring the FreeBSD Kernel -> The Configuration File. 
# The handbook is available in /usr/share/doc/handbook or online as
# latest version from the FreeBSD World Wide Web server 
# <URL:http://www.FreeBSD.ORG/>;
#
# An exhaustive list of options and more detailed explanations of the 
# device lines is present in the ./LINT configuration file. If you are 
# in doubt as to the purpose or necessity of a line, check first in LINT.
#
#	$Id: GENERIC,v 1.125 1998/10/16 01:30:11 obrien Exp $

machine		"i386"
#cpu		"I386_CPU"
#cpu		"I486_CPU"
cpu		"I586_CPU"
#cpu		"I686_CPU"
ident		LIBRETTO
maxusers	32

options		MATH_EMULATE		#Support for x87 emulation
options		INET			#InterNETworking
options		FFS			#Berkeley Fast Filesystem
options		FFS_ROOT		#FFS usable as root device [keep this!]
options		MFS			#Memory Filesystem
options		MFS_ROOT		#MFS usable as root device, "MFS" req'ed
options		NFS			#Network Filesystem
options		NFS_ROOT		#NFS usable as root device, "NFS" req'ed
options		MSDOSFS			#MSDOS Filesystem
options		"CD9660"		#ISO 9660 Filesystem
options		"CD9660_ROOT"		#CD-ROM usable as root. "CD9660" req'ed
options		"EXT2FS"		#Linux "ext2fs" Filesystem
options		PROCFS			#Process filesystem
options		"COMPAT_43"		#Compatible with BSD 4.3 [KEEP THIS!]
options		SCSI_DELAY=15000	#Be pessimistic about Joe SCSI device
options		UCONSOLE		#Allow users to grab the console
options		FAILSAFE		#Be conservative
options		USERCONFIG		#boot -c editor
options		VISUAL_USERCONFIG	#visual boot -c editor

config		kernel	root on wd0

controller	isa0
#controller	eisa0
#controller	pci0

#controller	fdc0	at isa? port "IO_FD1" bio irq 6 drq 2 vector fdintr
#disk		fd0	at fdc0 drive 0
#disk		fd1	at fdc0 drive 1
# Unless you know very well what you're doing, leave ft0 at drive 2, or
# remove the line entirely if you don't need it.  Trying to configure
# it on another unit might cause surprises, see PR kern/7176.
#tape		ft0	at fdc0 drive 2

#options		"CMD640"	# work around CMD640 chip deficiency
controller	wdc0	at isa? port "IO_WD1" bio irq 14 vector wdintr
disk		wd0	at wdc0 drive 0
#disk		wd1	at wdc0 drive 1

#controller	wdc1	at isa? port "IO_WD2" bio irq 15 vector wdintr
#disk		wd2	at wdc1 drive 0
#disk		wd3	at wdc1 drive 1

#options		ATAPI		#Enable ATAPI support for IDE bus
#options		ATAPI_STATIC	#Don't do it as an LKM
#device		wcd0		#IDE CD-ROM
#device		wfd0		#IDE Floppy (e.g. LS-120)

# A single entry for any of these controllers (ncr, ahb, ahc, amd) is
# sufficient for any number of installed devices.
#controller	ncr0
#controller	amd0
#controller	ahb0
#controller	ahc0
#controller	isp0

# This controller offers a number of configuration options, too many to
# document here  - see the LINT file in this directory and look up the
# dpt0 entry there for much fuller documentation on this.
#controller      dpt0

#controller	adv0	at isa? port ? cam irq ?
#controller	adw0
#controller	bt0	at isa? port ? cam irq ?
#controller	aha0	at isa? port ? cam irq ?
#controller	uha0	at isa? port "IO_UHA0" bio irq ? drq 5 vector uhaintr
#!CAM#controller	aic0	at isa? port 0x340 bio irq 11 vector aicintr
#controller	nca0	at isa? port 0x1f88 bio irq 10 vector ncaintr
#controller	nca1	at isa? port 0x350 bio irq 5 vector ncaintr
#controller	sea0	at isa? bio irq 5 iomem 0xc8000 iosiz 0x2000 vector seaintr

controller	scbus0

device		da0

device		sa0

device		pass0

device		cd0	#Only need one of these, the code dynamically grows

#device		wt0	at isa? port 0x300 bio irq 5 drq 1 vector wtintr
#device		mcd0	at isa? port 0x300 bio irq 10 vector mcdintr

#controller	matcd0	at isa? port 0x230 bio

#device		scd0	at isa? port 0x230 bio

# syscons is the default console driver, resembling an SCO console
device		sc0	at isa? port "IO_KBD" conflicts tty irq 1 vector scintr
# Enable this and PCVT_FREEBSD for pcvt vt220 compatible console driver
#device		vt0	at isa? port "IO_KBD" conflicts tty irq 1 vector pcrint
#options		XSERVER			# support for X server
#options		FAT_CURSOR		# start with block cursor
# If you have a ThinkPAD, uncomment this along with the rest of the PCVT lines
#options		PCVT_SCANSET=2		# IBM keyboards are non-std

device		npx0	at isa? port "IO_NPX" irq 13 vector npxintr

#
# Laptop support (see LINT for more options)
#
device		apm0    at isa?	flags 0x31 # Advanced Power Management

# PCCARD (PCMCIA) support
controller	card0
device		pcic0	at card?
device		pcic1	at card?

# You may need to reset all pccards after resuming
options		PCIC_RESUME_RESET	# reset after resume

device		sio0	at isa? port "IO_COM1" flags 0x20010 tty irq 4 vector siointr
device		sio1	at isa? port "IO_COM2" flags 0x20000 tty irq 3 vector siointr
device		sio2	at isa? disable port "IO_COM3" tty irq 15 vector siointr
device		sio3	at isa? disable port "IO_COM4" tty irq 9 vector siointr

#device		lpt0	at isa? port? tty irq 7 vector lptintr

controller	ppc0	at isa? port? tty irq 7 vector ppcintr
controller	ppbus0
controller	vpo0	at ppbus?
device		nlpt0	at ppbus?
device		plip0	at ppbus?

device		psm0	at isa? port "IO_KBD" conflicts tty irq 12 vector psmintr

# Order is important here due to intrusive probes, do *not* alphabetize
# this list of network interfaces until the probes have been fixed.
# Right now it appears that the ie0 must be probed before ep0. See
# revision 1.20 of this file.
#device de0
#device fxp0
#device tl0
#device tx0
#device vx0
#device xl0

#device ed0 at isa? port 0x280 net irq 10 iomem 0xd8000 vector edintr
#device ie0 at isa? port 0x300 net irq 10 iomem 0xd0000 vector ieintr
device ep0 at isa? disable port 0x300 net irq 10 vector epintr
#device ex0 at isa? port? net irq? vector exintr
#device fe0 at isa? port 0x300 net irq ? vector feintr
#device le0 at isa? port 0x300 net irq 5 iomem 0xd0000 vector le_intr
#device lnc0 at isa? port 0x280 net irq 10 drq 0 vector lncintr
#device ze0 at isa? port 0x300 net irq 10 iomem 0xd8000 vector zeintr
#device zp0 at isa? port 0x300 net irq 10 iomem 0xd8000 vector zpintr
#device cs0 at isa? port 0x300 net irq ? vector csintr

pseudo-device	loop
pseudo-device	ether
pseudo-device	sl	2
pseudo-device	ppp	2
pseudo-device	tun	2
pseudo-device	pty	16
pseudo-device	gzip		# Exec gzipped a.out's

pseudo-device	vn	2	# Vnode deiver (turns a file into a device)
pseudo-device	snp	4	# Snoop device - to look at pty/vty/etc..

# 
# The PPP_BSDCOMP option enables support for compress(1) style entire 
# packet compression, the PPP_DEFLATE is for zlib/gzip style compression.
# PPP_FILTER enables code for filtering the ppp data stream and selecting
# events for resetting the demand dial activity timer - requires bpfilter.
# See pppd(8) for more details.
#

options	PPP_BSDCOMP			#PPP BSD-compress support
options	PPP_DEFLATE			#PPP zlib/deflate/gzip support
options	PPP_FILTER			#enable bpf filtering (needs bpfilter)

# KTRACE enables the system-call tracing facility ktrace(2).
# This adds 4 KB bloat to your kernel, and slightly increases
# the costs of each syscall.
options		KTRACE		#kernel tracing

# This provides support for System V shared memory.
#
options		SYSVSHM

# These two options provide support for System V Interface  
# Definition-style interprocess communication, in the form
# of shared semaphores and message-queues respectively.
options		SYSVSEM
options		SYSVMSG

#  The `bpfilter' pseudo-device enables the Berkeley Packet Filter.  Be
#  aware of the legal and administrative consequences of enabling this
#  option.  The number of devices determines the maximum number of
#  simultaneous BPF clients programs runnable.
pseudo-device	bpfilter	8	#Berkeley packet filter

# Allow user-mode programs to manipulate their local descriptor tables.
# This option is required for the WINE Windows(tm) emulator, and is
# not used for anything else (that we know of).
options		USER_LDT

# This option includes a MD5 routine in the kernel, this is used for
# various authentication and privacy used.
options		"MD5"

options		IPX			# Novell IPX/SPX protocols

options		NETATALK		# Appletalk protocols

options		MROUTING		# Multicast routing

options		IPFIREWALL		# Firewall
options		IPFIREWALL_VERBOSE	# Say something about dropped packets
options		"IPFIREWALL_VERBOSE_LIMIT=100"	# Say it only so many times
#options	IPFIREWALL_DEFAULT_TO_ACCEPT	# Allow everything by default
options		IPDIVERT		# Include divert sockets

controller	snd0
device		opl0	at isa? port 0x388	# Yamaha OPL-3

>Fix:
	
	Noted the files containing the references were "soundcard.o" and
	"soundswitch.o". Found where these files were referenced in
	"/usr/src/sys/i386/conf/files.i386" and added another line to
	that file to include "i386/isa/sound/midibuf.c" under the same
	conditions as used for "i386/isa/sound/soundswitch.c" and
	"i386/isa/sound/soundcard.c". Attempting the kernel build
	again now works - and the kernel runs. Noted that there were
	already lines for this file to include it if various sound
	devices were present - but not for "opl". I'm not sure if
	there should also be one for "opl" as well, but I'm fairly
	sure that the one for "snd" should be there if files included
	for the "snd" option call code in "midibuf.c". Admittedly,
	I don't fully inderstand the "config" command... and normally
	you wouldn't include "snd" without specifying an actual device
	as well.

	I'd appreciate being informed of the correct changes to make
	ASAP even though I've rated the problem as "medium" priority
	for general fixing in the next release.

-- 
	David Pick
	D.M.Pick@qmw.ac.uk

>Audit-Trail:
>Unformatted:

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?E0znhDi-000169-00>