笔记本实体机安装FreeBSD操作系统(KDE-Plasma5桌面环境+NVIDIA显卡驱动)

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弹出输入法配置对话框,然后进行输入法的配置即可。

参考

·[1] FreeBSD 12.0安装KDE5桌面环境

猜你喜欢

转载自blog.csdn.net/Zhang_Pro/article/details/108409175