笔记本实体机安装FreeBSD操作系统
1.绪论
FreeBSD是一种类UNIX操作系统,是由经过BSD、386BSD和4.4BSD发展而来的Unix的一个重要分支。FreeBSD 为不同架构的计算机系统提供了不同程度的支持。并且一些原来BSD UNIX的开发者后来转到FreeBSD的开发,使得FreeBSD在内部结构和系统API上和UNIX有很大的兼容性。它可以在多个平台上进行使用,例如amd64(x86_64)、X86(i386)、ARM、AArch64、IA-64、PowerPC、PC-98、SPARC等架构,详细可以参考FreeBSD参考文档。FreeBSD很大程度上是作为服务器系统来使用的,对于个人桌面不是非常支持,当然也有很多BSD类型的另外系统,例如OpenBSD,GhostBSD,NetBSD,OpenBSD等等,在后续的文章中,笔者会进一步讲述BSD家族之间的关系和联系。
2.安装过程
2.1 刻录FreeBSD启动U盘
首先我们到FreeBSD官网下载FreeBSD的镜像文件,这里笔者选择了FreeBSD12.1版本的,由于电脑是64位系统,笔者选择了amd64类型的img镜像文件:FreeBSD-12.1-RELEASE-amd64-memstick.img,详细可以参见官网。由于笔者电脑中已经有了ArchLinux系统,所以我这里我选择Linux自带的dd命令刻录U盘启动。在Linux系统下,将镜像文件刻录到U盘中
sudo dd if=FreeBSD-12.1-RELEASE-amd64-memstick.img of=/dev/sdX bs=1M
这里的X指的是U盘所在的硬盘。注意确认正确的盘符,使用fidsk -l可以查看硬盘,否则会销毁硬盘的数据。
U盘刻录好之后,重启电脑进入U盘,可以根据U盘中的提示进行系统的安装,这里就不再过多的解释了,比较简单。只不过与它不同的是,笔者这里没有再添加FreeBSD启动管理器,为方便管理,笔者使用了ArchLinux中的grub2来启动FreeBSD。安装完成之后,笔者在grub2中按照以下的方式修改grub2启动文件。修改文件
sudo nano /etc/grub.d/40_custom
在文件中添加以下的信息
menuentry "FreeBSD"{
insomd ufs2
set root="(hdX,gptN)"
chainloader /boot/boot1.efi
}
然后更新grub
sudo grub-mkconfig -o /boot/grub/grub.cfg
若是在ubuntu系统中,可以是
sudo update-grub2
这样在grub.cfg文件中会添加一项FreeBSD启动项文件。然后启动系统进行安装。
2.2 安装xorg服务以及nvidia显卡驱动程序
为了使得能够将超级管理员权限和用户级别权限区别开来,所以这里安装sudo。首先使用root登录系统,然后安装以下的文件
pkg install sudo nano
编辑sudoers文件
visudo
找到root ALL=(ALL) ALL一行之后,添加以下一行信息
myhostname ALL=(ALL) ALL
其中myhostname是自己的用户名。wq保存文件之后,退出登录,并使用自己的用户登录系统,也可以使用sshd远程登录系统。
安装nvidia显卡驱动
安装nvidia显卡驱动只需要以下的安装命令即可
sudo pkg install nvidia-driver
这样就可以将nvidia显卡驱动安装到系统中,安装nvidia显卡驱动程序需要开启linux支持,修改文件
sudo nano /etc/rc.conf
并添加以下的一行的信息
linux_enable="YES"
此处可以通过重启电脑进一步加载linux支持,当然也可以通过以下的命来加载linux支持
sudo kldload linux64
可以通过以下的命令查看加载的情况
sudo kldstat
在启动桌面环境的时候,需要开机自动装载nvidia显卡驱动程序,需要修改以下的文件
sudo nano /boot/loader.conf
添加下面的一行代码
nvidia_load="YES"
并编辑
sudo nano /etc/rc.conf
添加以下的信息
kld_list="/boot/modules/nvidia.ko /boot/modules/nvidia-modeset.ko"
这一步主要是指明加载的nvidia显卡驱动库的信息,这样就可以启动xorg服务程序。通过以下的命令可以显示是否安装成功nvidia显卡驱动以及nvidia显卡驱动的当前状态信息:
nvidia-smi
安装xorg服务
xorg是桌面环境中最底层的服务程序,安装xorg通过以下的命令即可以进行安装
sudo pkg install xorg xorg-server xorg-drivers
笔者安装xorg服务程序之后,并不能在/etc/X11文件夹中找到xorg.conf配置文件,所以在命令行下生成对应的xorg配置文件
sudo Xorg -configure :1
sudo mv /root/xorg.conf.new /etc/X11/xorg.conf
生成的文件一般情况下可以不再进行配置,当然可以再进一步进行文件的配置。重启电脑之后,我们可以测试xorg服务是否可以使用
startx
如果可以显示X服务的窗口,那么就可以加载xorg服务。当然可以使用lspci显示当前的设备信息,系统中并没有安装lspci,所以安装以下的文件可以进行显示
sudo pkg install pciutils
出现的问题
笔者在之前安装的过程中,当启动X服务的时候出现了no screens found,最后发现是并没有找到nvidia显卡驱动程序,并且使用nvidia-smi之后也提示出显卡并不能连接,所以在/etc/rc.conf文件中添加了kld_list选项,使得可以启动nvidia驱动程序。
2.3 安装sddm管理器以及KDE-plasma5桌面环境
安装KDE-plasma5桌面环境
KDE-plasma5桌面环境是一个非常棒的桌面环境,非常接近用户,笔者这里安装了这一个安装环境。在FreeBSD系统中,有一个非常好的配置工具,即bsdconfig。所以安装KDE桌面环境之前,这里在bsdconfig中找到了安装包进行安装:
sudo pkg install plasma5-plasma-desktop sddm
由于是笔记本,这里安装了触摸板驱动程序
sudo pkg install xf86-input-synaptics
这里需要修改xorg.conf文件,参考以下的内容
Section "ServerLayout"
Identifier "X.org Configured"
Screen 0 "Screen0" 0 0
InputDevice "Mouse0" "CorePointer"
InputDevice "Mouse1" "SendCoreEvents"
InputDevice "Keyboard0" "CoreKeyboard"
EndSection
#触摸板
Section "InputDevice"
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/sysmouse"
Option "ZAxisMapping" "4 5 6 7"
EndSection
#USB鼠标
Section "InputDevice"
Identifier "Mouse1"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/psm0"
Option "ZAxisMapping" "4 5 6 7"
EndSection
安装过程进行了比较长的时间。安装完成之后,可以进一步进行桌面环境的配置工作。
由于KDE桌面依赖于procfs,因而向fstab中写入procfs的挂载项。编辑文件
sudo nano /etc/fstab
并添加以下的内容
proc /proc procfs rw 0 0
同样,为了使得KDE支持在普通用户下实现关机、重启功能,需要启动dbus和hald。可以通过bsdconfig这个命令实现启动,也可以手动进行添加。编辑文件
sudo nano /etc/rc.conf
并添加以下的内容
dbus_enable="YES"
hald_enable="YES"
cuse_enable="YES"
webcamd_enable="YES"
重启webcamd服务
sudo service devd restart
然后并将webcamd添加到用户中
sudo pw groupmod webcamd -m <username>
修改~/.xinitrc文件
nano ~/.xinitrc
并添加以下的内容,这里KDE-session是基于Xorg服务之上启动的
exec ck-launch-session startplasma-x11
安装sddm启动管理器
sddm是用户登录管理器,可以用以下的命令安装sddm启动管理器
sudo pkg install sddm
如果希望系统启动之后自动进入图形的用户登录界面,安装完成sddm之后,需要将sddm加入到开机启动项中,可以编辑文件
sudo nano /etc/rc.conf
并添加以下的内容
sddm_enable="YES"
然后重启系统之后即可以进入到桌面环境中。
3.后续过程
3.1 安装Konsole终端、Dolphin文件管理器
桌面环境安装完成之后,只有一个xterm终端管理器,并不是非常好看和适用,而且并没有文件管理器,包括firefox浏览器等等。所以这里直接可以安装
sudo pkg install Konsole Dolphin firefox
这样就安装成功了。
3.2 安装C/C++以及python运行环境
FreeBSD安装之后并没有gcc编译器、python等环境可以使用以下命令进行安装
sudo pkg install gcc python3.7
或者是直接到anaconda官网上下载安装conda的集成python环境也可以。
3.3 安装中文输入法
如果要在KDE中实现中文输入的功能,则需要安装中文输入法框架和中文输入法,键入并执行以下的命令
sudo pkg install zh-fcitx zh-fcitx-configtool fcitx-qt5 fcitx-m17n zh-fcitx-libpinyin
然后修改配置文件,由于笔者使用的tcsh,所以创建以下的文件
sudo nano ~/.cshrc
并且添加以下的内容
setenv GTK_IM_MODULE fcitx
setenv GTK3_IM_MODULE fcitx
setenv XMODIFIERS @im=fcitx
若要使中文输入法随KDE桌面环境一起启动,则可以将其执行文件的链接放入到KDE的自动目录中,在使用KDE桌面用户文件夹下执行以下的命令即可。
cp /usr/local/share/applications/fcitx.desktop ~/.config/autostart/
若在终端无法显示中文,那么再在文件中添加以下的内容即可
setenv LANG zh_CN.UTF-8
setenv MM_CHARSET zh_CN.UTF-8
保存退出之后,运行fcitx-configtool弹出输入法配置对话框,然后进行输入法的配置即可。