分类: Linux

Kernel.org恢复运行

今天,经过一个月的全力抢修,Kernel.org终于恢复正常运行。
不过,由于其源代码检查工作还没有完成,因此无法通过Kernel.org下载Linux内核的源代码。

另外戏剧性的事情是,今天正好是林纳斯·托瓦兹,在芬兰公开发布首个版本Linux内核 Linux-0.02的纪念日,在此表示纪念。

成功在Fedora 15的Linux系统下安装TP-Link TL-WN721N USB无线网卡驱动

新买了一个无线网卡,是USB接口的。型号为TP-Link TL-WN721N。
在Win7下使用此网卡时,只需安装附带光盘中的驱动即可。对于在Fedora 15上是否能即插即用,不编译驱动,比尔盖子还是很有信心的,因为比尔盖子的整个系统是刚刚yum update过的。但是当比尔盖子切换到Fedora 15的时候,悲剧的事请还是发生了:不认网卡!

首先,我用

lsusb

发现系统可以识别这个网卡。但是,就是没有将其成功驱动起来。本来想按照一篇文章编译驱动,结果发现驱动源代码在kernel.org上,但是众所周知:kernel.org挂了

天啊,上天就对我那么不好吗?绝望的看了看dmesg,惊讶的发现我这个网卡能被识别,系统也在试图加载驱动,就像这样:

 usb 2-1.1: ath9k_htc: Transferred FW: htc_9271.fw, size: 51272

然后又发现错误信息:

[ 5.330646] ath9k_htc 2-1.1:1.0: ath9k_htc: FW Version: 1.0
[ 5.330652] ath9k_htc 2-1.1:1.0: ath9k_htc: Please upgrade to FW version 1.3
[ 5.331277] Failed to initialize the device
[ 5.340283] ath9k_htc: probe of 2-1.1:1.0 failed with error -22

原来驱动是正常的,只是firmware太旧了,下载了一个新的firmware:
http://115.com/file/e652hyq6#
http://linuxwireless.org/download/htc_fw/1.3/htc_9271.fw

然后用它来替换系统中的 /lib/firmware/htc_9271.fw,重启一下,世界美好了。

解决Fedora 15中蓝牙无法使用的问题

新配了台机器,主板有集成的蓝牙设备。装了Fedora 15,但是Gnome 3中“蓝牙”选项是灰色的,无法使用。
原本以为是没装驱动,可最后运行

hciconfig

却发现有输出:

hci0:    Type: BR/EDR  Bus: USB
    BD Address: 00:26:83:2E:C5:97  ACL MTU: 1022:8  SCO MTU: 121:3
    UP RUNNING PSCAN 
    RX bytes:2553 acl:0 sco:0 events:106 errors:0
    TX bytes:1436 acl:0 sco:0 commands:106 errors:0

于是使用

hciconfig hci0 on

来激活蓝牙设备,结果Gnome 3中“蓝牙”选项依然是灰色的。查阅了资料以后,发现蓝牙服务在Fedora 15中默认是关闭的(我觉得是明智的决定,因为我的笔记本没有蓝牙,但是蓝牙服务会导致报错),让root执行:

systemctl start bluetooth.service

来启动蓝牙服务,如果需要开机自启动蓝牙服务,则以root执行:

systemctl enable bluetooth.service

即可!

Fedora 15安装Geforce 4过时显卡的最新96xx驱动,成功运行Gnome 3!

P.S话说昨天比尔盖子中彩票的问题已经解决,yum update一下就行了,可能是程序和内核不兼容导致的。

昨天,一直在琢磨一个问题:我这个老爷机到底安装什么Linux系统好呢?现在的显卡驱动仍不支持Xorg 1.10。最后选择了CentOS 5.6,经过一翻痛苦的下载和安装之后,就去Nvidia那里下载显卡驱动。

结果,“驱动说明”毅然写着“增加对Xorg 1.10的支持”!!!

这系统是白安装了,只能格掉换成Fedora 15了,得好好体验Gnome 3啊!结果,糟糕的Nouveau驱动导致一登录就崩溃,连Fallback模式都无法启动,只能用文本模式安装了。

经过不停地报错、黑屏、报错、系统崩溃,比尔盖子终于总结出了Fedora 15 Geforce4的Nvidia 96xx驱动安装大法!

幸好我会用ifconfig初始化网络,不然可真就没戏了。

第一步:下载驱动
第二步:找到blacklist配置文件,blacklist nouveau,在内核启动参数里也禁用一下。至于详细方法,可以去搜索“禁用nouveau”,很多呢。
第三步:yum update && yum install autoconf kernel-source kernel-devel kernel-headers kernel 安装kernel是相当重要的,不然的话往往你的内核是PAE内核,是不兼容的,我昨天一直卡在这里。如果还提示缺少什么就自己安装。
第四步:sh 驱动文件名,来装驱动。
第五步:startx或者重启,享受Gnome 3

但是,这个驱动真的能体验Gnome 3吗?不能的,这个驱动会导致屏幕闪烁,窗口渲染错误,Gnome 3崩溃,系统崩溃。尤其是点击唯一一个按钮“活动 Activity”的时候,一切都挂了。

我现在也是胆颤心惊的用这Gnome 3,只敢用Firefox,其他通通不敢点,不然就崩溃。希望Nvidia继续完善我们过时显卡的驱动。

中彩了,Linux居然遇到内核Bug,无法开机!

用Linux,yum update一下内核,用新内核开机引导,卡在

Starting  /boot
Started  /boot

过了很长时间,终于提示缺少什么依赖,无法挂载/home,然后就提示“提供Root密码来维护“,输入密码后,又提示”亲,欢迎来到紧急模式“!

无奈啊,reboot一下。这回可好啊,内核崩溃,dump信息一个屏幕也显示不下。换回原来内核,木有问题!真是Kernel Bug,中彩了中财了!

今天晚上挂机,yum update一下,如果等明天早上起来还是内核崩溃,有必要考虑向Fedora或kernel.org汇报一下了。

2.6.40的内核令人无语啊!

“比尔盖子技术站”已经关闭,将要改为“比尔盖子Linux”

今天,比尔盖子遗憾的写下了这篇文章。比尔盖子建立的第二个网站,“比尔盖子技术站”被比尔盖子决定将关闭了。当时,比尔盖子只是接触到了服务器搭建(当时都不知道叫这个名字),误打误撞,安装了一个Discuz 4.0的论坛,起名“比尔盖子论坛”,又在误打误撞中,将论坛升级到了Discuz 7.0,并决定论坛为讨论黑客精神和网络安全的。因为没有人上,就用软件采集了一堆别的网站的帖子,论坛完美的变成垃圾站。

说说后话:最后娴熟的升级到了Discuz 7.1、Discuz 7.2、Discuz X 1、Discuz X 1.5、Discuz X 2。、

弄完论坛,发现本地服务器是不行的,我不能24小时开机。最后终于找到了免费空间,安定好以后,觉得一个论坛没人上,没有意思,又弄了一个“比尔盖子技术站”,用的平台是Dedecms,专门发布各种黑客和网络安全的文章,后来也是用采集,完美的变身成垃圾站。

同时,我觉得我早期的建站过程可以整理一下,我就整理回忆了本地服务器建站一个月的历程。最后看到一个人的博客,记载了大量建站经历,我觉得我有必要弄一个,看了一眼,他使用的是Z-Blog系统,我就安装了,并把整理的建站经历,作为第一批已经篡改日期的博客文章发布了。后来又因为没有ASP免费空间,而将博客转为了我不知道是世界一流的Wordpress平台,还抱怨它运行速度慢,不过UI确实不错,尤其是蓝色的后台。

转折啊,转折啊。当我决定放弃免费空间去买Godaddy的空间的时候,我发现Godaddy的空间限制连接数,采集经常正常中断,导致垃圾站计划彻底破产。如今,买了VPS虽然能采集了,但才意识到,重复性内容是多么可怕。

我觉得,比尔盖子技术站已经没有任何意义。练手的网站就是练手的,如今要推倒一切重新开始了。主站是要关闭了,论坛还待定,不过命运估计好不到哪里去的……

比尔盖子这次觉得,要做一个面向初级用户,同类网站不多的网站,并打算采用“半博客式网站”,别说这个词你没听说过,这是比尔盖子自创的,意为使用博客系统来搭建的非博客(比如资讯类)网站,我认为这样互动性强。

经过考虑,我把目光停在了学习一段时间,已经入门的Linux上。国内的Linux站很多,但是存在问题,而且面对初级用户的站点也不多。初级用户需要的是桌面环境使用,而不是面对Bash和终端机,我希望我的网站提供的内容可以让初级用户能用Linux代替Windows的部分功能,而且尽量提供能代替令人发困的命令行的替代工具,也为中国的软件开源事业做出贡献,名字就叫比尔盖子Linux

目前比尔盖子Linux处于测试阶段,网址也是临时的,具体内容请看网站吧。

主页:http://testing.biergaizi.com/
关于(这个虽然能在网站中找到,但是某些人看不见的):http://testing.biergaizi.com/about/

最后,感谢长久支持“比尔盖子技术站”和“比尔盖子论坛”的所有人,向你们致敬!

Thinkpad R61笔记本,Linux Ubuntu 11.04 系统下成功安装 安全气囊技术(APS)驱动和充电阀值驱动

安装APS驱动

目前,在多数IBM笔记本中,都应用了一种叫做 APS(Active Protection System,主动保护系统)的技术 ,而IBM官方有时把这种技术形象的称为 Airbag ,安全气囊

相信不少朋友已经知道这种技术的存在了。神马?你还不知道!好吧,这是一段摘录于互联网的介绍,不想看可以无视:

当笔记本电脑硬盘工作时,硬盘磁头在磁盘上方运动,进行数据读取,当撞击力在持续2毫秒内小于200G时,一般可以靠ThinkPad本本本身的外壳与防震设计来减震,避免对硬盘造成损害。而当撞击力在持续2毫秒内超过200G后,损害将会随着撞击能量的加大而加大。

硬盘处于非工作状态时,磁头处于停止区,硬盘在1毫秒内最大可以承受800G的冲击。当撞击超过800G/1毫秒后,损害将会随着撞击能量的加大 而加大(见图右边的函数图)。也就是说如果可以及时将硬盘磁头归位到停止区,则硬盘可以忍受比在工作状态下更大的冲击而不受损害。IBM APS技术就是基于上述原理,在预测到有可能发生撞击后,及时地将磁头移动到停止区以保护硬盘。

根据大量实际调查显示,笔记本电脑在工作状态下跌落的情况绝大部分是从桌面或膝盖上跌落,即从120cm以下高度跌落(通常人的膝盖高度为50cm,桌面高度为80cm),如何能在ThinkPad本本发生撞击之前就将磁头归位,成为了问题的关键所在。

1.磁头归位的时间问题

经测试,磁头的归位时间从接到控制信号到完成操作,根据磁头所处的磁道位置不同,大约为100毫秒到500毫秒。对于20cm高度内自由下落的情况,一般可以靠笔记本电脑的外壳与防震设计抵御撞击力,所以我们仅需要关注20cm以上的跌落情况。而笔记本电脑从20cm至120cm高度掉落下来的时间是202毫秒至495毫秒,再加上笔记本电脑掉落之前的短暂延迟时间,试验表明通常预计发生的时间会多于下跌时间。这就保证磁头能在笔记本电脑发生撞击之前及时归位,有效地保护磁盘。

2.冲击力问题

笔记本电脑要承受怎样的撞击,硬盘才会受到超过800G的冲击力呢?我们知道,硬盘受到的冲击力是由多项因素决定的。首先是笔记本电脑下落的相对高度与初始速率,而一般笔记本电脑在工作状态下跌落的情况绝大部分是从膝盖或桌面上跌落到地板上,相对高度不超过120cm,垂直方向的初始速率基本可以忽略不计;其次是笔记本电脑撞击的表面,硬质无弹性的表面(如水泥地板)可以造成更大的冲击力,软质有弹性的表面(如木地板或铺着地毯的地板)可以略微缓冲碰撞,从而造成较小的冲击;再次是笔记本电脑本身的外壳设计和防震设计。

为了量化在各种情况下硬盘受到的冲击力,IBM实验室特 别针对从膝盖上跌落和从桌面上跌落两种情景进行了大量的实际测试。相关实验数据显示,从膝盖高度(50cm)或从桌面高度(80cm)翻落到硬质无弹性的 水泥地板上,由于有外壳以及冲击吸收垫保护,硬盘受到的冲击力超过200G的几率约为50%,而超过800G的几率不超过2%。

3.规律性颠簸问题

APS功能一旦开启,就一直在监测ThinkPad本本的运动。但用户常常需要移动办公,如在汽车、火车或飞机等交通工具上使用笔记本电 脑,因此颠簸是在所难免的,这些震动要是常触发APS使磁头归位,则ThinkPad用户在使用本本时就会感到本本运行是断断续续的,影响了工作效率。不 过APS技术已经考虑到这个问题,它具有忽略重复震动的功能,能消除移动用户的顾虑。交通工具颠簸造成的冲击力一般并不足以损害硬盘,所以大多数的颠簸都 不会触发APS功能使磁头归位,从而有效保证了ThinkPad用户使用笔记本电脑的流畅性。

智能化的震动预测、有提前量的磁头归位操作,APS的这些重要特性都保证了ThinkPad本本的硬盘以及盘内数据不会轻易受到各种撞击的影响。

比尔盖子最近给一台Lenovo(其实就是IBM) Thinkpad R61安装了Ubuntu 11.04这个Linux发行版,却悲剧的发现APS不工作,后来经过一番疯狂的搜索,知道了以下事实:

在Linux系统中,IBM并没有提供相应的驱动程序让APS正常工作。曾经有一年,IBM宣称将把关于APS的硬件资料公布到开源社区,这听起来很不错,可实际情况是,开发者1年来都没有见到一页资料。后来,有牛人们通过逆向工程编写出了能在Linux下APS的驱动,这下众多Linux IBM笔记本使用者的硬盘才有了安全保证。

看来使用APS还是有戏的,又经过搜索,终于发现了实现方法:

第一步,打开终端,然后输入如下命令:(我是用的 sudo aptitude install,应该没有什么不同。)
sudo apt-get install tp-smapi-dkms
sudo apt-get install python python-gtk2 python-gnome2 hdapsd

第二步,在终端下输入如下命令:
sudo gedit /etc/modules
然后添加“tp_smapi “代码在最后,让它看得和下面的一样:
=====================================
# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with “#” are ignored.
lp
tp_smapi
=====================================

第三步,重新启动,进行测试,看是否工作,在终端下输入如下命令
sudo find /

然后进行抖动你的笔记本,看看是否停止,如果停止了,就说明你成功了,

或者运行:

sudo hdapsd -d sda -s 15 -a -v -y

动动笔记本。看看坐标值在变化吗?

如何调整灵敏度,如下:

在终端下进行如下操作

$ sudo gedit /etc/default/hdapsd

找到如下位置:(默认安装是15, 您可按照自己要求修改,25 30….)

# sensitivity
SENSITIVITY=15

不过,我们还可以在完善APS:在Gnome2的面板上增加一个APS硬盘状态的通知图标,让我们得知硬盘目前是被APS停止还是正常运行。

wget http://www.zen24593.zen.co.uk/hdaps/gnome-hdaps-applet-20081204.tar.gz
 tar -zcvf gnome-hdaps-applet-20081204.tar.gz ./
 sudo apt-get install libpanel-applet2-dev
 cd gnome-hdaps-applet-20081204
 gcc $(pkg-config --cflags --libs libpanelapplet-2.0) -o gnome-hdaps-applet gnome-hdaps-applet.c
 sudo cp gnome-hdaps-applet /usr/bin/
 sudo mkdir /usr/share/pixmaps/gnome-hdaps-applet/
 sudo cp *.png /usr/share/pixmaps/gnome-hdaps-applet/
 sudo cp GNOME_HDAPS_StatusApplet.server /usr/lib/bonobo/servers/

然后,注销,再登录,这时右键点击Gnome面板,选择添加,你会发现多出了一个APS的插件!

这样,我们就完美的实现了APS!

设置电池充电阀值

无论你的笔记本电脑电池用去了多少电力,但连接电源适配器后总会充电至100%,即使你只是用了1%的电——这可不是什么好事!这样充电会缩短电池寿命,最好在电池电力在80%左右的时候再连接电源适配器充电。

但是,靠自己自觉做到这点,有点不靠谱吧。因此,IBM将大部分笔记本的电源管理功能中,增加了电池充电阀值这一功能,可以通过设置,在电池电力低于指定的百分比时开始充电和停止充电,但是在Linux又是没驱动,无法实现。所以我们需要自己安装。

首先,你必须依照本文的第一部分安装APS驱动,因为电池充电阀值和APS使用的是一个驱动。然后就可依照下面的命令设置了。

首先执行:

cat /sys/devices/platform/smapi/BAT0/*_charge_thresh

30 
#--> 低于30%开始充电
100 -
#--> 充电至100%后停止

查看当前的设置,你的和我的结果不一定相同哦!然后用下面的命令修改充电阀值。


sudo su
#切换到root身份
echo 80 > /sys/devices/platform/smapi/BAT0/start_charge_thresh
#低于80%开始充电
echo 100 > /sys/devices/platform/smapi/BAT0/stop_charge_thresh
#充电至100%后停止

然后再次执行,果然成功了吧!

cat /sys/devices/platform/smapi/BAT0/*_charge_thresh

80
#--> 低于80%开始充电
100 -
#--> 充电至100%后停止

重装系统,并编译Linux内核

最近前几天准备编译一下内核,无意中看到了《BFS 简介,Linux 桌面的极速未来?》,具体内容如下引用:

像以往一样,依然在不断编译新版 Linux kernel 内核——Linux 系统提速的必修课。和 Linux kernel BFS  的相遇充满了巧合下的必然。现在看来,BFS Kernel 是 Linux 在半年内给我的最大惊喜——系统像电视购物主持人一样充满了力量和激情!而且是人能感觉得到的快!特以此文献给系统编译狂人,桌面提速狂 Linux 控。向所有 Linux 桌面用户力顶 BFS。

最先在 Kindle 上看 xkcd 漫画,有漫画如是:

supported_features

A: 经过某些人千百年的努力,最新的 Linux  补丁支持 4096 个 CPU 的电脑了!原来只能支持 1024 个!
B: 全屏 Flash 视频卡不卡啊?
A: 卡。不过谁他丫的看视频啊?

而关于 BFS 的消息是最先在 Linux Magazine 上看到的;不久之后 G1 Android 手机 ROM 修改大神 CM 开始在他的测试版 CyanogenMod 使用 BFS 作为 kernel 的 Scheduler,试用之后发现手机系统速度明显加快。 用手滑动左右翻屏就像 Opera 下滚动网页那么平滑,搞得屏幕覆膜上多了好多指纹印。心痒已久,恰逢 Linux kernel 2.6.31 新版正式发布,打上 BFS Patch 编译,重启。神一样的提速再次出现在我 4 年高龄的笔记本电脑上,注入了鸡血的 KDE4 让人无比兴奋。快!快!快!

所以,BFS 是什么?

要知道 BFS 是什么最好先了解一下它的作者,传说中的澳洲猛士 CK。

CK,Con Kolivas,男, 澳大利亚中年男子,资深内核 hacker。众所周知,Linux Kernel 是聚集了一帮天才蠢才和暴君怪胎的地方,CK 貌似最适合这种地方的人。是真的貌似,一张电影里面典型高智商通缉犯的脸。

几年前编译 Linux kernel,ck 补丁集就是系统提速的代名词。当时编译内核的三部曲是下 kernel 源码,打上 ck 补丁集,编译安装。后来上游代码将 ck 补丁集稳定的部分不断吸收,它的影响力也渐渐消失。

CK 本身对任务调度有很深的造诣,他聪明而经典地实现了 fair scheduling,而实现模式被 Igor 借鉴改进最终写出了现在 kernel 用的进程调度管理器 CFS (Completely Fair Scheduler)。不得不顺便介绍一下任务调度。Kernel 的进程调度主要是将 CPU 资源分配给各种驱动、进程等等。你可能听说过,一般人的大脑使用率不足 20% 这种科学或者伪科学言论。但事实是,你电脑上的 CPU 从来就没有真正被 100% 的利用过(别跟我说你在资源管理器里面看到过 CPU 100%,我还见过 101% 呢)。如何将各种运算任务一刻不停又有条不紊的塞给 CPU 处理是一门严肃的科学,绝不是电视购物导购能解决的问题。一次塞的运算量少了,CPU 闲着,运算时间增长,电脑慢了;而一次塞的运算多了,CPU 忙不过来,运算又要在门口排队,电脑也慢了。进程调度主要是用算法解决这个问题,而现在 Linux Kernel 用的 CFS 据说非常经典,在不同情况下都可达到相当高的 CPU 利用率。而现用 CFS 也是在 2.6.23 才加入的,取代原来 O(1),直接将 Linux 桌面速度从 XX 时代带入了 XX+N 时代。

两年前,CK 淡出了内核开发,忽然从江湖中蒸发。几周前,CK 重出江湖,两年磨一剑,带来了 BFS ,全称 Brain Fuck Scheduler (只认识中间那个单词的请参考谷歌翻译),声称专为低端硬件设计(我的理解是不超过 10 个 CPU 的电脑电视手机游戏机都算低端机),说白了就是比 Kernel 默认要更加山崩地裂海枯石烂房价上涨油价飞升的快。BFS 为什么叫这个名字?为了中文用户,不能三个词让他们一个也不懂吧? 好吧,这名字有点不雅,不过算是直爽。对了,据说 CK 也是看到上面我提到的漫画才开始剑走偏锋。真正有几个人用有上千 CPU 的电脑呢?为什么要为这种扩展性牺牲桌面性能。BFS 就在其间做了取舍,仅仅支持最多 16 个 CPU ,把问题外沿做小,让算法更简单精悍高效。作为原理来讲,这足够解释速度的来源。对于其它废问题, CK 专门写了一个 FAQ。在可以预见的将来,BFS 也不会进入 mainline kernel,说白了是取向问题。

关键问题是怎么用?

下 2.6.31 的 kernel 源代码,如果你不知道在哪里下的话就不必往下看了,在当前历史时期您还是搞不定的。再去:http://ck.kolivas.org/patches/bfs/ 下第一个 patch,现在是 2.6.31 开头的,表示适用该版本。解压内核源码,打上 patch,配置以后编译安装。现在 BFS 还在测试期,没有完全成熟,但已经相当可用。编译的时候有什么需要配置的?不需要, Scheduler 这东西太底层了,打上补丁就把原来的 CFS 替换掉了,没什么选项给你选。如果你非要问的话,不就图个快么,记着把配置弄到 1000Hz,开 preempt ,禁掉 dynamic ticks。编译重启不用说了,我可以酷酷的扔下一个 have fun 然后去玩 Mac 了,反正你机器启动不了不要找我。虽然我纯净 kernel 单加 BFS Patch 编译成功启动没问题,依然有一位倒霉的推油编译以后不知道怎么折腾的无法启动。可另外被我忽悠成功的推友们反应一致:“快!人能感觉得到的快!”

到底值不值得上手 ,有没有评测?

这是某些不够剽悍的读者会挣扎到最后的问题。BFS 原理上讲,机器配置越低,感受会越明显。如果你非要评测的话,Phoronix 这个专业的 Linux 测评狂网站也出了一份。我可以提前剧透结论,区别都很小,BFS 胜出绝大部分测试,然而优势不明显。我只是补充一下绝大多数折腾过的人的感受
——快 !人能感觉到的快!

由此可见,BFS的作用还是比较大的,于是心血来潮,准备在编译内核的同时打上BFS补丁。又看到了《编译2.6.31内核兼打BFS补丁》,便决定开始编译。首先去下载了http://www.kernel.org下载了最新的Linux内核:linux-2.6.38.2(最新版已经是2.6.38.3了,Linux内核更新太快了),并到http://ck.kolivas.org/patches/bfs/下载了2.6.38.2-sched-bfs-400.patch。

结合《编译2.6.31内核兼打BFS补丁》开始编译内核:



cd ~/Desktop/                                                #用户应保证内核源码和BFS均在当前用户的桌面
cp linux-2.6.38.2.tar.bz2  /usr/src/kernels/                 #把2.6.31内核拷贝到/usr/src/目录下
cd /usr/src/kernels/                                         #解压内核源码,并进入源码目录
tar -xvjf linux-2.6.38.2.tar.bz2
cd linux-2.6.38.32/
cp 2.6.38.2-sched-bfs-400.patch   /usr/src/kernels/linux-2.6.38.2/ #将BFS补丁移动到源码目录
patch -p1 < 2.6.38.2-sched-bfs-400.patch                     #这条命令有问题,误导了我,已改正。将BFS补丁打入标准内核中,以便编译使用(如果没有patch这个命令请yum install patch)
#**    以下内容为编译内核的通用步骤,在编译其它内核时可借鉴** #
make mrproper                                                #清除以前编译产生的文件,新下过来的可以跳过,安全期间再做一次
make menuconfig                                              #配置内核参数
cp .config /home/config                                      #将配置文件备份,以供后用
#make bzImage                                                #生成内核
#make modules                                                #生成内核模块
make                                                         #如今编译新内核以上两步已被废除,简化为make  
make modules_install install                                 #自动initrd文件,自动安装内核模块以及修改启动文件menu.lst等,
chmod 755   /boot/vmlinuz-2.6.38.2                           #修改权限,使其可以被运行(使用默认权限可能导致无法启动问题)
vim   /boot/grub/menu.lst                                    #查看启动文件,确认启动配置
ls -l /boot/                                                 #确认内核文件及权限。

之后重启,黑屏了!进入文本模式,发现配置内核时没有把ext4格式支持模块添加,导致系统提示“未知文件系统ext4”!看来配置内核时务必不能心急,而且要有充足的时间配置和检查,切记切记!换回原来的内核,发现之前安装的歪打正着的显卡驱动也停止工作!只好重装系统,规范的安装显卡驱动,再按照此方法重新编译内核,才算成功!

注:使用此内核后,请使用文本模式进入系统并安装Nvidia公版驱动,yum版在此版本内核中不可用,切记切记!

安装Linux显卡驱动;启用桌面特效时遇到的问题及解决方法

上一篇文章中已经说过了,比尔盖子安装了Linux,并安装了显卡驱动。下面就先把在安装显卡驱动过程中遇到的问题和解决和大家分享一下。

系统环境:Fedora 14 i686
显卡:Nvidia Geforce 4 MX | 64M显存(很过时了)

比尔盖子在安装完Linux后,发现又出现以前的老问题:整个Linux,无论是图形界面X-Window或者文本界面,窗口都有严重的偏移。于是比尔盖子就打算安装显卡驱动。歪打正着的安装上去了:

注意,这是歪打正着的安装方法,仅供分享。
如果您按照以下方法安装,可能会出现严重问题!
因此请按照第二章“正解”进行安装!

首先在Nvidia官网上下载了适合我的显卡的最新驱动,进入文本模式使用

sh 文件名.run

安装,不料出现”The Nouveau kernel driver is currently in use by your system…”的错误,没有发现禁用Nouveau的方法(有一个blacklist的方法以前用过,导致黑屏)。后来发现了一个安装显卡驱动的Yum install命令:

yum install kmod-nvidia

于是Linux就开始安装N多依赖包,等一会全部都安装完成了,重启,发现了一个新内核,应该就用这个内核启动,又发现开机画面变成黑屏和蓝带进度条了。稍等片刻进系统,却发现X-Window无法进入了,显示”Error inserting nvidia””No such driver”。这回彻底没招了,不过想了想,既然说”No such driver”,那么可以重新安装第一次下载的那个驱动(命令之前说过了,不用再多说了),很神奇,这回神马”The Nouveau kernel driver is currently in use by your system…”等错误提示都不存在了,最后安装完了还提示我是否在自动配置X-Window,当然选“是”啦!再次重启,依旧是黑屏和蓝带进度条开机画面,卡了好一阵子,终于进入了系统,而且根据系统的提示,3D渲染正常了!

然后又查阅相关帖子,发现原来我安装了过高版本的驱动才导致第一次的悲剧,现在电脑中有两个NV驱动了,于是使用

yum remove kmod-nvidia

卸载了那个过新的驱动程序。

然后得知

开机画面变成黑屏和蓝带进度条了只要安装以下rpm即可:
bootchart.x86_64 : Boot Process Performance Visualization
bootconf.noarch : GRUB configuration utility
bootconf-gui.noarch : Desktop links to bootconf
或者干脆yum install boot*
接着运行bootconf,设置和自己匹配的分辨率,没有适合自己的就选择相近的,只是开机过程的分辨率,不是开机后的桌面分辨率。

这回开机画面也正常了!本以为事情就这样结束了,不料我试图启用Compiz特效的时候,又发生了另外一件事情:启用特效后,所有的窗口的边框全部消失,还有一些程序显示不正常。原来,还要运行一下命令才能解决这个问题:

nvidia-xconfig --add-argb-glx-visuals

再次重新启动计算机,Compiz特效这个问题才算解决了,终于可以旋转立方体的桌面效果了!

正解

1.先安装livna, rpmfusion-free, rpmfusion-nofree,三个源。

rpm -ivh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm
rpm -ivh http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm
rpm -ivh http://rpm.livna.org/livna-release.rpm

2.输入“yum -y install kmod-nvidia glx-utils”并回车。注意,如果您使用的是支持超线程技术的 CPU 或者双核 CPU,请用“kmod-nvidia-smp”代替“kmod-nvidia”,不过绝大多数情况下 yum 会自动选择合适的版本。如果您用的是很旧的 nVIDIA 显卡(比如比尔盖子的),那么就应该用“yum install kmod-nvidia-96xx”或“yum install kmod-nvidia-legacy”。

3.安装nvidia官方驱动后,大都数人开机画面变成黑屏和蓝带进度条了只要安装以下rpm即可。
bootchart.x86_64 : Boot Process Performance Visualization
bootconf.noarch : GRUB configuration utility
bootconf-gui.noarch : Desktop links to bootconf

输入以下命令即可安装:

yum install bootchart bootconf.noarch bootconf-gui.noarch

接着输入bootconf,设置和自己匹配的分辨率,没有适合自己的就选择相近的,只是开机过程的分辨率,不是开机后的桌面分辨率。

4.OK了

版权所有 © 2025 比尔盖子 博客

主题设计 Anders Noren返回顶部 ↑