默认情况下,FreeBSD 操作系统使用 GENERIC
核心; 然而,在本教程中,我们将使用自定义配置重新编译 FreeBSD 内核: CUSTOM
.
先决条件
1) 要遵循本教程,请部署以下实例:
2) 部署实例后,安装 sudo
作为 root 用户:
# pkg install -y sudo
3) 创建一个本地用户作为wheel组的成员,然后发出密码:
# pw useradd test -g wheel
# passwd test
Changing local password for test
New Password:
Retype New Password:
4) 允许wheel组的所有成员执行任何命令
# visudo
改变:
# %wheel ALL=(ALL) ALL
到
%wheel ALL=(ALL) ALL
Save 并按退出 Esc
键后键入:wq!
5) 更改为新用户的shell
# su test
$
1. 获取源代码
为了重新编译内核,我们必须首先从 FreeBSD 的版本控制系统中获取源代码; 在这种情况下, subversion
$ sudo pkg install -y subversion
Password:
默认情况下,新 FreeBSD 用户的 shell 是 sh
; 但是,我们需要将其更改为 csh
安装后 subversion
1) 确认当前用户的shell:
$ echo $SHELL
/bin/sh
2) 将当前用户的shell更改为 csh
:
$ chsh -s /bin/csh
Password:
chsh: user information updated
3) 确认当前用户的 shell 已更改:
$ grep test /etc/passwd
test:*:1001:0:User &:/home/test:/bin/csh
或者
$ echo $SHELL
/bin/csh
4) 现在当前用户的 shell 被配置为 csh
,我们现在可以 rehash
目录表:
$ rehash
5) 最后,查看最新稳定分支的副本到 /usr/src
目录:
$ sudo svn co --trust-server-cert --non-interactive https://svn0.us-east.freebsd.org/base/stable/11/ /usr/src
Password:
Checked out revision 317943.
2. 创建一个 CUSTOM
配置
对于我们的 CUSTOM
内核配置,我们将复制现有的 GENERIC
配置。
1) 复制 GENERIC
来自 /usr/src/sys/amd64/conf/
目录为 CUSTOM
:
$ sudo cp /usr/src/sys/amd64/conf/GENERIC /usr/src/sys/amd64/conf/CUSTOM
Password:
在我们的 CUSTOM
内核配置,我们将进行一些更改。
2) 打开 /usr/src/sys/amd64/conf/CUSTOM
:
$ sudo vi /usr/src/sys/amd64/conf/CUSTOM
在第 22 行,您将看到一个 ident
标志,行号可以在 vi
编辑器按 Esc
键后键入:set nu
22 ident GENERIC
3) 改变 GENERIC
到您的自定义内核的名称; 在这种情况下 CUSTOM
:
22 ident CUSTOM
此外,在配置的底部,我们将添加以下内容:
options IPSEC
options TCP_SIGNATURE
一旦您对更改感到满意,请按 保存并再次退出 Esc
键后键入:wq!
有关这些不同选项的更多信息,请参见 NOTES
文件中每种类型的架构 /usr/src/sys/
目录。
下面是一些常见的架构 NOTES
地点:
/usr/src/sys/amd64/conf/NOTES
/usr/src/sys/arm64/conf/NOTES
/usr/src/sys/i386/conf/NOTES
与架构无关的选项可以参考 /usr/src/sys/conf/NOTES
欲知更多详情,请参阅 FreeBSD 手册.
3. 构建和安装你的 CUSTOM
核心
我们现在将编译 CUSTOM
你准备好的内核。
1) 更改为 /usr/src
目录并发出一个 make buildkernel
与 CUSTOM
配置文件:
$ cd /usr/src
$ sudo make buildkernel KERNCONF=CUSTOM
Password:
您的预计完成时间将因实例的资源量而异。
在本教程中,我们使用了以下内容:
CPU: 4 vCore
RAM: 8192 MB
Storage: 100 GB SSD
有了这些资源,我们就完成了我们的编译 CUSTOM
大约 4 小时内的内核:
--------------------------------------------------------------------
>>> Kernel build for CUSTOM completed on Sat May 6 00:24:37 UTC 2017
--------------------------------------------------------------------
2) 一旦你的 CUSTOM
内核编译完成,可以安装配置:
$ sudo make installkernel KERNCONF=CUSTOM
Password:
安装应该比编译快得多。
3) 安装完成后,重启你的实例:
$ sudo shutdown -r now
Password:
您的实例现在将开始关闭并重新启动到您的 CUSTOM
核心。 您可以登录到您的实例的 安慰 观察启动过程。
4) 一旦您的实例重新启动,请登录并确认您的 CUSTOM
正在使用内核:
$ sysctl kern.conftxt | grep ident
ident CUSTOM
或者
$ uname -i
CUSTOM
注:本教程在Vultr VPS上测试通过,如需部署请前往Vultr.com