From owner-freebsd-current@FreeBSD.ORG Tue Nov 1 13:53:58 2005 Return-Path: X-Original-To: current@freebsd.org Delivered-To: freebsd-current@FreeBSD.ORG Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C599616A421 for ; Tue, 1 Nov 2005 13:53:58 +0000 (GMT) (envelope-from vincent@xtra-net.org) Received: from relay.xtra-net.org (cable-195-162-200-89.customer.tvd.be [195.162.200.89]) by mx1.FreeBSD.org (Postfix) with SMTP id ABB3F43D6B for ; Tue, 1 Nov 2005 13:53:45 +0000 (GMT) (envelope-from vincent@xtra-net.org) Received: (qmail 97058 invoked from network); 1 Nov 2005 13:53:42 -0000 Received: from wbedllfs.xtra-net.org (192.168.1.21) by 0 with SMTP; 1 Nov 2005 13:53:42 -0000 From: Vincent Blondel To: current@freebsd.org Content-Type: text/plain Date: Tue, 01 Nov 2005 14:52:15 +0100 Message-Id: <1130853135.5987.18.camel@wbedllfs.xtra-net.org> Mime-Version: 1.0 X-Mailer: Evolution 2.2.3 FreeBSD GNOME Team Port Content-Transfer-Encoding: 7bit Cc: Subject: kernel question ??? X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: vincent@xtra-net.org List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 01 Nov 2005 13:53:58 -0000 Hello all, Sorry for this, maybe stupid, question but I more often compile kernels on Linux platforms. So, in linux world, there is a very simple way to compile devices as modules and I am now trying to do this same feature in my FreeBSD kernel ( 7.0-current ) for all network devices ( all /boot/kernel/if_xxx.so ) that I would like to (un)load when it is necessary. I don't know if it is the right way to do it but I removed all network devices from my kernel config file (see below) but I get some problems when compiling the kernel (see below). Could you please help me to solve this problem ? Regards Vincent ----- kernel config file RELENG_6_i686 machine i386 cpu I686_CPU ident RELENG_6_i686 # To statically compile in device wiring instead of /boot/device.hints #hints "GENERIC.hints" # Default places to look for devices. makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols options SC_DISABLE_REBOOT #options SCHED_ULE # ULE scheduler options SCHED_4BSD # 4BSD scheduler options PREEMPTION # Enable kernel thread preemption options INET # InterNETworking options INET6 # IPv6 communications protocols options FFS # Berkeley Fast Filesystem options SOFTUPDATES # Enable FFS soft updates support options UFS_ACL # Support for access control lists options UFS_DIRHASH # Improve performance on big directories options MD_ROOT # MD is a potential root device options NFSCLIENT # Network Filesystem Client options NFSSERVER # Network Filesystem Server options NFS_ROOT # NFS usable as /, requires NFSCLIENT options MSDOSFS # MSDOS Filesystem options CD9660 # ISO 9660 Filesystem options PROCFS # Process filesystem (requires PSEUDOFS) options PSEUDOFS # Pseudo-filesystem framework options GEOM_GPT # GUID Partition Tables. options COMPAT_43 # Compatible with BSD 4.3 [KEEP THIS!] options COMPAT_FREEBSD4 # Compatible with FreeBSD4 options COMPAT_FREEBSD5 # Compatible with FreeBSD5 options SCSI_DELAY=5000 # Delay (in ms) before probing SCSI options KTRACE # ktrace(1) support options SYSVSHM # SYSV-style shared memory options SYSVMSG # SYSV-style message queues options SYSVSEM # SYSV-style semaphores options _KPOSIX_PRIORITY_SCHEDULING options KBD_INSTALL_CDEV # install a CDEV entry in /dev options AHC_REG_PRETTY_PRINT # Print register bitfields in debug # output. Adds ~128k to driver. options AHD_REG_PRETTY_PRINT # Print register bitfields in debug # output. Adds ~215k to driver. options ADAPTIVE_GIANT # Giant mutex is adaptive. # Debugging for use in -current options KDB # Enable kernel debugger support. options DDB # Support DDB. options GDB # Support remote GDB. options INVARIANTS # Enable calls of extra sanity checking options INVARIANT_SUPPORT # Extra sanity checks of internal structures, required by INVARIANTS options WITNESS # Enable checks to detect deadlocks and cycles options WITNESS_SKIPSPIN # Don't run witness on spinlocks for speed # To make an SMP kernel, the next two lines are needed #options SMP # Symmetric MultiProcessor Kernel device apic # I/O APIC # Bus support. device isa device eisa device pci # Floppy drives device fdc # ATA and ATAPI devices device ata device atadisk # ATA disk drives device ataraid # ATA RAID drives device atapicd # ATAPI CDROM drives device atapifd # ATAPI floppy drives device atapist # ATAPI tape drives options ATA_STATIC_ID # Static device numbering # SCSI Controllers device ahb # EISA AHA1742 family device ahc # AHA2940 and onboard AIC7xxx devices device ahd # AHA39320/29320 and onboard AIC79xx devices device amd # AMD 53C974 (Tekram DC-390(T)) device isp # Qlogic family #device ispfw # Firmware for QLogic HBAs- normally a module device mpt # LSI-Logic MPT-Fusion #device ncr # NCR/Symbios Logic device sym # NCR/Symbios Logic (newer chipsets + those of `ncr') device trm # Tekram DC395U/UW/F DC315U adapters device adv # Advansys SCSI adapters device adw # Advansys wide SCSI adapters device aha # Adaptec 154x SCSI adapters device aic # Adaptec 15[012]x SCSI adapters, AIC-6[23]60. device bt # Buslogic/Mylex MultiMaster SCSI adapters device ncv # NCR 53C500 device nsp # Workbit Ninja SCSI-3 device stg # TMC 18C30/18C50 # SCSI peripherals device scbus # SCSI bus (required for SCSI) device ch # SCSI media changers device da # Direct Access (disks) device sa # Sequential Access (tape etc) device cd # CD device pass # Passthrough device (direct SCSI access) device ses # SCSI Environmental Services (and SAF-TE) # RAID controllers interfaced to the SCSI subsystem device amr # AMI MegaRAID device arcmsr # Areca SATA II RAID device asr # DPT SmartRAID V, VI and Adaptec SCSI RAID device ciss # Compaq Smart RAID 5* device dpt # DPT Smartcache III, IV - See NOTES for options device hptmv # Highpoint RocketRAID 182x device iir # Intel Integrated RAID device ips # IBM (Adaptec) ServeRAID device mly # Mylex AcceleRAID/eXtremeRAID device twa # 3ware 9000 series PATA/SATA RAID # RAID controllers device aac # Adaptec FSA RAID device aacp # SCSI passthrough for aac (requires CAM) device ida # Compaq Smart RAID device mlx # Mylex DAC960 family device pst # Promise Supertrak SX6000 device twe # 3ware ATA RAID # atkbdc0 controls both the keyboard and the PS/2 mouse device atkbdc # AT keyboard controller device atkbd # AT keyboard device psm # PS/2 mouse device vga # VGA video card driver device splash # Splash screen and screen saver support # syscons is the default console driver, resembling an SCO console device sc # Enable this for the pcvt (VT220 compatible) console driver #device vt #options XSERVER # support for X server on a vt console #options FAT_CURSOR # start with block cursor # Power management support (see NOTES for more options) #device apm # Add suspend/resume support for the i8254. device pmtimer # PCCARD (PCMCIA) support # PCMCIA and cardbus bridge support device cbb # cardbus (yenta) bridge device pccard # PC Card (16-bit) bus device cardbus # CardBus (32-bit) bus # Serial (COM) ports device sio # 8250, 16[45]50 based serial ports # Parallel port device ppc device ppbus # Parallel port bus (required) device lpt # Printer device plip # TCP/IP over parallel device ppi # Parallel port interface device #device vpo # Requires scbus and da # If you've got a "dumb" serial or parallel PCI card that is # supported by the puc(4) glue driver, uncomment the following # line to enable it (connects to the sio and/or ppc drivers): #device puc # ISA devices that use the old ISA shims #device le # Pseudo devices. device loop # Network loopback device random # Entropy device device ether # Ethernet support device sl # Kernel SLIP device ppp # Kernel PPP device tun # Packet tunnel. device pty # Pseudo-ttys (telnet etc) device md # Memory "disks" device gif # IPv6 and IPv4 tunneling device faith # IPv6-to-IPv4 relaying (translation) # The `bpf' device enables the Berkeley Packet Filter. # Be aware of the administrative consequences of enabling this! # Note that 'bpf' is required for DHCP. device bpf # Berkeley packet filter # USB support device uhci # UHCI PCI->USB interface device ohci # OHCI PCI->USB interface device ehci # EHCI PCI->USB interface (USB 2.0) device usb # USB Bus (required) #device udbp # USB Double Bulk Pipe devices device ugen # Generic device uhid # "Human Interface Devices" device ukbd # Keyboard device ulpt # Printer device umass # Disks/Mass storage - Requires scbus and da device ums # Mouse device ural # Ralink Technology RT2500USB wireless NICs device urio # Diamond Rio 500 MP3 player device uscanner # Scanners # USB Ethernet, requires miibus device aue # ADMtek USB Ethernet device axe # ASIX Electronics USB Ethernet device cdce # Generic USB over Ethernet device cue # CATC USB Ethernet device kue # Kawasaki LSI USB Ethernet device rue # RealTek RTL8150 USB Ethernet # FireWire support device firewire # FireWire bus code device sbp # SCSI over FireWire (Requires scbus and da) device fwe # Ethernet over FireWire (non-standard!) ----- make buildkernel KERNCONF=RELENG_6_i686 MAKE=/usr/obj/usr/src/make.i386/make sh /usr/src/sys/conf/newvers.sh RELENG_6_i686 cc -c -O -pipe -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -fformat-extensions -std=c99 -g -nostdinc -I- -I. -I/usr/src/sys -I/usr/src/sys/contrib/altq -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -fno-common -finline-limit=8000 --param inline-unit-growth=100 --param large-function-growth=1000 -mno-align-long-strings -mpreferred-stack-boundary=2 -mno-mmx -mno-3dnow -mno-sse -mno-sse2 -mno-sse3 -ffreestanding -Werror vers.c linking kernel.debug if_aue.o(.text+0x96d): In function `aue_attach': /usr/src/sys/dev/usb/if_aue.c:749: undefined reference to `mii_phy_probe' if_aue.o(.text+0xcfe): In function `aue_tick': /usr/src/sys/dev/usb/if_aue.c:1032: undefined reference to `mii_tick' if_aue.o(.text+0x1051): In function `aue_init': /usr/src/sys/dev/usb/if_aue.c:1198: undefined reference to `mii_mediachg' if_aue.o(.text+0x1156): In function `aue_ifmedia_upd': /usr/src/sys/dev/usb/if_aue.c:1263: undefined reference to `mii_phy_reset' if_aue.o(.text+0x1166):/usr/src/sys/dev/usb/if_aue.c:1265: undefined reference to `mii_mediachg' if_aue.o(.text+0x1191): In function `aue_ifmedia_sts': /usr/src/sys/dev/usb/if_aue.c:1279: undefined reference to `mii_pollstat' if_aue.o(.data+0x90): In function `aue_csr_read_2': /usr/src/sys/dev/usb/if_aue.c:294: undefined reference to `miibus_readreg_desc' if_aue.o(.data+0x98):/usr/src/sys/dev/usb/if_aue.c:295: undefined reference to `miibus_writereg_desc' if_aue.o(.data+0xa0):/usr/src/sys/dev/usb/if_aue.c:296: undefined reference to `miibus_statchg_desc' if_aue.o(.data+0x114): In function `aue_csr_write_1': /usr/src/sys/dev/usb/if_aue.c:325: undefined reference to `miibus_driver' if_aue.o(.data+0x118):/usr/src/sys/dev/usb/if_aue.c:325: undefined reference to `miibus_devclass' if_axe.o(.text+0x1fe): In function `axe_ifmedia_upd': /usr/src/sys/dev/usb/if_axe.c:296: undefined reference to `mii_phy_reset' if_axe.o(.text+0x20e):/usr/src/sys/dev/usb/if_axe.c:298: undefined reference to `mii_mediachg' if_axe.o(.text+0x239): In function `axe_ifmedia_sts': /usr/src/sys/dev/usb/if_axe.c:312: undefined reference to `mii_pollstat' if_axe.o(.text+0x6a1): In function `axe_attach': /usr/src/sys/dev/usb/if_axe.c:509: undefined reference to `mii_phy_probe' if_axe.o(.text+0x9ea): In function `axe_tick': /usr/src/sys/dev/usb/if_axe.c:739: undefined reference to `mii_tick' if_axe.o(.data+0x70): In function `axe_cmd': /usr/src/sys/dev/usb/if_axe.c:198: undefined reference to `miibus_readreg_desc' if_axe.o(.data+0x78):/usr/src/sys/dev/usb/if_axe.c:201: undefined reference to `miibus_writereg_desc' if_axe.o(.data+0x80):/usr/src/sys/dev/usb/if_axe.c:204: undefined reference to `miibus_statchg_desc' if_axe.o(.data+0xf4): In function `axe_miibus_readreg': /usr/src/sys/dev/usb/if_axe.c:234: undefined reference to `miibus_driver' if_axe.o(.data+0xf8):/usr/src/sys/dev/usb/if_axe.c:234: undefined reference to `miibus_devclass' if_ural.o(.text+0x3bb): In function `ural_attach': /usr/src/sys/dev/usb/if_ural.c:458: undefined reference to `ieee80211_ieee2mhz' if_ural.o(.text+0x3ef):/usr/src/sys/dev/usb/if_ural.c:463: undefined reference to `ieee80211_ieee2mhz' if_ural.o(.text+0x427):/usr/src/sys/dev/usb/if_ural.c:468: undefined reference to `ieee80211_ieee2mhz' if_ural.o(.text+0x4bb):/usr/src/sys/dev/usb/if_ural.c:480: undefined reference to `ieee80211_ieee2mhz' if_ural.o(.text+0x4e2):/usr/src/sys/dev/usb/if_ural.c:487: undefined reference to `ieee80211_ifattach' if_ural.o(.text+0x513):/usr/src/sys/dev/usb/if_ural.c:493: undefined reference to `ieee80211_media_status' if_ural.o(.text+0x51e):/usr/src/sys/dev/usb/if_ural.c:493: undefined reference to `ieee80211_media_init' if_ural.o(.text+0x580):/usr/src/sys/dev/usb/if_ural.c:507: undefined reference to `ieee80211_announce' if_ural.o(.text+0x628): In function `ural_detach': /usr/src/sys/dev/usb/if_ural.c:535: undefined reference to `ieee80211_ifdetach' if_ural.o(.text+0x73a): In function `ural_free_tx_list': /usr/src/sys/dev/usb/if_ural.c:595: undefined reference to `ieee80211_free_node' if_ural.o(.text+0x8da): In function `ural_media_change': /usr/src/sys/dev/usb/if_ural.c:673: undefined reference to `ieee80211_media_change' if_ural.o(.text+0x954): In function `ural_next_scan': /usr/src/sys/dev/usb/if_ural.c:699: undefined reference to `ieee80211_next_scan' if_ural.o(.text+0xabf): In function `ural_task': /usr/src/sys/dev/usb/if_ural.c:756: undefined reference to `ieee80211_beacon_alloc' if_ural.o(.text+0xc1f): In function `ural_txeof': /usr/src/sys/dev/usb/if_ural.c:826: undefined reference to `ieee80211_free_node' if_ural.o(.text+0xd45): In function `ural_rxeof': /usr/src/sys/dev/usb/if_ural.c:890: undefined reference to `ieee80211_find_rxnode' if_ural.o(.text+0xd5b):/usr/src/sys/dev/usb/if_ural.c:893: undefined reference to `ieee80211_input' if_ural.o(.text+0xd63):/usr/src/sys/dev/usb/if_ural.c:896: undefined reference to `ieee80211_free_node' if_ural.o(.text+0x130c): In function `ural_tx_data': /usr/src/sys/dev/usb/if_ural.c:1218: undefined reference to `ieee80211_crypto_encap' if_ural.o(.text+0x179c): In function `ural_start': /usr/src/sys/dev/usb/if_ural.c:1321: undefined reference to `ieee80211_find_txnode' if_ural.o(.text+0x17eb):/usr/src/sys/dev/usb/if_ural.c:1328: undefined reference to `ieee80211_encap' if_ural.o(.text+0x17fa):/usr/src/sys/dev/usb/if_ural.c:1330: undefined reference to `ieee80211_free_node' if_ural.o(.text+0x1833):/usr/src/sys/dev/usb/if_ural.c:1338: undefined reference to `ieee80211_free_node' if_ural.o(.text+0x18e8): In function `ural_watchdog': /usr/src/sys/dev/usb/if_ural.c:1370: undefined reference to `ieee80211_watchdog' if_ural.o(.text+0x19c4): In function `ural_ioctl': /usr/src/sys/dev/usb/if_ural.c:1417: undefined reference to `ieee80211_ioctl' if_ural.o(.text+0x1e30): In function `ural_set_chan': /usr/src/sys/dev/usb/if_ural.c:1606: undefined reference to `ieee80211_chan2ieee' if_rue.o(.text+0x833): In function `rue_attach': /usr/src/sys/dev/usb/if_rue.c:689: undefined reference to `mii_phy_probe' if_rue.o(.text+0xc8a): In function `rue_tick': /usr/src/sys/dev/usb/if_rue.c:970: undefined reference to `mii_tick' if_rue.o(.text+0xfa4): In function `rue_init': /usr/src/sys/dev/usb/if_rue.c:1145: undefined reference to `mii_mediachg' if_rue.o(.text+0x10f6): In function `rue_ifmedia_upd': /usr/src/sys/dev/usb/if_rue.c:1210: undefined reference to `mii_phy_reset' if_rue.o(.text+0x1106):/usr/src/sys/dev/usb/if_rue.c:1212: undefined reference to `mii_mediachg' if_rue.o(.text+0x1131): In function `rue_ifmedia_sts': /usr/src/sys/dev/usb/if_rue.c:1227: undefined reference to `mii_pollstat' if_rue.o(.data+0x50): In function `rue_read_mem': /usr/src/sys/dev/usb/if_rue.c:231: undefined reference to `miibus_readreg_desc' if_rue.o(.data+0x58):/usr/src/sys/dev/usb/if_rue.c:241: undefined reference to `miibus_writereg_desc' if_rue.o(.data+0x60):/usr/src/sys/dev/usb/if_rue.c:235: undefined reference to `miibus_statchg_desc' if_rue.o(.data+0xd4): In function `rue_write_mem': /usr/src/sys/dev/usb/if_rue.c:261: undefined reference to `miibus_driver' if_rue.o(.data+0xd8):/usr/src/sys/dev/usb/if_rue.c:261: undefined reference to `miibus_devclass' *** Error code 1 Stop in /usr/obj/usr/src/sys/RELENG_6_i686. *** Error code 1 Stop in /usr/src. *** Error code 1 Stop in /usr/src.