這篇文章主要講解了“如何配置netbsd內核”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“如何配置netbsd內核”吧!
這個內核配置文件,要經過config進行處理
第一行表示,要包含一個文件
include "arch/evbmips/conf/std.loongson", 內容如下:
# $NetBSD: std.loongson,v 1.2 2017/08/08 12:22:21 maya Exp $ machine evbmips mips include "conf/std" # MI standard options options MIPS3_ENABLE_CLOCK_INTR options ENABLE_MIPS_16KB_PAGE options PMON # Platform support options MIPS3_LOONGSON2 options MIPS3 options MIPS3_LOONGSON2F options LOONGSON2 # IDT LOONGSON2 makeoptions LP64="yes" options EXEC_ELF64 options EXEC_ELF32 # exec ELF32 binaries options EXEC_SCRIPT # exec #! scripts options COMPAT_NETBSD32 makeoptions CPUFLAGS="-mips3 -mdivide-breaks -Wa,-mfix-loongson2f-btb -Wa,-mfix-loongson2f-jump -Wa,-mfix-loongson2f-nop" # CPU codegen options makeoptions DEFTEXTADDR="0x80200000" makeoptions BOARDTYPE="loongson" include "arch/evbmips/conf/files.loongson"
它又包含了兩個文件:
1 conf/std
# $NetBSD: std,v 1.23 2019/01/27 02:08:41 pgoyette Exp $ # # standard MI 'options' 標準的不能取消的選項 # # this file is for options which can't be off-by-default for some reasons. # "it's commonly used" is NOT a good reason to enable options here. # # Always include "kern" attribute (module). Other attributes don't need to # depend on "kern". # select kern 有內核模塊屬性,在輸出目錄里,有kern_xxx.d & kern_xxx.o # Always include the "vfs" attribute (module). Although all of the # ufs/xxx file systems depend on the vfs attribute, it is not required # that any file system actually be built-in to the kernel. (At least # on some architectures, file system modules can be loaded at boot # time.) select vfs 有vfs,虛擬文件系統屬性,在輸出目錄里,有vfs_xxx.d & vfs_xxx.o select net # XXX Clean up dependency # the following options are on-by-default to keep # kernel config file compatibility. 下面的選項,默認都是打開的 options VMSWAP # Swap device/file support options BUFQ_FCFS # First-come First-serve strategy options BUFQ_DISKSORT # Traditional min seek sort strategy options RFC2292 # Previous version of Adv. Sockets API for IPv6 options PTRACE # Include ptrace(2) syscall options PTRACE_HOOKS # Include ptrace hooks options COREDUMP # allow processes to coredump. options AIO # POSIX asynchronous I/O options MQUEUE # POSIX message queues # Common compatibility functions. They happen to be needed even when # no compatibility option is explicitly enabled. # options COMPAT_UTILS # # Security model. # options secmodel_bsd44 # Traditional 4.4BSD security model # # Scheduling algorithm # options SCHED_4BSD pseudo-device cpuctl # # Kernel entropy pool and random-number generator pseudodevice. # The pseudodevice might stop being "std" when the two are torn # apart some day but the entropy pool itself never will (they are # presently implemented in the same source file) # pseudo-device rnd
2 arch/evbmips/conf/files.loongson
# $NetBSD: files.loongson,v 1.5 2014/07/20 10:22:54 alnsn Exp $
# Standard stanzas config(8) can't run without
maxpartitions 16
maxusers 8 16 64
file arch/evbmips/loongson/autoconf.c
file arch/evbmips/loongson/loongson_bus_io.c
file arch/evbmips/loongson/loongson_bus_mem.c
file kern/subr_disk_mbr.c
file arch/evbmips/loongson/loongson_intr.c
file arch/evbmips/evbmips/interrupt.c
file arch/evbmips/loongson/gdium_machdep.c
file arch/evbmips/loongson/generic2e_machdep.c
file arch/evbmips/loongson/yeeloong_machdep.c
file arch/evbmips/loongson/isa_machdep.c isa
file arch/evbmips/loongson/loongson2_machdep.c
file arch/evbmips/loongson/machdep.c
file arch/mips/mips/bus_dma.c
file arch/mips/mips/mips3_clock.c
file arch/mips/mips/mips3_clockintr.c
# Memory Disk
file dev/md_root.c memory_disk_hooks
# Stack-less Just-In-Time compiler
include "external/bsd/sljit/conf/files.sljit"
include "dev/ata/files.ata"
include "dev/scsipi/files.scsipi"
include "dev/i2o/files.i2o"
include "dev/isa/files.isa"
include "dev/pci/files.pci"
include "dev/pci/files.agp"
include "dev/usb/files.usb"
include "dev/bluetooth/files.bluetooth"
include "dev/pckbport/files.pckbport"
device mainbus {[addr = -1] }
attach mainbus at root
file arch/evbmips/loongson/mainbus.c mainbus
file arch/evbmips/loongson/bonito_mainbus.c bonito_mainbus
device cpu
attach cpu at mainbus
file arch/evbmips/evbmips/cpu.c cpu
device clock
attach clock at mainbus
include "arch/mips/conf/files.bonito"
# AMD Geode CS5536 companion chip
file arch/evbmips/loongson/dev/glx.c bonito & pci
# AMD Geode CS5535/CS5536 PCI-ISA bridge
device gcscpcib: isabus, sysmon_wdog, gpiobus
attach gcscpcib at pci with gcscpcib_pci
file arch/evbmips/loongson/dev/gcscpcib_pci.c gcscpcib_pci
file dev/ic/gcscpcib.c gcscpcib
# Other PCI-ISA bridges
device pcib: isabus
attach pcib at pci
file arch/evbmips/loongson/dev/pcib.c pcib | gcscpcib
file arch/mips/pci/pciide_machdep.c pciide_common
device mcclock: mc146818
attach mcclock at isa with mcclock_isa
file arch/evbmips/isa/mcclock_isa.c mcclock_isa
# Lemote Yeeloong KB3310B Embedded Controller
device ykbec
attach ykbec at isa
file arch/evbmips/loongson/dev/kb3310.c ykbec needs-flag
# Gdium ST7 controller
device stvii
attach stvii at iic
file arch/evbmips/loongson/dev/stvii.c stvii needs-flag
defflag opt_stvii.h STVII_DEBUG
# SM502 OHCI
#attach ohci at voyager with ohci_voyager
#file arch/loongson/dev/ohci_voyager.c ohci_voyager感謝各位的閱讀,以上就是“如何配置netbsd內核”的內容了,經過本文的學習后,相信大家對如何配置netbsd內核這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。