如何配置netbsd内核

这篇文章主要讲解了“如何配置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内核这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联,小编将为大家推送更多相关知识点的文章,欢迎关注!


当前标题:如何配置netbsd内核
文章网址:http://scyanting.com/article/ggdojo.html