圆梦 Funtoo

前几天,我收到了一封邮件,说 mutt-1.6.2 发布了,这一下子勾起了我的回忆。之前买了 iMac 后,我有了两台 Mac,之前安装了 ArchLinux 的 ThinkPad X250 就一直没有用。我觉得留着这台电脑就没什么用了,正好那几天试用了 OneNote,就把那台电脑改装成了 Windows 10。虽然当中遇到了一些波折,但到后来还是安装成功了。

用了一段时间后,除了用它来看一些 PBB 加密的视频和玩 CS:GO 外,就没有其他的用处了。这次由于看到了这个邮件,就又想在这台电脑上恢复 Linux。因为之前用过了 ArchLinx,对它已经消除了神秘感,加上很怀念过去用过的 Gentoo,就决定在上面安装 Funtoo。我够买这台电脑的时候,就是为了运行 UNIX。当时的第一选择是 FreeBSD,不过由于驱动问题,就想安装第二选择 Gentoo/Funtoo。不过由于很久没有用了,Gentoo Handbook 有了一些更新,比如 OpenRC 和 Systemd 的选择,让我感觉头大,结果走到了编译内核的那一步,我就放弃了。后来安装了 ArchLinux,意外的很成功,于是就这么用上了。

现在我常想,如果当年我的笔记本电脑没有坏,也许我会一直用 Gentoo 到回国吧。我还能清楚的记得,我在 2007 年 12 月把 Gentoo 装在了出国前买的 DELL XPS M1330 电脑上。这台电脑购于 2007 年 8 月,是我在出国前几天收到货的。拿到后我就试着用 Ubuntu 免费派送的 LiveCD 引导,结果连启动都没办法。所以只好用机器自带的 Windows Vista。到了 10 月份,Ubuntu 推出了 10.04 Beta 4,我下载了 LiveDVD 刻盘后,高兴的发现可以正常引导,于是就安装了那个版本,感觉挺顺利的,无线、声音什么的都没有问题。我用 Ubuntu 一直到了 12 月,一方面感觉没有了神秘感,另一方面我觉得它运行的也太慢了,所一就开始尝试安装 Gentoo。在克服了一些不懂的地方后,我花了两个通宵让他能用了。而且,我也可以在上面实践很早前受了王垠的蛊惑而一直很期待使用的 FVWM,还有 Ubuntu 中文社区里 eexpress 推广的 ROX。这样我开心的用到了 2008 年 3 月,我决定尝试一下 KDE 4。还没等我编译完,屏幕就显示出了异常。我还记得那是我在学校的某幢楼的大厅上自习,遇到了这样的情况,也没了心情,赶紧回家。结果情况一直恶化,到了下午已经完全无法显示了。我用室友的电脑查了一下,才知道网上有很多 DELL 电脑质量问题的文章,而且我的这个系列只是国内保修,没有全球联保,当时的心情简直糟透了。好在室友当时新买了一台 MacBook,借给我用。我第一次接触 Mac 系统,觉得非常不错,于是就在 4 月 1 日自己也买了一台,之前的 DELL,让另一个暑期回国的朋友捎回去,由父母联系 DELL 售后维修,修好后给了亲戚用,我没有再接触。从那一直到现在,我一直是一个 Mac 用户。如果当时我的电脑没坏的话,我想也许我到今天还在用 Gentoo 吧。

这次制作引导优盘时同样遇到了问题,Mac 的磁盘工具无法把我下载的镜像还原到优盘上,我在 Windows 里下载了 ImgBurn 和 Nero 试用版,都没法解决问题。之前有一个微软的 Windows Live DVD tool(好像是叫这个名字),但它只能还原 Windows 的镜像,其他镜像不行。最后居然是老毛桃解决了问题,它是一个制作 Windows 装机盘的东西,居然方便的制作好了启动优盘。

我的这台 X250 支持 EFI 启动,我对这个不大在行,在 BIOS(或许不能叫 BIOS 了?)里凭感觉设定,居然成功的通过 EFI 引导。我直接进入了图形界面,可以开一个浏览器看文档,在终端仿真里安装。引导后发现没有无线,从 NAS 上拔下一根网线插上,有线好使,我就没在管无线,反正装好后会有无线的。由于线不够长,我推过来一个小桌,把电脑放上面,坐在地上来弄。虽然不大舒服,但我也感觉到了久违的兴奋与激情。

之后就按照 Funtoo 的说明来。设置分区什么的,之前安装 ArchLinux 的时候弄过,还没忘。之后也没有什么难的,Funtoo 在 Gentoo 的基础上,添加了很多自动化的东西,比如自动编译内核、boot-update 等。中间没有让我参与配置的部分,一度上我很疑惑。编译内核耗费时间很长,由于我没接电源,也没有电量提示,结果电源耗尽了直接关机。我插上电之后,重新挂载分区,重新编译。最后重启前,我落下了 boot-update 没执行,重启后奇怪的无法引导,让我以为内核编的有问题,结果对照了说明才发现少做了一步。再次用引导优盘引导,执行了这个命令后,就可以正常启动了。

启动前我按照说明,安装 NetworkManager 的时候,出现了要给某些包添加 USE 标记的说明。我太久没有用 Gentoo 了,看了这些完全反应不过来,大约十分钟后才理解了意思。之后我安装上了 NetworkManager,但在执行时出了问题。看提示时,我以为是说我没有配置文件,我还上网上到处找这方面的说明,结果没有收获。之后我才明白提示信息后面跟着的 Invalid 什么的东西,不是 NetworkManager 的错误提示,而是内核的错误说明,意思时编译时的系统架构没有选对。这时我才质疑之前的决定。

安装前我看说明的时候,看到 Funtoo 针对不同的 CPU 做了特定的 stage3,我自然要下载特定的了,因为是最优化的。也许我受了某次 WWDC 上 Phil Schiller 的一句 Haswell 的影响,我对这台机器的 i5-5200U 一直以为时 Haswell 架构的,而且觉得 Haswell 比 Broadwell 更新,所以就下载了 Haswell 架构的 stage3。意识到是这里出了问题后,我赶紧上网搜索确认一下。Funtoo 没有针对 Broadwell 架构提供 stage3,我应该用的时 generic 的。这时候已经到深夜了,我只好先睡觉。脑子里想的解决方法,一个是重新安装,不过我明天白天上班的地方没有方便的有线网络,只好等下班回家;另一个方法,是重新编译 NetworkManager,因为内核什么的,还没有看出有什么问题,能够引导,把 GCC 的参数配置正确后,重新编译了 NetworkManager,有了无线网络,就方便了。第二天我起得不够早,就把电脑带去了单位,修改了 GCC 的参数,重新编译,结果问题解决。之后我不放心,重新编译了 @world,这样应该就把错误给解决掉了。

之后我安装了 Xorg,桌面还是用 i3。我在删掉 ArchLinux 改装 Windows 10 的时候,把一些配置文件做了备份,所以这些还不算困难。我还想到了,2007 年安装 Gentoo 的时候,还遇到过循环依赖的问题,需要手动调整某个 USE,现在也没遇到过这些问题。

这两天,我一直在捣鼓这个 Funtoo——它有许多我不了解的地方。比如在 ArchLinux 里,我已经习惯了 Systemd,包括通过它来调度一些应用,但 Funtoo 里的 OpenRC 就不行,想 MPD 这些守护进程,我不知道该怎么通过系统来调度。按说明里,还是用传统的 Cron 来做到开机启动。Funtoo 里默认安装了 Postfix,之前我用的 Msmtp,今天试着配置了一下,也可以发邮件了,而且有了之前没有配置的 Queue 功能。还有 NFS,之前在 ArchLinux 里也能用,但不能做到在 fstab 里添加说明直接挂载,在 Funtoo 里也莫名的配置成功了。当然,当中觉得 Funtoo 运行慢,无法达到 ArchLinux 的按开机按钮后 4 秒中出现登录提示的速度,我编译了几次内核,但到了 Initramfs 这里没有配置成功。最后安装了最新版的 debian-sources 后,启动速度达到 15 秒,也算是有所提高,等之后看看能否调优了。

对于 ArchLinux,我最怀念的就是他的 wiki,它也许时文档最为齐全的 Linux 了吧。Funtoo 和 Gentoo 的文档也差一截。之前 Gentoo 的 IRC 颇为活跃,当时张乐大神还活跃着,我这种普通用户心里还有点底,现在没有当时的心态了,有了问题,只能自己查资料。好在 ArchWiki 上的很多内容都通用,帮了我很多忙。

目前 Funtoo 多数处于能完成工作的状态了,还需要调整的有屏幕亮度等了,这些可以慢慢来。安装 Funtoo,对我来说有点想圆梦的感觉,园我 2008 年一直做到现在的 Gentoo 梦!这两天,我把大多数的精力都投入了这上面,对家人都有所疏忽,特别要感谢我马上要生产的妻子,对我无私的支持。

《圆梦 Funtoo》有2条评论

发表评论

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据