FreeBSD的源代码目录非常简单明了,各个源码目录基本对应系统组件各个部分,这里不做介绍,如果需要去除一些定制组件或者增加组件,只需要修改每个父级目录的Makefile即可。
在定制完成自己的FreeBSD发行版之后,执行以下命令
cd /usr/src make buildworld buildkernel -j4 KERNCONF=CUSTOM make distributeworld distributekernel -j4 KERNCONF=CUSTOM DISTDIR=/your_directory
这里的KERNCONF为自定义的内核配置文件名称,编译完成后即可生成目标的内核文件以及基本文件系统,
如果要定制其他软件可以chroot到生成的根文件系统。
下面讲述如何制作一个可引导镜像:
生成一个镜像文件:
dd if=/dev/zero of=my_freebsd.img bs=4M size=2048
创建一个md文件,mdconfig命令会返回一个设备名,比如md0
mdconfig my_freebsd.img
创建的md文件相当于一个磁盘,然后就可以创建引导分区等操作了,请看官方文档
https://wiki.freebsd.org/UEFI