标签: freebsd

  • 如何构建自己的FreeBSD发行版

    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
    
  • FreeBSD12 AMD显卡配置

    最近购置了一台家用服务器 HPE MicroServer Gen10,给服务器装上了FreeBSD,但是安装图形界面特别麻烦,花了我差不多一天多时间,这里给出一些操作步骤避免很多人遇坑。

    安装图形界面(以fvwm-cystal为例子):

    首先安装xorg,pkg命令一下就行,然后在 /etc/rc.conf 加上 dbus_enable=”YES”,图形界面需要dbus通讯。

    安装fvwm-crystal命令就不说了,pkg一下就行,然后安装。

    最后安装xdm登录管理器,至此图形界面已经基本安装完毕。

    此刻你用root用户敲startx发现是无法启动的,因此需要在/usr/local/etc/X11/xorg.conf.d/增加一个文件,比如 amd.conf文件,文件这么写,

    这里有个FreeBSD官方的参考链接:

    https://www.freebsd.org/doc/zh_TW/books/handbook/x-config.html

    Section "Device"
    	Identifier "Card0"
    	Driver     "radeon"
    EndSection

    然后 pkg install drm-kmod,安装drm模块,编辑/etc/rc.conf文件,添加如下行

    kld_list="/boot/modules/amdgpu.ko"

    如果是HD7000或者更老旧的GPU,添加如下行

    kld_list="/boot/modules/radeonkms.ko"
    

    我的是AMD R7 显卡,那么是amdgpu.ko,

    这里特别强调的是如果机器是UEFI启动并且是AMD显卡,EFI framebuffer和AMD显卡驱动是有冲突的,你需要在 /boot/loader.conf 增加下面一行,如果文件没有那么创建一个

    hw.syscons.disable=1

    这里的配置方式可参考

    https://wiki.freebsd.org/Graphics

    重启显卡就能够正常使用显卡驱动(重启卡在FreeBSD logo引导界面大约1分钟才能正常进入系统)

  • FreeBSD优点以及技巧

    FreeBSD添加自定义动态库(.so)路径:

    路径在 /usr/local/libdata/ldconfig  目录下,自己创建一个文件,添加库路径即可,然后运行 service ldconfig restart

    FreeBSD新系统如何恢复软件安装:

    拷贝备份的 /usr/local 目录以及自己安装的软件目录比如 /opt 目录到新系统上即可,然后恢复自己修改的非/usr/local以及/opt目录的其他文件

     

  • 在不支持BSD的VPS上安装BSD系统

    很多人可能像我一样喜爱着BSD系统,比如最受欢迎的FreeBSD系统,但是我们在租用服务器的时候会发现很多VPS厂商并不提供BSD系统,大多是Linux和Windows,这里提供一些解决方法,在VPS上安装上BSD系统,比如我测试过的FreeBSD和OpenBSD系统。

    前提条件(满足一条即可,注意:所有VPS可VNC查看)

    1.服务商提供Linux拯救系统盘或者系统自带拯救功能启动。

    2.支持自定义下载ISO,这个就不需要向下面看了,直接装就行。

    第一种方式(FreeBSD 自己尝试过,通过mfsBSD安装):

    进入临时系统后使用

    wget -qO- https://mfsbsd.vx.sk/files/images/12/amd64/mfsbsd-12.1-RELEASE-amd64.img | dd of=/dev/sda bs=1m

    或者使用CURL

    curl -s https://mfsbsd.vx.sk/files/images/12/amd64/mfsbsd-12.1-RELEASE-amd64.img | dd of=/dev/sda bs=1m

    上述”/dev/sda”换成你自己的VPS硬盘名,还有建议像我一样使用管道符,一边下载一边写入磁盘,当然VPS内存很大就可以忽略了,写入完成之后重启运行 bsdinstall 命令即可,如果需要登录,root用户名的密码是mfsbsd