FreeBSD kernel questions
Hi,I'm trying to make a kernel for FreeBSD 5.3 on this system:
PART NAME AMOUNT
Case 4U22ATX550EPS-EC 1
Side Rails Antec 26" Side Rails 1
Mainboard Tyan 5350G2NR 1
Memory DDR-RAM DIMM 512MB Kingston ValueRAM 8
Processor Xeon 2,8GHz, MPGA, 1 MB, 800 FSB 2
CD-ROM Asus CD-S520 Atapi 52x 1
HDD for OS HD AT 120GB Western Digital WD1200BB 1
HDD for RAID HD AT 160GB Hitachi Deskstar 7K250 SATA 2
But I'm not sure which RAID controller the mainboard uses and couldn't fin this in the documentation on Tyan's website.
Here is what the kernel looks like:
#FreeBSD 5.3
machine i386
cpu I686_CPU
ident uwhostdualxeonkernel
maxusers 64
#makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols
options INET # InterNETworking
#options INET6 # IPv6 communications protocols
options FFS # Berkeley Fast Filesystem
options FFS_ROOT # FFS usable as root device [keep this!]
options SOFTUPDATES # Enable FFS soft updates support
options UFS_ACL # CUSTOM Ondersteuning voor toeganscontrolelijsten
options UFS_DIRHASH # Improve performance on big directories
options MFS # Memory Filesystem
#options MD_ROOT # MD is a potential root device
#options NFS # Network Filesystem
#options NFS_ROOT # NFS usable as root device, NFS required
#options MSDOSFS # MSDOS Filesystem
options CD9660 # ISO 9660 Filesystem
options CD9660_ROOT # CD-ROM usable as root, CD9660 required
options PROCFS # Process filesystem
options PSEUDOFS # CUSTOM Pseudo-filesystem framework
options GEOM_GPT # CUSTOM GUID Partitietabellen voor partities
options ADAPTIVE_GIANT # CUSTOM Giant mutex is adaptief.
options COMPAT_43 # Compatible with BSD 4.3 [KEEP THIS!]
options UCONSOLE # Allow users to grab the console
options USERCONFIG # boot -c editor
options VISUAL_USERCONFIG # visual boot -c editor
options KTRACE # ktrace(1) support
options SYSVSHM # SYSV-style shared memory
options SYSVMSG # SYSV-style message queues
options SYSVSEM # SYSV-style semaphores
options P1003_1B # Posix P1003_1B real-time extensions
options _KPOSIX_PRIORITY_SCHEDULING
options ICMP_BANDLIM # Rate limit bad replies
options KBD_INSTALL_CDEV # install a CDEV entry in /dev
options AHC_REG_PRETTY_PRINT # Print register bitfields in debug
options AHD_REG_PRETTY_PRINT # Print register bitfields in debug
# To make an SMP kernel, the next two are needed
options SMP # Symmetric MultiProcessor Kernel
options APIC_IO # Symmetric (APIC) I/O
# To support HyperThreading, HTT is needed in addition to SMP and APIC_IO
options HTT # HyperThreading Technology
device isa
device pci
# ATA and ATAPI devices
device ata
device atadisk # ATA disk drives
device ataraid # CUSTOM ATA RAID schijven
device atapicd # ATAPI CDROM drives
device atapicam # emulate ATAPI devices as SCSI
options ATA_STATIC_ID # Static device numbering
# RAID controllers with interface to SCSI subsystem
device amr # AMI MegaRAID
device asr # DPT SmartRAID V, VI en Adaptec SCSI RAID
device ciss # Compaq Smart RAID 5*
device dpt # DPT Smartcache III, IV - Zie NOTES voor opties
device hptmv # Highpoint RocketRAID 182x
device iir # Intel Integrated RAID
device ips # IBM (Adaptec) ServeRAID
device mly # Mylex AcceleRAID/eXtremeRAID
device twa # 3ware 9000 series PATA/SATA RAID
# RAID controllers
device aac # Adaptec FSA RAID
device aacp # SCSI passthrough voor aac (CAM nodig)
device ida # Compaq Smart RAID
device mlx # Mylex DAC960 famile
device pst # Promise Supertrak
# atkbdc0 controls both the keyboard and the PS/2 mouse
device atkbdc0 at isa? port IO_KBD
device atkbd0 at atkbdc? irq 1 flags 0x1
device psm0 at atkbdc? irq 12
# VGA
device vga0 at isa?
# syscons is the default console driver, resembling an SCO console
device sc0 at isa? flags 0x100
# AGP
device agp # support several AGP chipsets
# Floating point support - do not disable.
device npx0 at nexus? port IO_NPX irq 13
# Serial (COM) ports
device sio0 at isa? port IO_COM1 flags 0x10 irq 4
device sio1 at isa? port IO_COM2 irq 3
# PCI Ethernet NICs that use the common MII bus controller code.
# NOTE: Be sure to keep the 'device miibus' line in order to use these NICs!
device miibus # MII bus support
device bge # Broadcom BCM570xx Gigabit Ethernet
# Pseudo devices - the number indicates how many units to allocate.
pseudo-device loop # Network loopback
pseudo-device ether # Ethernet support
pseudo-device tun # Packet tunnel.
pseudo-device pty # Pseudo-ttys (telnet etc)
pseudo-device md # Memory "disks"
pseudo-device gif # IPv6 and IPv4 tunneling
#pseudo-device faith # IPv6-to-IPv4 relaying (translation)
# USB support
device uhci # UHCI PCI->USB interface
device ohci # OHCI PCI->USB interface
device usb # USB Bus (required)
device ugen # Generic
device uhid # Human Interface Devices
device ukbd # Toetsenbord
device ums # Muis
pseudo-device vn #Vnode driver (turns a file into a device)
I'm also not too sure about these:
# atkbdc0 controls both the keyboard and the PS/2 mouse
device atkbdc0 at isa? port IO_KBD
device atkbd0 at atkbdc? irq 1 flags 0x1
device psm0 at atkbdc? irq 12
device vga0 at isa?
device npx0 at nexus? port IO_NPX irq 13
device sio0 at isa? port IO_COM1 flags 0x10 irq 4
device sio1 at isa? port IO_COM2 irq 3
I actually got the kernel from an example on the internet and started customizing it with the manual, but it doesn't say anything about the "at...", what is this for? Should I leave it like this or stick to the manual?
Does anyone know if there is anything I can filter out for extra performance or if I've made any mistakes? Because it's my first custom kernel, and I'd like to be sure it'll work.
BTW: Are COM ports needed for anything else than the stuff connected through it?
Thanks,
Ken