Home arrow Latest Tutorials arrow FreeBSD Minimal Kernel Config File for PCENGINES ALIX BOARDS
FreeBSD Minimal Kernel Config File for PCENGINES ALIX BOARDS PDF
Wednesday, 18 March 2009

Here is a minimal FreeBSD kernel config file with all options needed by a PCENGINES ALIX board.
Use this if you need a smaller kernel that might boot fast.

Alix AMD Geode CPU

# ------------ ALIX Minimal Kernel Config File

 machine        i386
cpu        I586_CPU
ident        ALIX

option          CPU_GEODE
option          CPU_ELAN

options     SCHED_ULE        # ULE scheduler
options     PREEMPTION        # Enable kernel thread preemption
options     SCTP            # Stream Control Transmission Protocol

options     INET            #InterNETworking
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 root device, requires NFSCLIENT
options     PROCFS            #Process filesystem (requires PSEUDOFS)
options     PSEUDOFS        #Pseudo-filesystem framework
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 #Posix P1003_1B real-time extensions
options     COMPAT_43TTY        # BSD 4.3 TTY compat [KEEP THIS!]
options     STOP_NMI        # Stop CPUS using NMI instead of IPI

device        apic            # I/O APIC
device        cpufreq

device        pci

device        ata
device        atadisk            # ATA disk drives
options     ATA_STATIC_ID        #Static device numbering

# syscons is the default console driver, resembling an SCO console
device atkbdc
device atkbd
device vga
device        sc
options   SC_NO_SYSMOUSE

# Floating point support - do not disable.
device        npx

device        pmtimer

# Serial (COM) ports
device        sio        # 8250, 16[45]50 based serial ports
device        uart        # Generic UART driver

device        miibus        # MII bus support
device        sis        # Silicon Integrated Systems SiS 900/SiS 7016
device        vr        # VIA Rhine, Rhine II

# Pseudo devices - the number indicates how many units to allocate.
device        random        # Entropy device
device        loop        # Network loopback
device        ether        # Ethernet support
device        tun        # Packet tunnel.
device        pty        # Pseudo-ttys (telnet etc)
device        md        # Memory "disks"

device        scbus        # SCSI bus (required for SCSI)
device        ch        # SCSI media changers
device        da        # Direct Access (disks)

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

# syscons is the default console driver, resembling an SCO console
device        sc

options HZ=1000
options DEVICE_POLLING

options ALTQ
options ALTQ_CBQ
options ALTQ_RED
options ALTQ_RIO
options ALTQ_HFSC
options ALTQ_PRIQ

device mem
device pf
device pflog
device pfsync

# -------------------- end of kernel config file


As a result you shoud get:
ls -la kernel
-rwxr-xr-x  1 root  wheel  4584283 Mar 18 22:09 kernel

or a compressed kernel:

ls -la kernel.gz
-rwxr-xr-x  1 root  wheel  1903934 Mar 18 22:09 kernel.gz


A Kkernel size of 2 MB is not bad at all.

Notes:
-------
For this minimal example, if you compile your kernel under FreeBSD 8.0, remove the following lines from your kernel config file:
device ugen
device sio


Last Updated ( Wednesday, 23 September 2009 )
 
< Prev   Next >

Other BSD Systems

OpenBSD

Misc

Solaris

Polls

Best BSD firewall?