Debian Linux 编译 Realtek (RTL8111/RTL8168) 网卡驱动

有一台电脑上用了 Realtek (RTL8111/RTL8168) 的网卡,lspci 显示:

01:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 06)

在这台电脑上装了 Debian wheezy,虽然 Debian 内核里有它的驱动(用了 r8169),也能使用,但网络很不稳定。所以我打算把 r8169 换成官方的 Realtek (r8168) 驱动。
继续阅读Debian Linux 编译 Realtek (RTL8111/RTL8168) 网卡驱动

编译 Gentoo 及 LFS

上个周未突然来兴致说要编译一下 LFS 或者 Gentoo,所以看了一遍 Gentoo 及 LFS 的编译过程,就开始上手了。之前在大学的时候就尝试编译过 LFS——当时一些朋友说编译 LFS 是一个可以让人忘记上课,忘记睡觉,忘记吃饭的事——编译了30几个小时也没能成功,所以很挫败。

因为 Gentoo 的编译过程简单许多,就先拿它下手。照着文档,差不多就编译了一个内核,一个 Grub,过程并不复杂,也顺利,内核编译了两遍,第一次没有把 SCSI 编译进去,造成启动的时候认不出我的 SATA 硬盘,编译了第二遍终于可以了,很兴奋——原来编译 Gentoo 也是这么简单的事,然后又用 emerge 安装了 VIM 等一些常用软件,基本系统也终于可以用了。

然后又开始编译 LFS,照着文档,也顺利地编译好了环境与基本系统,最后到内核的时候也犯了很多错误,开始的时候是直接拿了 Arch 的Config编译的,把很多东西都编译成模块了,又没有做 initfs,系统没能启动。又开始找作 initfs 的方法,都失败了。又把驱动啥的都编译到内核里去,还是启动不了,不知为何。今天索性用 arch 的内核来启动 LFS,系统是启动了,可一些初始化的工作没有完成,最后发现是 inittab 里的启动级别没设置好,最后系统终于能正常启动了,撒花~

继续折腾系统去,有时间写写编译过程与注意事项~

在Archlinux上使用BFS内核

之前有听一个朋友说起过BFS的内核,周末的时候就研究了一下,然后在网上找了这篇文章,文章末尾有提到很多人在用了BFS的内核后的感受是“快 !人能感觉到的快!”,于是就十分想感受一下这个传说中BFS神器。

在Archlinux中还有一个伟大的东西叫AUR,于是在AUR中找到了这位kernel26-bfs,直接yaourt -S kernel26-bfs,大大省去了patch内核的麻烦。

什么是BFS?

BFS的作者是传说中的澳洲猛士CK(Con Kolivas)——资深内核 hacker。BFS(Brain Fuck Scheduler)内核区别于一般内核的CFS(Completely Fair Schedule) 的任务调度管理器,一般的CFS支持多达几千个的CPU架构,而这个支持是牺牲了一定程度上的性能。于是而 BFS 在其中作了聚会,让内核最多支持 16 个 CPU,让问题的复杂化降低,让算法变得简单高效。

继续阅读在Archlinux上使用BFS内核