配置FreeBSD内核

安装好FreeBSD之后,便需要根据硬件和计算机的应用需求重新配置FreeBSD的内核。标准内核已经能够满足正常运行FreeBSD的需要,但是不建立针对自己计算机的内核,就不能说完全完成了FreeBSD的配置任务。虽然FreeBSD提供了UserConfig可以来更改内核中硬件资源的,并通过可加载模块以扩展内核能力,但仍然有几个重要的原因使得FreeBSD使用者重新定制内核:

通用内核不能对所有的硬件都进行支持,某些对安装和运行不是至关重要的硬件,如声卡,或者较少用到的硬件,如ATM卡,就没有被编译到通用内核中去。如果用户的计算机上使用了这些硬件,就需要重新编译内核。

某些应用程序和FreeBSD的功能对内核的参数有特殊要求,例如Windows的模拟器Windows Emulation等。重新编译内核能满足这些应用程序对内核参数的特殊要求。

通用内核中有很多不必要的硬件驱动程序,这些程序不仅使启动时自动检测硬件需要的时间变长,并且占用了内存空间。由于内核是系统最重要的部分,将一直驻留在内存中,而不会置换到硬盘上,因此多余的内核驱动程序浪费了宝贵的物理内存,对于系统性能有一定影响。

重新生成内核也可以根据自己的硬件和需求优化内核参数,例如用作服务器和系统和用于工作站的FreeBSD系统的最优参数是不同的,并且通用核心是使用386指令集,而当前计算机一般都是Pentium级,因此可以使用最新的编译器和最优化的编译选项,提高系统性能。

定制内核能够按照硬件和需求量体裁衣,使内核简洁、干净,这是一个提供高效率系统的重要因素。而且在Free BSD下,定制内核并不困难,即使是对系统不太熟悉的使用者,也能够完成定制内核的任务,所需要的只是耐心等待编译过程。在安装好系统之后,应该及时进行定制内核的操作。

为编译内核准备源代码

FreeBSD系统提供内核的源代码,在安装系统时是否安装内核代码与使用的不同安装选项有关。安装后的源代码位于/usr/src/sys目录中,如果这个目录不存在或者为空目录,则说明源代码没有安装。此时就必须重新安装内核源代码。

仍然可以使用/stand/sysinstall程序,选择Distribution选项来安装源代码;也可以运行安装介质中src目录下的install.sh来安装。安装FreeBSD内核源代码之后,习惯上还创建了一个符号连接/sys,指向/usr/src/sys目录,以方便使用。

在拥有了源代码之后,就可以编辑配置文件,进行配置工作了。源代码目录/usr/src/sys下有多个目录,每个FreeBSD支持的设备、文件系统都有自己的目录,以存放相关的源代码。在定制内核的时候,所关系的目录是内核配置文件所在的目录:/sys/i386/conf,i386目录表示是Intel 386体系的计算机,其下的conf目录下就放置着内核的配置文件。

时间: 2024-10-26 19:44:23

配置FreeBSD内核的相关文章

任天堂的新掌机 Nintendo Switch 运行 FreeBSD 内核

任天堂的新掌机/主机 Nintendo Switch 于上周末正式发售,ifixit 和 fictiv 分别拆解了 Switch ,公开了它的详细的硬件配置:NVIDIA 的 Tegra 处理器,USB Type-C端口,4310 mAh 容量电池,而可拆下的 JoyCon 还含有 525 mAh 容量电池... )软件方面,根据玩家公布的照片,Nintendo Switch 运行的是 FreeBSD 内核,而不是通常以为 Android 或 Linux.这意味着 Switch 的系统与 PS4

开发者声称利用 FreeBSD 内核漏洞越狱 PS4

一名开发者声称利用FreeBSD内核漏洞成功实现了PS4越狱.PS4运行的是修改自FreeBSD 9.0的Orbis OS系统.这位名叫CTurt的开发者过去几个月一直在研究PS4,他很早就注意到FreeBSD 9自2012年以来发现了多个内核漏洞,其中部分漏洞有可能在PS 4上利用.他在GitHub上发布了开源PS4 SDK,认为他的利用方法对于索尼最近发布的3.0固件仍然有效.其他开发者据报也在利用内核漏洞越狱PS4. ====================================

教你定制自己的压缩的FreeBSD内核

我同时使用Linux和FreeBSD,Linux的"make zImage"的功能使得我可以定制压缩的内核,在自己制作启动盘.应急盘时尤为方便.而在FreeBSD中我却没有找到类似的功能,编译出的内核要大很多,请问FreeBSD是否支持压缩内核? 事实上,FreeBSD的安装盘使用的就是压缩的内核,压缩是由kzip工具来完成的.内核压缩的方法如下. ① 以root身份登录. ② 进入kzip所在目录: # cd /sys/i386/boot/kzipboot ③ 编译kzip: # m

配置FreeBSD的网关和网络服务

出现如下提示时就可以开始网关的配置了:User Confirmation Requested Do you want this machine to function as a network gateway? [ Yes ] No如果这台机器要作为本地网络和其它机器之间传送数据包的网关, 请选择 [ Yes ] 然后按 Enter.如果这台机器只是网络上的一个节点主,请选择 [ No ] 并按Enter 继续. 出现如下提示时就可以开始网络服务的配置:User Confirmation Req

Nginx优化配置和内核优化 实现突破十万并发_nginx

nginx指令中的优化(配置文件) 复制代码 代码如下: worker_processes 8; nginx进程数,建议按照cpu数目来指定,一般为它的倍数. 复制代码 代码如下: worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000; 为每个进程分配cpu,上例中将8个进程分配到8个cpu,当然可以写多个,或者将一个进程分配到多个cpu. 复制代码 代码如下: wo

配置FreeBSD的FTP和NFS

出现以下提示就可以进行FTP设置了:User Confirmation Requested Do you want to have anonymous FTP access to this machine? Yes [ No ]选择默认的[ No ] 并按下 Enter 键将仍然可以让在这台机器上有账号的用户访问 FTP.要启用FTP匿名访问,用方向键选择 [ Yes ] 然后按 Enter键.您会看到下面(或类似)的画面: 详解:FTP建站与配置完全手册 选电脑就像挑男友 专为学生MM打造 手

教你配置freebsd ftp nfs方法

出现以下提示就可以进行FTP设置了:User Confirmation Requested Do you want to have anonymous FTP access to this machine? Yes [ No ]选择默认的[ No ] 并按下 Enter 键将仍然可以让在这台机器上有账号的用户访问 FTP.要启用FTP匿名访问,用方向键选择 [ Yes ] 然后按 Enter键.您会看到下面(或类似)的画面: 默认的匿名FTP配置 按 F1 键可以查看在线帮助文档:This sc

FreeBSD中使用串行通信进行远程内核调试

探索在不影响系统性能的情况下,如何远程调试正在目标计算机上运行的 FreeBSD 内核.本文讨论如何使用串行通信端口设置调试环境.如何编译经过修改的内核代码.如何进行调试,并介绍了一些故障诊断提示. 引言 FreeBSD 是从 BSD 衍生而来的高级操作系统,BSD 则是加利福尼亚大学伯克力分校开发的 UNIX 版本.它提供了很高的性能,与其他系统的兼容性更强,并且需要的系统管理更少.FreeBSD 包含了内核级的状态式 (Stateful) IP 防火墙以及许多其他服务,如 IP 代理网关.访

FreeBSD VM内核内存管理

本文涉及到的源码是FreeBSD5.0Release,参考4.4BSD设计与实现相关章节,Matt Dillon的文章. VM系统涉及的主要数据结构描述 1. vmspace 该结构用于描述一个进程的虚拟地址空间,其包含了平台无关性的vm_map结构和平台相关性的pmap结构,以及该进程内存使用的一些统计计量. 2. vm_map 该结构是描述与平台无关性的虚拟地址空间的最高层数据结构,其包含了一系列虚拟地址有效地址映射实体和这些映射的属性. 3. vm_map_entry 该结构描述了一段虚拟