Comment simplifier la configuration de son fichier de kernel

La methode officielle pour avoir un kernel custom est de copier le kernel GENERIC dans un autre fichier MONKERNEL et d'apporter les modifications souhaitees dans ce dernier (voir le handbook pour plus d'information).

Cette methode a (au moins) 2 inconvenients :

- la presence de tous les devices et options dans son kernel custom nuit a la lisibilite des modifications apportees

- lorsque GENERIC evolue/change au gre des releases, il faut renouveler toute la procedure de copie/modification

La methode que je vous propose ci-dessous a pour avantage de presenter un kernel minimaliste, ne comportant que les modifications que vous apportez par rapport au kernel de reference (ici GENERIC) et d'etre portable entre plusieurs niveau de release de FreeBSD.

include         GENERIC

nocpu           I486_CPU

ident           MONKERNEL

options         INCLUDE_CONFIG_FILE

nomakeoptions   DEBUG

options         SCHED_ULE       # ULE scheduler
nooptions       SCHED_4BSD      # 4BSD scheduler      

nooptions       SCSI_DELAY
options         SCSI_DELAY=3000


options         ALTQ
options         ALTQ_CBQ        # Class Bases Queueing
options         ALTQ_RED        # Random Early Detection
options         ALTQ_RIO        # RED In/Out
options         ALTQ_HFSC       # Hierarchical Packet Scheduler
options         ALTQ_PRIQ       # Priority Queueing 

# Packet Filter support
device          pf              #PF OpenBSD packet-filter firewall
device          pflog           #logging support interface for PF
device          pfsync          #synchronization interface for PF
device          carp            #Common Address Redundancy Protocol  

# SMBus support (/dev/smb*)
device          smbus
device          smb
device          ichsmb

# emulation SCSI via IDE
device          atapicam 

La ligne “nooptions SCSI_DELAY” evite d'avoir un warning “duplicate option” lors du “make buildkernel” tout en permettant la redefinition de ce parametre.

Il est tout a fait possible de desactiver des options ou devices en prefixant les lignes concernees par 'no' :

nodevice       blah
nooptions      truc


Avec cette methode, mon fichier de configuration custom de kernel est portable quelle que soit la version de FreeBSD utilisee.



Pour toute question ⇒ /SClo sclo(at)teaser.fr

freebsd/kernel_light.txt · Last modified: 2010/01/12 13:29 (external edit)