Date: Fri, 25 Feb 2000 15:49:16 +0000 From: Mark Ovens <mark@ukug.uk.freebsd.org> To: "Michael J. Walsh" <mike@walshm.npt.nuwc.navy.mil> Cc: freebsd-questions@freebsd.org Subject: Re: Why is my new kernel so big? Message-ID: <20000225154915.D326@marder-1> In-Reply-To: <Pine.BSF.4.21.0002250927430.11726-200000@walshm.npt.nuwc.navy.mil>; from mike@walshm.npt.nuwc.navy.mil on Fri, Feb 25, 2000 at 10:03:06AM -0500 References: <Pine.BSF.4.21.0002250927430.11726-200000@walshm.npt.nuwc.navy.mil>
next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Feb 25, 2000 at 10:03:06AM -0500, Michael J. Walsh wrote: > > I just installed FreeBSD 3.4 (January 2000 CD-ROM release) for the first > time on a machine with dual Pentium III 600 processors. The only hard > disk is devoted entirely to FreeBSD. I did a novice install using > sysintall, and everything works great! I did not use UserConfig to > configure the kernel for SMP at this point because it did not look > possible. > > Then I decided to configure my kernel for SMP. I followed the procedure > listed in Greg Lehey's book (3-rd edition) for rebuilding the > kernel; specifically, I > > 1. Enabled the SMP options in a copy of the GENERIC cofiguration file > (attached) and disabled the inappropriate cpu options, > > machine "i386" > #cpu "I386_CPU" > #cpu "I486_CPU" > cpu "I586_CPU" > cpu "I686_CPU" > ident GENERIC > maxusers 32 > > # To make an SMP kernel, the next two are needed > options SMP # Symmetric MultiProcessor Kernel > options APIC_IO # Symmetric (APIC) I/O > # Optionally these may need tweaked, (defaults shown): > options NCPU=2 # number of CPUs > options NBUS=3 # number of busses > options NAPIC=1 # number of IO APICs > options NINTR=24 # number of INTs > > 2. Added the MAXMEM = 128 Mb line to make sure my system recognizes all of > its memory (probably unnecessary), > > options "MAXMEM=(128*1024)" > > I then did make to compile and link the new kernel. My question is > this: Why is my new kernel so big? A long listing on the new kernel gives > > > ll /sys/compile/WALSHM-SMP/kernel > -rwxr-xr-x 1 root wheel 11568413 Feb 25 09:19 > /sys/compile/WALSHM-SMP/kernel* > > The old kernel (the one created on installation) is considerably smaller: > > > ll /kernel > -rwxr-xr-x 1 root wheel 2341252 Dec 29 21:57 /kernel* > Somehow you've built a debug kernel. did you do ``config -g'' or have you edited /etc/make.conf so that the line CFLAGS= -O -pipe has ``-g'' as well? > Doesn't sysinstall essentially use the GENERIC configuration file when > building the first kernel? Or is this file modified in some way > during the installation by the hardware probes? > > Many thanks in advance, > > Mike > > p.s. I was a little confused by the output of mptable. It said NBUS=3 > and NINTR=24, which I used in my new config file. However, my motherboard > (Matsonic MS7070SD) documentation says that it has > > 1 32-bit AGP slot > 4 32-bit PCI slots > 2 16-bit ISA slots > > What is NBUS refering to in the config file? Also, I could not extract > any information on the "number of INTs" in my motherboard documentation, > so I'm taking the mptable output on faith. I'm obviously not hardware > literate. > > ------------------------------------------------------------------------------ > Michael J. Walsh Naval Undersea Warfare Center Divsion Newport, RI > Phone: 401.832.4155 22 Combat Systems Dept, 221 Advanced Systems Division > Fax: 401.832.4749 2211, Information Processing Branch > # > # WALSHM-SMP -- Configuration file for Dual Pentium III 600 system > # > # For more information on this file, please read the handbook section on > # Kernel Configuration Files: > # > # http://www.freebsd.org/handbook/kernelconfig-config.html > # > # The handbook is also available locally in /usr/share/doc/handbook > # if you've installed the doc distribution, otherwise always see the > # FreeBSD World Wide Web server (http://www.FreeBSD.ORG/) for the > # latest information. > # > # An exhaustive list of options and more detailed explanations of the > # device lines is also present in the ./LINT configuration file. If you are > # in doubt as to the purpose or necessity of a line, check first in LINT. > # > # $FreeBSD: src/sys/i386/conf/GENERIC,v 1.143.2.24 1999/12/05 01:56:42 luoqi Exp $ > > machine "i386" > #cpu "I386_CPU" > #cpu "I486_CPU" > cpu "I586_CPU" > cpu "I686_CPU" > ident GENERIC > maxusers 32 > > options "MAXMEM=(128*1024)" > > 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 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 > options KTRACE #ktrace(1) syscall trace support > options SYSVSHM #SYSV-style shared memory > options SYSVMSG #SYSV-style message queues > options SYSVSEM #SYSV-style semaphores > > config kernel root on wd0 > > # To make an SMP kernel, the next two are needed > options SMP # Symmetric MultiProcessor Kernel > options APIC_IO # Symmetric (APIC) I/O > # Optionally these may need tweaked, (defaults shown): > options NCPU=2 # number of CPUs > options NBUS=3 # number of busses > options NAPIC=1 # number of IO APICs > options NINTR=24 # number of INTs > > controller isa0 > controller pnp0 # PnP support for ISA > controller eisa0 > controller pci0 > > # Floppy drives > controller fdc0 at isa? port "IO_FD1" bio irq 6 drq 2 > disk fd0 at fdc0 drive 0 > disk fd1 at fdc0 drive 1 > > # IDE controller and disks > options "CMD640" # work around CMD640 chip deficiency > controller wdc0 at isa? port "IO_WD1" bio irq 14 > disk wd0 at wdc0 drive 0 > disk wd1 at wdc0 drive 1 > > controller wdc1 at isa? port "IO_WD2" bio irq 15 > disk wd2 at wdc1 drive 0 > disk wd3 at wdc1 drive 1 > > # ATAPI devices > options ATAPI #Enable ATAPI support for IDE bus > options ATAPI_STATIC #Don't do it as an LKM > device acd0 #IDE CD-ROM > device wfd0 #IDE Floppy (e.g. LS-120) > > # SCSI Controllers > # A single entry for any of these controllers (ncr, ahb, ahc) is > # sufficient for any number of installed devices. > controller ncr0 # NCR/Symbios Logic > controller ahb0 # EISA AHA1742 family > controller ahc0 # AHA2940 and onboard AIC7xxx devices > controller amd0 # AMD 53C974 (Teckram DC-390(T)) > controller isp0 # Qlogic family > controller dpt0 # DPT Smartcache - See LINT for options! > > controller adv0 at isa? port ? cam irq ? > controller adw0 > controller bt0 at isa? port ? cam irq ? > controller aha0 at isa? port ? cam irq ? > controller aic0 at isa? port ? cam irq ? > > # SCSI peripherals > # Only one of each of these is needed, they are dynamically allocated. > controller scbus0 # SCSI bus (required) > device da0 # Direct Access (disks) > device sa0 # Sequential Access (tape etc) > device cd0 # CD > device pass0 # Passthrough device (direct SCSI) > > # Proprietary or custom CD-ROM Interfaces > device wt0 at isa? port 0x300 bio irq 5 drq 1 > device mcd0 at isa? port 0x300 bio irq 10 > device matcd0 at isa? port 0x230 bio > device scd0 at isa? port 0x230 bio > > # atkbdc0 controls both the keyboard and the PS/2 mouse > controller atkbdc0 at isa? port IO_KBD tty > device atkbd0 at isa? tty irq 1 > device psm0 at isa? tty irq 12 > > device vga0 at isa? port ? conflicts > > # splash screen/screen saver > pseudo-device splash > > # syscons is the default console driver, resembling an SCO console > device sc0 at isa? tty > > # Enable this and PCVT_FREEBSD for pcvt vt220 compatible console driver > #device vt0 at isa? tty > #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 > > # Floating point support - do not disable. > device npx0 at isa? port IO_NPX irq 13 > > # Power management support (see LINT for more options) > device apm0 at isa? disable flags 0x31 # Advanced Power Management > > # PCCARD (PCMCIA) support > #controller card0 > #device pcic0 at card? > #device pcic1 at card? > > # Serial (COM) ports > device sio0 at isa? port "IO_COM1" flags 0x10 tty irq 4 > device sio1 at isa? port "IO_COM2" tty irq 3 > device sio2 at isa? disable port "IO_COM3" tty irq 5 > device sio3 at isa? disable port "IO_COM4" tty irq 9 > > # Parallel port > device ppc0 at isa? port? flags 0x40 net irq 7 > controller ppbus0 # Parallel port bus (required) > device lpt0 at ppbus? # Printer > device plip0 at ppbus? # TCP/IP over parallel > device ppi0 at ppbus? # Parallel port interface device > #controller vpo0 at ppbus? # Requires scbus and da0 > > # PCI Ethernet NICs. > device al0 # ADMtek AL981 (``Comet'') > device ax0 # ASIX AX88140A > device de0 # DEC/Intel DC21x4x (``Tulip'') > device fxp0 # Intel EtherExpress PRO/100B (82557, 82558) > device mx0 # Macronix 98713/98715/98725 (``PMAC'') > device pn0 # Lite-On 82c168/82c169 (``PNIC'') > device rl0 # RealTek 8129/8139 > device sf0 # Adaptec AIC-6915 DuraLAN (``Starfire'') > device sis0 # Silicon Integrated Systems SiS 900/SiS 7016 > device ste0 # Sundance ST201 (D-Link DFE-550) > device tl0 # Texas Instruments ThunderLAN > device tx0 # SMC 9432TX (83c170 ``EPIC'') > device vr0 # VIA Rhine, Rhine II > device vx0 # 3Com 3c590, 3c595 (``Vortex'') > device wb0 # Winbond W89C840F > device xl0 # 3Com 3c90x (``Boomerang'', ``Cyclone'') > > # ISA Ethernet NICs. > # 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 ed0 at isa? port 0x280 net irq 10 iomem 0xd8000 > device ie0 at isa? port 0x300 net irq 10 iomem 0xd0000 > device ep0 at isa? port 0x300 net irq 10 > device ex0 at isa? port? net irq? > device fe0 at isa? port 0x300 net irq ? > device le0 at isa? port 0x300 net irq 5 iomem 0xd0000 > device lnc0 at isa? port 0x280 net irq 10 drq 0 > device cs0 at isa? port 0x300 net irq ? > # requires PCCARD (PCMCIA) support to be activated > #device xe0 at isa? port? net irq ? > > # PCCARD NIC drivers. > # ze and zp take over the pcic and cannot coexist with generic pccard > # support, nor the ed and ep drivers they replace. > device ze0 at isa? port 0x300 net irq 10 iomem 0xd8000 > device zp0 at isa? port 0x300 net irq 10 iomem 0xd8000 > > # Pseudo devices - the number indicates how many units to allocated. > pseudo-device loop # Network loopback > pseudo-device ether # Ethernet support > pseudo-device sl 1 # Kernel SLIP > pseudo-device ppp 1 # Kernel PPP > pseudo-device tun 1 # Packet tunnel > pseudo-device pty 16 # Pseudo-ttys (telnet etc) > pseudo-device gzip # Exec gzipped a.out's > > # The `bpfilter' pseudo-device enables the Berkeley Packet Filter. > # Be aware of the administrative consequences of enabling this! > # The number of devices determines the maximum number of > # simultaneous BPF clients programs runnable. > pseudo-device bpfilter 1 #Berkeley packet filter -- Microsoft: Where do you want to go today? Linux: Where do you want to go tomorrow? BSD: Are you guys coming, or what? -Poster at LinuxWorld 2000 ________________________________________________________________ FreeBSD - The Power To Serve http://www.freebsd.org My Webpage http://ukug.uk.freebsd.org/~mark/ mailto:mark@ukug.uk.freebsd.org http://www.radan.com To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-questions" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20000225154915.D326>