Build a kernel

这两天没事又继续折腾内核编译,上次是从 SRPM 编译出 RPM 然后安装的,似乎比较简单,这次则直接从源代码包编译。

首先从 kernel.org 下载一个源代码包 linux-3.3.8.tar.bz2;

解压缩后,得到源代码目录 linux-3.3.8;

将 Fedora SRPM 中的 patch 文件复制到 linux-3.3.8 目录下,打上这些补丁;

配置 .config,这次图省事,就把 Fedora 的 .config 拿来用了;

之后就可以 make 了,make 会将 vmlinuz 和 kernel module 都编译出来,如果中间没有任何错误,就会一直进行下去,直到完成。

笔记本散热不好,N 次由于过热而自动关机,编译过程就被停止了。重启后,再继续 make 有的时候会出现 unrecognized ELF 错误,而且对于每次编译,这个错误似乎是随机的,查了半天,根据这个资料,由于编译意外中止,导致 ccache 的缓存数据出现错误,用 ccache –clear 一下,就可以继续编译了。

编译完成后,提升到 root 用户,执行 make install_modules make modules_install 安装内核模块,make install 安装内核;

最后根据需要,自己去改一下 grub.cfg 吧。

终于将 Fedora 17 跑在新编译的 3.3.8 内核上了

如果想让内核版本更突出个人的风格,可以修改源代码根目录的 Makefile,其中有

EXTRAVERSION =

默认没有值,这里可以填写任意的字符串,比如 .sunjw,那么编译出来的就是 3.3.8.sunjw。

Fedora 17

从昨天下午开始,到现在,终于把 Fedora 17 给装的差不多了。

之前一直用的是 Fedora 15,感觉有必要升级一下了,于是在备份了个人文件和配置文件之后,就着手升级工作。

一开始还是想通过 preupgrade 进行升级,这个决定最终导致浪费了一个下午的时间。运行了 preupgrade 后,一开始挺顺利的,下载了需要的软件包,之后重启。第一次重启就遇到问题,直接花屏了。加上了 nomodeset 参数之后,成功进入图形界面,但是立刻又出现问题,说是找不到软件包的数据源(repodata.xml),然后就只能退出安装。于是想重新启动之前的 Fedora 15,但是却进不去图形界面。再一次,我选择进入升级,提供了一个在线的软件源之后,似乎开始正常升级了。原来以为会一切顺利的升级下去,没想到在开始安装软件包之后,出现了软件包无法访问的错误,仍然只有退出。重启后,又试图进入原来的 Fedora 15,然后神奇的事情发生了,又能够正常进入图形界面。

最终还是选择放弃使用 preupgrade 进行升级,转向下载 DVD 重新安装。使用 DVD 安装基本还算顺利,不过进入系统后系统找不到适合笔记本的 ati rs480 驱动,只能在低分辨下运行。找了一圈后也没有明确的资料说明到底应该装什么驱动,于是试着下载 xf86-video-ati 驱动,手动编译安装,一开始自动安装脚本将驱动安装到了 /usr/local/lib 下,驱动没有被加载,之后又手动拷贝到 /lib64/ 中对应的文件夹下,重启 X 后,终于 1280*800 的完整分辨率运行起来了。

[5P]Ubuntu 11.04 试用

今天下了 Ubuntu DVD,试着用了一下,主要是冲着被广泛诟病的 Unity 界面,想看看到底有多难用。有可能是之前试用过新的 Gnome 3 的 Gnome Shell已经曾经用过一小段时间的苹果电脑,所以没有觉得 Unity 完全不会用,其基本思想和 Gnome Shell 是一样的,就是左边的类似 Mac OSX 的 Dock,统一的软件中心(或者叫应用列表),新的右上角的通知区域。Unity 走得比较远的就是类似 Mac OSX 的全局菜单,如果没有接触过 Mac 的用户的确在使用习惯上有一点不适应,而且我相信许多并非专门考虑过全局菜单的应用程序会有一些兼容性问题。

上截图: Continue reading