FreeBSD安装记录

  • 安装基本系统
    • 镜像下载
    • U盘刻录软件
    • 开始安装
      • 需要注意的地方
      • 分区
  • 安装部分结束
  • 其它记录
    • 修改国内源
    • 一些工具包和个人使用的软件(想到一个添加一个~)
    • 挂载exfat格式U盘(从未成功过~~ :))
    • rEFInd
    • 安装显卡驱动
    • 编译内核
    • vt控制台相关
    • Xorg
      • 两种安装方式
        • 1、ports
        • 2、pkg
    • suckless套件: dwm + st + dmenu
      • dwm
      • st
      • dmenu
    • 未完待续~~~
    • 参考目录

刚刚接触FreeBSD,主要目的是为了体验一下ZFS:),在这里整理一下资料,如果对你有帮助,我将十分荣幸!
今天在VMware上安装成功,晚上实机安装!

安装基本系统

镜像下载

  • U盘镜像
    FreeBSD-13.0-RELEASE-amd64-memstick
  • ISO镜像(虚拟机安装使用)
    FreeBSD-13.0-RELEASE-amd64-disc1

U盘刻录软件

  • rufus 3.17

开始安装

看FreeBSD安装手册就可以了,官方资料

需要注意的地方

#手册2.5.3. Selecting Components to Install
#12.26日 9:00更新
#只选择src就可以,ports选了也不会安装,只是些空目录
src           #后面编译内核是需要用到

分区

整块硬盘选择AUTOUFS或AUTOZFS
主要是为了折腾,在这里记录一下ZFS手动分区
分区时选择SHELL
2021.12.22,买了一块1T的SSD,决定重装系统… 选择AUTOZFS分区,需要注意的地方就是要正确选择硬盘和设置SWAP大小(默认是2G)
在这里暂时保留手动分区命令~

  • 引导分区
#确定要安装FreeBSD的硬盘
camcontrol devlist
#我要安装FreeBSD的硬盘插在主板第3个SATA接口上,所以显示的是ada3,个人根据实际情况修改
#清空硬盘
gpart destroy -F ada3
gpart create -s gpt ada3
#UEFI引导
# 本例中为FreeBSD12.X以后版本的方法,12.x以前的版本不适用
#手册上efi分区是800k,实际上在建立FAT32分区时会提示clusters too few clusters for FAT32
#FreeBSD论坛上有人说这是个失误,实际上最小应为33M,本例中设置为512M
gpart add -a 4k -s 512M -t efi ada3
newfs_msdos -F 32 -c 1 /dev/ada3p1
mount -t msdosfs -o longnames /dev/ada3p1 /mnt
mkdir -p /mnt/EFI/BOOT
cp /boot/loader.efi /mnt/EFI/BOOT/BOOTX64.efi
  • 交换分区(大内存可以不分,个人习惯分一个SWAP)
gpart add -a 4k -s 16G -t freebsd-swap -l swap0 ada3
  • zfs分区
gpart add -a 4k -t freebsd-zfs -l myzpool ada3
  • 建立ZPOOL
#挂载tmpfs
mount -t tmpfs tmpfs /mnt
zpool create -o altroot=/mnt zroot ada3p3
  • 设置ZFS全局参数
#zpool get all
#zfs get all
zpool set ashift=12 zroot
zfs set compress=zstd zroot        #个人实验性质使用zstd压缩
zfs set checksum=fletcher4 zroot
zfs set atime=off zroot
  • 建立根目录并挂载
zfs create -o mountpoint=none zroot/ROOT
zfs create -o mountpoint=/ -o canmount=noauto zroot/ROOT/default
mount -t zfs zroot/ROOT/default /mnt
  • 其他挂载点
zfs create -o mountpoint=/tmp -o exec=on -o setuid=off zroot/tmp
zfs create -o canmount=off -o mountpoint=/usr zroot/usr
zfs create zroot/usr/home
zfs create -o exec=off -o setuid=off zroot/usr/src
zfs create -o mountpoint=/usr/ports -o setuid=off zroot/usr/ports
zfs create -o exec=off -o setuid=off -ocompress=off zroot/usr/ports/distfiles
zfs create -o exec=off -o setuid=off -ocompress=off zroot/usr/ports/packages
zfs create -o canmount=off -o mountpoint=/var zroot/var
zfs create -o exec=off -o setuid=off zroot/var/audit
zfs create -o exec=off -o setuid=off zroot/var/crash
zfs create -o exec=off -o setuid=off zroot/var/log
zfs create -o atime=on -o exec=off -o setuid=off   zroot/var/mail
zfs create -o exec=on -o setuid=off zroot/var/tmpln -s /usr/home /mnt/home
chmod 1777 /mnt/var/tmp
chmod 1777 /mnt/tmp
  • 设置引导
zpool set bootfs=zroot/ROOT/default zroot
  • 编辑fstab,添加交换分区信息
# cat << EOF > /tmp/bsdinstall_etc/fstab
# Device                       Mountpoint              FStype  Options         Dump    Pass#
/dev/ada3p2                none                    swap    sw              0       0
EOF
exit
  • 回到bsdinstall界面,根据FreeBSD手册继续安装
  • 安装中HandBook中的注意事项
2.8.4 Enabling Hardening Security Options选中disable_sendmail(如果你用不到的话)
影响开机速度~
2.8.5. Add Users# 添加用户到wheel,video组,用空格分开
Invite user into other groups?[] wheel video
  • 最后一步弹出此窗口,选择"YES",进入SHELL界面,

  • 输入下面的命令

sysrc zfs_enable="YES"
exit
  • 选择重启

安装部分结束

其它记录

修改国内源

  • 改用中科大镜像,同步较及时~
  • PKG源
mkdir -p /usr/local/etc/pkg/repos
ee /usr/local/etc/pkg/repos/FreeBSD.conf
FreeBSD : {url: "pkg+https://mirrors.ustc.edu.cn/freebsd-pkg/${ABI}/latest",mirror_type: "srv",signature_type: "none",fingerprints: "/usr/share/keys/pkg",enabled: yes
}
#编辑完成保存退出
pkg update -f
  • ports源
ee /etc/make.conf
MASTER_SITE_OVERRIDE?=https://mirrors.ustc.edu.cn/freebsd-ports/distfiles/${DIST_SUBDIR}/
  • 12.26 9:00 添加
  • 使用gitup 替换portsnap
pkg ins -y gitup
gitup ports         # 正在寻找加速方法
  • freebsd-update 更新安全补丁
freebsd-update fetch install
  • portsnap使用axel加速
cd /usr/ports/ftp/axel/ && make install clean && cd -
ee /etc/make.conf

pkg安装的axel版本较低,下载时无法重定向,应该可以自己下载源码包编译最新版本,不过目前还没找到如何编译安装的方法

FETCH_CMD=axel
FETCH_BEFORE_ARGS= -n 10 -a
FETCH_AFTER_ARGS=
DISABLE_SIZE=yes
  • 使用git管理ports(实际测试了一下,实在是太慢了…放弃)
cd /usr/ports/devel/git/ && make install clean && cd -
git clone https://git.FreeBSD.org/ports.git /usr/ports
git -C /usr/ports pull

一些工具包和个人使用的软件(想到一个添加一个~)

  • SUDO
su  # 切换到root
cd /usr/ports/security/sudo/ && make install clean && cd -
visudo
# 因为这台机器只有我自己使用,所以设置sudo时不需要输入密码
# 找到下面这一行,将前面的 # 号去掉
%wheel    ALL=(ALL)   NOPASSWD: ALL
  • CPU微码
cd /usr/ports/sysutils/devcpu-data/ && sudo make install clean && cd -# 根据屏幕提示修改配置文件,只记住了一个...
sudo echo 'microcode_update_enable="YES"' >> /etc/rc.conf
  • 工具
cd /usr/ports/sysutils/pciutils/ && sudo make install clean && cd -
cd /usr/ports/sysutils/usbutils/ && sudo make install clean && cd -
cd /usr/ports/sysutils/lsblk/ && sudo make install clean && cd -
  • 字体
# google noto
cd /usr/ports/x11-fonts/noto-sc/ && sudo make install clean && cd -
# hack-font
cd /usr/ports/x11-fonts/hack-font/ && sudo make install clean && cd -# 刷新字体
fc-cache -rv
# 列出所有字体
fc-list