Port-mac68k archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
custom kernel problems
Hi,
while trying to get netbooting on my Quadra 700 to function, I would
like to build a custom netbsd kernel. Since I want a kernel without any
SCSI-support (evrything should work via NFS), I copied the SMALLRAM
config template and commented out everything that might be related to
SCSI. Obviously I don't really know what I was doing, because the
compilation didn't work. I know I should present something called a
diff file to illustrate the changes I made. Embarrassingly enough, I
don't even know how to produce this. So here comes the complete config
file, which I named QUADRA. Sorry.
######################################################################
# $NetBSD: QUADRA 700,v 1.0 2008/04/24
include "arch/mac68k/conf/std.mac68k"
#options INCLUDE_CONFIG_FILE # embed config file in kernel
binary
#ident "SMALLRAM-$Revision: 1.17.2.1 $"
maxusers 8
makeoptions COPTS="-O2 -m68040 -pipe" # Optimierung MC68040,
irgendwo aufgeschnappt
# CPU support. At least one is REQUIRED.
options M68040
#options M68030
#options M68020 # Note: must have 68851 PMMU
# CPU-related options.
options FPSP # support for 68040 FPU
#options FPU_EMULATE # nur fuer 68LC040, 68030 u 020 habe
extra FPUs
# Standard system options
#options INSECURE # disable kernel security levels
options RTC_OFFSET=0 # hardware clock is this many mins.
west of GMT
#options NTP # NTP phase/frequency locked loop
options KTRACE # system call tracing via ktrace(1)
options SYSVMSG # System V-like message queues
options SYSVSEM # System V-like semaphores
#options SEMMNI=10 # number of semaphore identifiers
#options SEMMNS=60 # number of semaphores in system
#options SEMUME=10 # max number of undo entries per process
#options SEMMNU=30 # number of undo structures in system
options SYSVSHM # System V-like memory sharing
#options SHMMAXPGS=1024 # 1024 pages is the default
#options LKM # loadable kernel modules
options USERCONF # userconf(4) support
#options PIPE_SOCKETPAIR # smaller, but slower pipe(2)
#options SYSCTL_INCLUDE_DESCR # Include sysctl descriptions
in kernel
# Diagnostic/debugging support options
options DIAGNOSTIC # cheap kernel consistency checks
#options DEBUG # expensive debugging checks/support
#options KMEMSTATS # kernel memory statistics (vmstat -m)
options DDB # in-kernel debugger
#options DDB_HISTORY_SIZE=100 # enable history editing in DDB
#options KGDB # remote debugger
#options KGDB_DEV=0xc01 # kgdb device number (dev_t)
#options KGDB_DEVRATE=38400 # baud rate
#makeoptions DEBUG="-g" # compile full symbol table
# Compatibility options
#options COMPAT_NOMID # NetBSD 0.8,
#options COMPAT_09 # NetBSD 0.9,
#options COMPAT_10 # NetBSD 1.0,
#options COMPAT_11 # NetBSD 1.1,
options COMPAT_12 # NetBSD 1.2,
options COMPAT_13 # NetBSD 1.3,
options COMPAT_14 # NetBSD 1.4,
options COMPAT_15 # NetBSD 1.5,
options COMPAT_16 # NetBSD 1.6,
options COMPAT_20 # NetBSD 2.0,
#options COMPAT_43 # and 4.3BSD
#options TCP_COMPAT_42 # 4.2BSD TCP/IP bug compat. Not
recommended.
# The following is needed to run pre-NetBSD 1.6 binaries under ELF.
options COMPAT_AOUT_M68K # compatibility with NetBSD/m68k a.out
options EXEC_AOUT # support for exec'ing a.out
#options COMPAT_LINUX # compatibility with Linux/m68k binaries
#options COMPAT_M68K4K # compatibility with NetBSD/m68k4k
binaries
#options COMPAT_SUNOS # compatibility with SunOS 4.x binaries
#options COMPAT_SVR4 # compatibility with SVR4 binaries
options COMPAT_BSDPTY # /dev/[pt]ty?? ptys.
# File systems
file-system FFS # UFS
#file-system EXT2FS # second extended file system (linux)
#file-system LFS # log-structured file system
file-system MFS # memory file system
file-system NFS # Network File System client
#file-system CD9660 # ISO 9660 + Rock Ridge file system
#file-system MSDOSFS # MS-DOS file system
#file-system FDESC # /dev/fd
#file-system KERNFS # /kern
#file-system NULLFS # loopback file system
#file-system OVERLAY # overlay file system
#file-system PORTAL # portal filesystem (still experimental)
#file-system PROCFS # /proc
#file-system UMAPFS # NULLFS + uid and gid remapping
#file-system UNION # union file system
#file-system CODA # Venus/Coda distributed file system
# File system options
options QUOTA # UFS quotas
#options FFS_EI # FFS Endian Independant support
#options SOFTDEP # FFS soft updates support.
#options NFSSERVER # Network File System server
options FFS_NO_SNAPSHOT # ffs snapshots
#options EXT2FS_SYSTEM_FLAGS # makes ext2fs file flags (append
and immutable) behave as system flags.
# Networking options
options GATEWAY # packet forwarding
options INET # IP + ICMP + TCP + UDP
#options INET6 # IPV6
#options IPSEC # IP security
#options IPSEC_ESP # IP security (encryption part; define
w/IPSEC)
#options IPSEC_NAT_T # IPsec NAT traversal (NAT-T)
#options IPSEC_DEBUG # debug for IP security
options MROUTING # IP multicast routing
options PIM # Protocol Independent Multicast
#options NS # XNS
#options NSIP # XNS tunneling over IP
#options ISO,TPIP # OSI
#options EON # OSI tunneling over IP
#options CCITT,LLC,HDLC # X.25
#options NETATALK # AppleTalk networking protocols
#options PPP_BSDCOMP # BSD-Compress compression support for
PPP
#options PPP_DEFLATE # Deflate compression support for PPP
#options PPP_FILTER # Active filter support for PPP
(requires bpf)
options PFIL_HOOKS # pfil(9) packet filter hooks
#options IPFILTER_LOG # ipmon(8) log support
#options IPFILTER_DEFAULT_BLOCK # block all packets by default
#options TCP_DEBUG # Record last TCP_NDEBUG packets with
SO_DEBUG
# These options enable verbose messages for several subsystems.
# Warning, these may compile large string tables into the kernel!
#options SCSIVERBOSE # human readable SCSI error messages
# wscons options
#options WSEMUL_SUN # sun terminal emulation
options WSEMUL_VT100 # VT100 / VT220 emulation
options WSDISPLAY_COMPAT_ITEFONT # use ite font (6x10)
# rcons options; note that 1-bit and 8-bit displays are supported by
default.
#options RCONS_2BPP # Support for 2-bit display
#options RCONS_4BPP # Support for 4-bit display
#options RCONS_16BPP # Support for 16-bit display
# Mac-specific options
#options ALTXBUTTONS # Map Opt-{1,2,3} to mouse buttons
#options DISABLE_EXT_CACHE # Don't use IIci external cache
options GRF_COMPAT # Include grf compatibility code
#options MRG_ADB # Use ROM-based ADB driver
#options ZS_CONSOLE_ABORT
# Kernel root file system and dump configuration.
config netbsd root on sn0 type nfs
#
# Device configuration
#
mainbus0 at root
#fpu0 at mainbus? # Floating-Point Coprocessor
support
# Basic Bus Support
# On-board I/O bus support
obio0 at mainbus?
# NuBus support
nubus0 at mainbus?
# Console Devices
# Apple Desktop Bus interface
adb0 at obio?
aed* at adb? # ADB event device
akbd* at adb? # ADB keyboard
#ams* at adb? # ADB mouse
# Basic frame buffer support
intvid0 at obio? # Internal video hardware
#macvid* at nubus? # NuBus video card
# Device-independent frame buffer interface
macfb* at intvid?
#macfb* at macvid?
# Workstation Console devices
wsdisplay0 at macfb? console ?
wskbd0 at akbd? console ?
#wsmouse0 at ams?
# Serial Devices
# On-board serial interface
zsc0 at obio?
zstty* at zsc? channel ?
# SCSI Controllers and Devices
# SCSI controllers
# XXX - use only one of ncrscsi or sbc
#ncrscsi0 at obio? addr 0 # SCSI NCR 5380
#sbc0 at obio? addr 0 flags 0x1 # MI SCSI NCR 5380
#esp0 at obio? addr 0 # SCSI NCR 53C9x
#esp1 at obio? addr 1 # SCSI NCR 53C9x
# SCSI bus support
#scsibus* at scsi?
# SCSI devices
#sd* at scsibus? target ? lun ? # SCSI disk drives
#st* at scsibus? target ? lun ? # SCSI tape drives
#cd* at scsibus? target ? lun ? # SCSI CD-ROM drives
#ch* at scsibus? target ? lun ? # SCSI autochangers
#se* at scsibus? target ? lun ? # SCSI ethernet
#ss* at scsibus? target ? lun ? # SCSI scanners
#uk* at scsibus? target ? lun ? # SCSI unknown
# IDE controller and devices
#wdc* at obio? flags 0x1000
#wd* at wdc? channel ? drive ?
# Miscellaneous mass storage devices
# IWM floppy disk controller
#iwm0 at obio? # Sony driver (800K GCR)
#fd* at iwm? drive ?
# Network Interfaces
# On-board Ethernet controllers
sn* at obio? # SONIC-based (DP83932, DP83916)
#mc* at obio? # MACE-based
# NuBus Ethernet controllers
ae* at nubus? # DP8390-based
sn* at nubus? # SONIC-based (DP83932, DP83916)
sm* at nubus? # SMC 91cxx-based
#nsphy* at mii? phy ?
#ukphy* at mii? phy ?
# Audio Devices
# On-board audio hardware
#asc0 at obio? # ASC/EASC audio
# Pseudo-Devices
# disk/mass storage pseudo-devices
#pseudo-device ccd 4 # concatenated/striped disk
devices
#pseudo-device raid 8 # RAIDframe disk driver
#options RAID_AUTOCONFIG # auto-configuration of RAID
components
# Options to enable various other RAIDframe RAID types.
# options RF_INCLUDE_EVENODD=1
# options RF_INCLUDE_RAID5_RS=1
# options RF_INCLUDE_PARITYLOGGING=1
# options RF_INCLUDE_CHAINDECLUSTER=1
# options RF_INCLUDE_INTERDECLUSTER=1
# options RF_INCLUDE_PARITY_DECLUSTERING=1
# options RF_INCLUDE_PARITY_DECLUSTERING_DS=1
#pseudo-device fss 4 # file system snapshot device
#pseudo-device md 1 # memory disk device (ramdisk)
#pseudo-device vcoda 1 # Venus/Coda distributed file
system
#pseudo-device vnd 4 # disk-like interface to files
# network pseudo-devices
pseudo-device bpfilter 12 # Berkeley packet filter
pseudo-device ipfilter # IP filter (firewall) and NAT
pseudo-device loop # network loopback
#pseudo-device ppp 2 # Point-to-Point Protocol
#pseudo-device pppoe # PPP over Ethernet (RFC 2516)
#pseudo-device sl 2 # Serial Line IP
#pseudo-device strip 2 # Starmode Radio IP (Metricom)
#pseudo-device tun 2 # network tunneling over tty
#pseudo-device tap # virtual Ethernet
#pseudo-device gre 2 # generic L3 over IP tunnel
#pseudo-device gif 4 # IPv[46] over IPv[46] tunnel
(RFC1933)
#pseudo-device faith 1 # IPv[46] tcp relay translation
i/f
#pseudo-device stf 1 # 6to4 IPv6 over IPv4
encapsulation
#pseudo-device vlan # IEEE 802.1q encapsulation
#pseudo-device bridge # simple inter-network bridging
# miscellaneous pseudo-devices
pseudo-device grf 2 # grf emulation for wscons
pseudo-device ite 1 # ite emulation for wscons
pseudo-device pty # pseudo-terminals
#pseudo-device tb 1 # tablet line discipline
pseudo-device clockctl # user control of clock
subsystem
# rnd is EXPERIMENTAL at this point.
#pseudo-device rnd # /dev/random and in-kernel
generator
#options RND_COM # use "com" randomness as well
(BROKEN)
######################################################################
The "config QUADRA" and "make depend" commands gave me no error
messages (I think). However, "make" will run for an hour and end up
with these last lines:
######################################################################
.....
making sure the kern library is up to date...
`libkern.o' is up to date.
# create QUADRA/.gdbinit
rm -f .gdbinit
echo "source ../../../../gdbscripts/bdump" >> .gdbinit
echo "source ../../../../gdbscripts/kdump" >> .gdbinit
echo "source ../../../../gdbscripts/msgbuf" >> .gdbinit
echo "source ../../../../gdbscripts/pgrpdump" >> .gdbinit
echo "source ../../../../gdbscripts/stats" >> .gdbinit
echo "source ../../../../gdbscripts/vchain" >> .gdbinit
echo "source ../../../../gdbscripts/vdump" >> .gdbinit
echo "source ../../../../gdbscripts/xps" >> .gdbinit
# create vers.c
sh ../../../../conf/newvers.sh
# compile QUADRA/vers.o
cc -msoft-float -ffreestanding -O2 -m68040 -pipe -Werror -Wall
-Wno-main -Wno-format-zero-length -Wpointer-arith -Wmissing-prototypes
-Wstrict-prototypes -Wno-sign-compare -fno-zero-initialized-in-bss
-Dmac68k -I. -I../../../../arch -I../../../.. -nostdinc -DM68040
-DDIAGNOSTIC -DGRF_COMPAT -DMAXUSERS=8 -D_KERNEL -D_KERNEL_OPT
-I../../../../dist/ipf -c vers.c
# link QUADRA/netbsd
ld -n -Ttext 0 -e start -S -o netbsd ${SYSTEM_OBJ} ${EXTRA_OBJ} vers.o
autoconf.o(.text+0x186): In function `target_to_unit':
: undefined reference to `scsibus_cd'
autoconf.o(.text+0x18e): In function `target_to_unit':
: undefined reference to `scsibus_cd'
autoconf.o(.text+0x1a4): In function `target_to_unit':
: undefined reference to `scsipi_lookup_periph'
autoconf.o(.text+0x1cc): In function `target_to_unit':
: undefined reference to `scsibus_cd'
autoconf.o(.text+0x1d6): In function `target_to_unit':
: undefined reference to `scsibus_cd'
autoconf.o(.text+0x1f4): In function `target_to_unit':
: undefined reference to `scsipi_lookup_periph'
autoconf.o(.text+0x202): In function `target_to_unit':
: undefined reference to `scsibus_cd'
*** Error code 1
Stop.
make: stopped in /home/seqlab/NetBSD4/src/sys/arch/mac68k/compile/QUADRA
######################################################################
All I can conclude from that is that the function `target_to_unit'
refers to some variables or other functions called `scsibus_cd' and
`scsipi_lookup_periph'. I don't see though in which source file
`target_to_unit' itself is defined. How can I get rid of that? What do
I have to remove from the config file? Sorry again for the long
listing.
Andreas
Home |
Main Index |
Thread Index |
Old Index