FreeBSD内核编译安装

By | 2019-10-05

FreeBSD 11.2-RELEASE: https://download.freebsd.org/ftp/releases/ISO-IMAGES/11.2/
虚拟机映像:https://download.freebsd.org/ftp/releases/VM-IMAGES/11.2-RELEASE/amd64/Latest/

为了方便,这里使用虚拟机版本演示

创建虚拟机

1.自定义——兼容性选择最高版本——稍后安装操作系统

创建虚拟机

2.操作系统选择freeBSD11 64

FreeBSB 11

3.处理器我配置了双核、内存1G、网络NAT,IO/磁盘类型默认

4.磁盘选择现有虚拟磁盘

现有虚拟磁盘

5.浏览下载好的镜像

浏览FreeBSD镜像

6.然后点击完成

FreeBSD虚拟机

配置编译

1.打开FreeBSD虚拟机,输入root登录系统

FreeBSD 11

2.升级port目录
vi /etc/portsnap.conf
SERVERNAME=portsnap.freebsd.org修改为SERVERNAME=portsnap.hshh.org
执行portsnap fetch extract  下载ports并且解压到/usr

3. 下载FreeBSD内核代码 (使用了pfsense的内核) https://github.com/pfsense/FreeBSD-src/archive/RELENG_2_5.zip
如果遇到“Authentication error”,执行下面代码
pkg install ca_root_nss

ln -s /usr/local/share/certs/ca-root-nss.crt /etc/ssl/cert.pem
#svnlite update /usr/src
fetch https://github.com/pfsense/FreeBSD-src/archive/RELENG_2_5.zip

freebsd内核

4.将下载好的FreeBSD内核压缩包解压到/usr/src

5.进入FreeBSD内核编译目录
清理依赖关系
make cleandepend
make cleanworld
重新构建依赖关系
make depend

6.确定核心数量sysctl hw.ncpu
make -j核心数
联编新的编译器, 以及少量相关工具, 并在随后使用新的编译器来联编 world。 联编的结果会存放在 /usr/obj
make buildworld

make buildworld

7.自定义内核
可以通过复制GENERIC配置文件来创建自定义 配置文件
# cp /usr/src/sys/amd64/conf/GENERIC /root/MYGENERIC
# cd /usr/src/sys/amd64/conf
# ln -s /root/ MYGENERIC .

vi /root/ MYGENERIC然后编辑,添加或删除设备或选项
通过KERNCONF在命令行上设置内核配置文件来构建自定义内核
make buildkernel KERNCONF= MYGENERIC

kernconf

8.安装FreeBSD自定义内核
# cd /usr/src
# make installkernel KERNCONF= MYGENERIC

# shutdown -r now
# cd /usr/src
# make installworld
# shutdown -r now

FreeBSD内核已经更新了

freebsd 12.0

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注