FreeBSD GENERIC kernel&modules

Giorgos Keramidas keramida at ceid.upatras.gr
Tue Nov 22 23:48:14 GMT 2005


On 2005-11-23 00:14, Wojciech Puchar <wojtek at tensor.3miasto.net> wrote:
> i have no idea why almost EVERYTHING is kld-modularized, and once
> again in generic kernel.
>
> below is my "almost generic" kernel taking 4 times less space[...]

> ident           SMP-686
> options         SMP                     # Symmetric MultiProcessor Kernel
> machine         i386
> cpu             I686_CPU
>
> #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         QUOTA
> 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         COMPAT_43               # Compatible with BSD 4.3 [KEEP
> THIS!]
> options         COMPAT_FREEBSD4         # Compatible with FreeBSD4
> options         COMPAT_FREEBSD5         # Compatible with FreeBSD5
> options         SCSI_DELAY=2000         # Delay (in ms) before probing SCSI
> options         KTRACE                  # ktrace(1) support
> options         _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time
> extensions
> options         ADAPTIVE_GIANT          # Giant mutex is adaptive.
>
> device          apic                    # I/O APIC
> device          pci
>
> device          atkbdc          # AT keyboard controller
> device          atkbd           # AT keyboard
> device          psm             # PS/2 mouse
>
> device          vga             # VGA video card driver
> device          sc
>
> # Pseudo devices.
> device          loop            # Network loopback
> device          ether           # Ethernet support
> device          pty             # Pseudo-ttys (telnet etc)
>
> # 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

Pretty lean kernel configuration.  It's impossible for the GENERIC
kernel though to satisfy everyone, for various reasons.

There are those who will cry "your GENERIC kernel is useless because it
doesn't support my favorite SCSI controller, and I can't install it on
my new shiny desktop".

There also those who don't care too much about supporting the hardware
RAID controller Foobar.

This is why it's so easy to build custom kernel configs, after all :)



More information about the freebsd-questions mailing list