# Boot freeze with custom kernel



## lalebarde (Dec 3, 2010)

Hi all,

I am new to FreeBSD and I have rebuild world and my customized kernel. I followed the handbook. At reboot, it freezes here :
	
	



```
Profiling kernel, textsize=4375696 [ffffffff8016a1a0..ffffffff80596630]
```

Here is my kernel configuration - it is for a web server with IP-forwarding capability :
	
	



```
# cat /root/kernel/monNoyau-2010-11-30 | egrep -v "^#"

machine		amd64
cpu		HAMMER
ident		MONNOYAU-2010-11-30

options 	SCHED_ULE		# ULE scheduler
options 	PREEMPTION		# Enable kernel thread preemption
options 	INET			# InterNETworking
options 	INET6			# IPv6 communications protocols
options 	SCTP			# Stream Control Transmission Protocol
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 	UFS_GJOURNAL		# Enable gjournal-based UFS journaling
options 	NFSCLIENT		# Network Filesystem Client
options 	NFSSERVER		# Network Filesystem Server
options 	NFSLOCKD		# Network Lock Manager
options 	CD9660			# ISO 9660 Filesystem
options 	GEOM_LABEL		# Provides labelization
options 	GEOM_CACHE		# Disk cache
options 	GEOM_JOURNAL		# Journaling.
options 	COMPAT_43
options 	COMPAT_43TTY		# BSD 4.3 TTY compat (sgtty)
options 	COMPAT_FREEBSD32	# Compatible with i386 binaries
options 	COMPAT_FREEBSD4		# Compatible with FreeBSD4
options 	COMPAT_FREEBSD5		# Compatible with FreeBSD5
options 	COMPAT_FREEBSD6		# Compatible with FreeBSD6
options 	COMPAT_FREEBSD7		# Compatible with FreeBSD7
options 	SCSI_DELAY=5000		# Delay (in ms) before probing SCSI
options 	STACK			# stack(9) support
options 	SYSVSHM			# SYSV-style shared memory
options 	SYSVMSG			# SYSV-style message queues
options 	SYSVSEM			# SYSV-style semaphores
options 	P1003_1B_SEMAPHORES	# POSIX-style semaphores
options 	_KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions
options 	PRINTF_BUFR_SIZE=128	# Prevent printf output being interspersed.
options 	KBD_INSTALL_CDEV	# install a CDEV entry in /dev
options 	AUDIT			# Security event auditing
options 	MAC			# TrustedBSD MAC Framework
options		FLOWTABLE		# per-cpu routing cache

device		cpufreq

device		acpi
device		pci

device		ata
device		atadisk		# ATA disk drives
device		atapicd		# ATAPI CDROM drives
options 	ATA_STATIC_ID	# Static device numbering

device		scbus		# SCSI bus (required for SCSI)
device		da		# Direct Access (disks)
device		cd		# CD
device		pass		# Passthrough device (direct SCSI access)
device		ses		# SCSI Environmental Services (and SAF-TE)

device		atkbdc		# AT keyboard controller
device		atkbd		# AT keyboard
options 	ATKBD_DFLT_KEYMAP	# specify the built-in keymap
makeoptions	ATKBD_DFLT_KEYMAP=fr.iso.acc

device		vga		# VGA video card driver

device		splash		# Splash screen and screen saver support

device		sc
options 	MAXCONS=4		# number of virtual consoles
options 	SC_DISABLE_KDBKEY	# disable `debug' key
options 	SC_DISABLE_REBOOT	# disable reboot key sequence
options 	SC_NO_CUTPASTE
options 	SC_NO_FONT_LOADING
options 	SC_NO_SYSMOUSE
options 	SC_NO_SUSPEND_VTYSWITCH

device		miibus		# MII bus support
device		re		# RealTek 8139C+/8169/8169S/8110S
device		rl		# RealTek 8129/8139

device		loop		# Network loopback
device		random		# Entropy device
device		ether		# Ethernet support
device		vlan		# 802.1Q VLAN support
device		tap
device		tun		# Packet tunnel.
device		md		# Memory "disks"
device		gif		# IPv6 and IPv4 tunneling
device		faith		# IPv6-to-IPv4 relaying (translation)
device		firmware	# firmware assist module

profile         2
options 	MP_WATCHDOG
options 	BPF_JITTER
device		nvram		# Access to rtc cmos via /dev/nvram
device		gzip		#Exec gzipped a.out's.  REQUIRES COMPAT_AOUT!
options 	VESA
device		dpms		# DPMS suspend & resume via VESA BIOS
options		X86BIOS
device		ichwd
options         LIBALIAS
options         IPDIVERT                #divert sockets

maxusers	10
makeoptions	CONF_CFLAGS=-fno-builtin  #Don't allow use of memcmp, etc.
options 	SCHED_ULE
device		pf
device		pflog
device		pfsync
options 	IPFIREWALL		#firewall
options 	IPFIREWALL_FORWARD	#packet destination changes
options 	IPFIREWALL_NAT		#ipfw kernel nat support
options 	IPFILTER		#ipfilter support
options 	IPFILTER_LOG		#ipfilter logging
options 	IPFILTER_LOOKUP		#ipfilter pools
options 	IPSTEALTH		#support for stealth forwarding
options 	SOFTUPDATES
options 	UFS_EXTATTR
options 	UFS_EXTATTR_AUTOSTART
options 	P1003_1B_MQUEUE
device		blank_saver
options 	PANIC_REBOOT_WAIT_TIME=16
```
*Any idea please ?*

I would be happy with a link towards a server kernel configuration.


----------



## SirDice (Dec 3, 2010)

Revert back to GENERIC. 

Don't set maxusers unless you absolutely have to. Remove the makeoptions, remove profile. Remove one of two firewalls you've included. Remove... hmm.. wait. Just start over.

Simply make a copy of GENERIC and remove the things you don't need.


----------



## DutchDaemon (Dec 3, 2010)

Yeah, the general idea of a custom kernel is to take out 80%, not add 20%.


----------



## lalebarde (Dec 3, 2010)

*Solved*

:e:e:e Thanks again very much SirDice :e:e:e



> Don't set maxusers unless you absolutely have to. Remove the makeoptions, remove profile. Remove one of two firewalls you've included.


I did that.



> Simply make a copy of GENERIC and remove the things you don't need.


That's what I did, then I added options from the NOTES as guidelined in the handbook.


----------



## lalebarde (Dec 3, 2010)

DutchDaemon said:
			
		

> Yeah, the general idea of a custom kernel is to take out 80%, not add 20%.


 That's what I did, no ?


----------



## lalebarde (Dec 3, 2010)

```
# du -h /boot/kernel 
 42M	/boot/kernel
```


----------



## DutchDaemon (Dec 4, 2010)

Talking about superfluous options and devices, not the size of the directory.


----------

