从2018年1月29到2月3号一直在折腾ubuntu,其主要包含以下两个方面:ubuntu分区和无线驱动安装,下面就这两个方面进行简单的记录。
一、ubuntu分区
现在安装一个ubuntu系统,特别简单,只需要制作一个u盘启动,之后在安装过程中,可以很方便的选择一键安装,但为了自己能够更好的分配空间,也可以选择“其他选项”对系统盘进行分区,目前主流的分区主要是:
1. EFI系统分区:主分区,EFI系统,大小大约256M
2. 根分区:主分区,EXT4文件系统,挂载点为“/”,大小大约为20~30G
3. SWAP分区:逻辑分区,大小大约为物理内存的大小,但最好不要小于512M
4. 用户空间:逻辑分区,EXT4文件系统,大小为所有空余空间,挂载点为“/home”
二、无线驱动安装
在之前,记得是11年买的电脑,当时装了一次ubuntu,没有出现无线网络找不到的现象,但是这次装系统的时候却出现了系统找不到无线网络的现象,最后将处理过程记录如下:
1.在终端输入命令 lspci,查看pci总线信息及连接在pci总线上的所有设备信息
其中RTL8821CE就是无线网卡型号,如果这个时候并没有出现这个型号,只是出现类似Device啥的,可能就是PCI信息没有更新,那么可以在命令行下运行:
sudo update-pciids
这里要说一下,在之前的linux系统,驱动都会自动谁系统的安装而安装,但是对于比较新的硬件,其实驱动是需要自己下载编译的(而且官方针对较新硬件的驱动更新需要一定的周期)
有了无线网卡的型号,接下来感觉就是很简单的事情了,到官网找对应驱动然后安装就可以了,但是后面还有坑。。。
进入到Realtek官网,寻找一遍,根本找不到对应的驱动程序,于是就是持续的逛论坛,经过几番针扎,终于找到了好像可以解决问题的答案,具体论坛地址如下:
http://forum.ubuntu.org.cn/viewtopic.php?f=116&t=485936
其实就需要保证两个条件:
(1)内核版本满足条件
(2)驱动程序版本满足条件
上面说内核版本需要满足>=4.11
首先输入命令:lsb_release -a,得到自己的系统型号
可能这里大家会问,查看自己的系统型号干嘛了?因为ubuntu分为长期支持版(LTS)和非LTS,之前我安装了16.10版本,但是这个版本不是长期支持版本,在运行sudo apt-get update可能会出现找不到源的问题(因为官方不支持了。。。),当然也可以自己配置源,但是我还是喜欢用LTS版本。
然后输入命令:uname -r 查看自己系统内核版本,如下:
因为从论坛上得到,内核版本>=4.11就可以,但是之前我的版本是4.13,也不行,在编译无线驱动的时候会出现类似函数未定义的错误,那么这就可以认为内核版本根驱动的版本还是不对应(从之前的错误信息中,可以看到驱动程序会调用内核程序,如果版本不一致,会出现驱动程序调用的某些函数可能已经废弃掉或者被其他函数替换掉了)。
然后根据论坛里面的链接找到了无线驱动程序的下载链接,链接地址如下:
https://github.com/endlessm/linux/tree/master/drivers/net/wireless/rtl8821ce
这里又涉及到一个知识点(敲黑板了啊),这个git项目特别大,我只需要rtl8821ce这个无线驱动程序源码,没必要把整个git项目都下载下来吧(不然太大了),所以网上几番寻找,找到了方法(见地址:https://segmentfault.com/a/1190000006703926)。
简单而言,具体操作步骤如下(该方法成为稀疏检出-Sparse Checkout):
(1)git init:初始化本地仓库
(2)git config core.sparseCheckout true:启用稀疏检出
(3)cat config:看看是否设置成功
(4)cd .git/info && sudo vim sparse-checkout:新建一个文件
(5)echo /drivers/net/wireless/rtl8821ce/* >> .git/info/sparse-checkout:添加要检出的文件
(6)git remote add origin https://github.com/endlessm/linux.git:添加git源
(7)git pull origin master
等待完成就可以了,这个时候只会拉取 /drivers/net/wireless/rtl8821ce文件夹下的所有文件。
同时从上面的提交记录可以看到,这个驱动程序时支持4.15内核版本的,所以决定将系统内核升级到4.15(如果你的内核版本不是这个)。
首先第一步就是下载内核,具体下载地址如下:
http://kernel.ubuntu.com/~kernel-ppa/mainline/drm-intel-next/
具体的升级步骤参考这个链接:http://www.linuxidc.com/Linux/2017-05/143609.htm
简单来说,其步骤如下:
(1)打开链接,找到对应版本的内核(本文是4.15 AMD64),然后下载三个deb文件,一个是headers-all,一个是header-generic,一个是image-generic
(2)然后进入到下载位置,输入 sudo dpkg -i linux*4.15*.deb
(3)sudo reboot重新启动,然后输入uname -r 就可以看到是否内核升级成功
内核升级完成后,进入到之前下载的驱动目录下,将Makefile文件下的Export Path的路径修改为当前目录路径,然后执行步骤如下:
(1)sudo make
(2)sudo make install
(3)sudo modprobe -a 8821ce
大功告成,这个时候你就能看到无线信号了~