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