Date: Wed, 2 Nov 2005 13:58:15 +0100 (CET) From: "Vincent Blondel" <vincent@xtra-net.org> To: current@freebsd.org Subject: Re: kernel question ??? Message-ID: <46067.192.168.1.25.1130936295.squirrel@192.168.1.25> In-Reply-To: <00cb01c5deef$d8d19110$931fa8c0@venti> References: <1130853135.5987.18.camel@wbedllfs.xtra-net.org> <00cb01c5deef$d8d19110$931fa8c0@venti>
next in thread | previous in thread | raw e-mail | index | archive | help
Thanks for your reply ... Everything is working fine now. Regards Vincent > ----- Original Message ----- > From: "Vincent Blondel" <vincent@xtra-net.org> > To: <current@freebsd.org> > Sent: Tuesday, November 01, 2005 8:52 AM > Subject: kernel question ??? > > >> 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 ? > > You took out device miibus > Yet you left in these nic devices which require miibus, as stated right in > the comment: > > # 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 > > > Either take _all_ nic devices out and load what you want as modules in > /boot/loader.conf > (The modules still get built when you remove the devices from the kernel > config.) > > /boot/loader.conf: > miibus_load="YES" > if_fxp_load="YES" > > Or put "device miibus" back in, along with any nic devices you'll actually > use. > > I think it's even possible to load the nic driver as a module even when you > are pxe booting via that nic. > > Brian K. White -- brian@aljex.com -- http://www.aljex.com/bkw/ > +++++[>+++[>+++++>+++++++<<-]<-]>>+.>.+++++.+++++++.-.[>+<---]>++. > filePro BBx Linux SCO FreeBSD #callahans Satriani Filk! > > >> 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. >> >> _______________________________________________ >> freebsd-current@freebsd.org mailing list >> http://lists.freebsd.org/mailman/listinfo/freebsd-current >> To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org" >> > > _______________________________________________ > freebsd-current@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-current > To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org" >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?46067.192.168.1.25.1130936295.squirrel>