+ -
当前位置:首页 → 问答吧 → 【经验分享】LFS/BLFS*移*魂*大*法*

【经验分享】LFS/BLFS*移*魂*大*法*

时间:2009-06-13

来源:互联网

【经验分享】LFS/BLFS*移*魂*大*法*

青 铜 镜

安民告示

1、严正声明:
1.1、本贴大概、也许、可能含有危险内容,非专业人士请勿阅读!禁止模仿!
1.2、即使有家长的陪同和指导也不要阅读!万一家长也跟着你掉进坑里了!
2、严重警告:
2.1、如果您决定继续阅读下去,那么表明您愿意承担因阅读本贴后所产生的不可预知的后果!
2.2、至此,我已经警告过你了!别说我没告诉你,真的有危险!别等到了痛苦时才后悔莫及!


水贴正文



1、 突发故障

青铜镜不仅喜欢折腾LFS/BLFS,而且还喜欢超频。目的就是想让有限的硬件平台发挥出超常的性能。有同事在思路上灌水,经常给青铜镜拷好多高清的片子。而青铜镜的机器播放起来比较吃力,只好想用此方法来折腾了。其实,LFS/BLFS已经是跑得很快了。然而经过超频以后,机器跑得更加快了。当然,为了机器跑更快更稳定,青铜镜自己手工更换了主板上内存、显卡等部位的14个电容。
一天晚上,电脑正在运行时,青铜镜听到显卡的风扇响咔咔的声音,就把机箱平放下来检查,突然电脑一下子关掉了,只见从机箱里面冒出一股烧焦的臭味,还伴着一缕青烟,青烟袅袅上升,慢慢变成了一只漂亮的蝴蝶,蝴蝶轻轻舒展着翅膀,悠悠地飞着,最后消失在我的眼前……唉,等青铜镜看不见蝴蝶了才定下神时,发现自己的主板和显卡都玩完了。都是机箱惹的祸呀:机箱的骨架不够结实,放平躺时,导致显卡错位,主板和显卡同时牺牲了……
次日,《江湖小报》的娱乐专版上报导了青铜镜的主板化蝶的消息,人们对此消息议论纷纷,都在猜测到底这个蝴蝶是公的呢?还是母的呢?有好事者还亲自在QQ上发来信息询问……
过了很久,青铜镜搞来一块华硕的主板和一块intel的CPU,装上了,重新开机,机器运行到一半就停下来了,进不了系统。于是青铜镜思考了好久,开始了LFS/BLFS*移*魂*大*法*的历程……



2、 配置对比

2.1、原来的配置:
主板:华擎K7V88
http://www.asrock.com/mb/overview.cn...el=K7V88&s=462
CPU:AMD Athlon XP 2000+
显卡:恩雅NVIDIA FX5200 128M
声卡:CMedia CMI9761 6 声道 AC'97 声卡芯片(主板集成)
网卡:VIA® 6103 10/100 以太网 LAN PHY
2.2、更换的配置:
主板:华硕p4p800-x
http://detail.zol.com.cn/49/48249/param.shtml
CPU:P4 2.8(支持超线程,打开KDE控制中心,看到两个CPU,太搞笑了!)
显卡:NV440 64M(从联想的主机上拆下来的)
声卡:AD1888 SoundMAX 6声道音频编码器,支持S/PDIF输出接口
网卡:10/100Realtek网卡

作者: 青铜镜   发布时间: 2009-06-13

3、 具体分析

由于青铜镜在编译LFS时,曾经修改过optimize/opt_config.d/O3pipe_march这个文件。把文件里面的内容“-march=pentium4”全部改为“-march=athlon-xp”。编译系统时,针对CPU做了很好的优化。但是,速龙2000+和P4 2.8这两个CPU都是X86系列的,速龙2000+编译出来的东西应该是可以在P4 2.8上面运行的。所以这里的修改,问题并不大。
至于不能进入系统,应该是内核的驱动出了差错。
内核中的CPU、主板、声卡、显卡网卡等硬件都改变了,原来的驱动选项都不能用了,系统自然是没办法启动的。应该把原来的内核删掉后重新再装一个。只有给LFS/BLFS系统更换内核,才能让系统能够正常重新启动。



4、 挽救实践

用LiveCD启动电脑,进入到XFCE4,启动命令终端。在命令终端里面依次输入以下命令:
4.1、恢复到LFS第六章后的安装模式:
export LFS=/mnt/lfs
mkdir -pv $LFS
mount -v -t ext3 /dev/sda2 $LFS (说明:青铜镜用SATA硬盘,并且分成两个区,这是/分区。)
mount -v -t ext3 /dev/sda1/$LFS/boot (这是第二个分区:/boot。各位看官要根据自己的情况挂载分区。)
mount -v --bind /dev $LFS/dev
mount -vt devpts devpts $LFS/dev/pts
mount -vt tmpfs shm $LFS/dev/shm
mount -vt proc proc $LFS/proc
mount -vt sysfs sysfs $LFS/sys
chroot "$LFS" /usr/bin/env -i \
HOME=/root TERM="$TERM" PS1='\u:\w\$ ' \
PATH=/bin:/usr/bin:/sbin:/usr/sbin \
/bin/bash --login
4.2、删除原来的内核
rm –rf /boot/lfskernel-版本号
rm –rf /boot/System.map-版本号
rm –rf /boot/config-版本号
rm –rf /lib/modules/内核的版本号
(说明:rm –rf这个命令很猛烈!那不是一般的利害!一定要小心呀!青铜镜再次强调:有危险!)
4.3、重新编译安装内核:
cd /sources
tar -jxvf linux-2.6.16.27.tar.bz2
cd linux-2.6.16.27.tar.bz2
patch -Np1 -i ../linux-2.6.16.27-utf8_input-1.patch
make mrproper
make menuconfig
make
make modules_install
cp -v arch/i386/boot/bzImage /boot/lfskernel-2.6.16.27
cp -v System.map /boot/System.map-2.6.16.27
cp -v .config /boot/config-2.6.16.27
(说明:青铜镜用来救援的LiveCD还是6.2-1版的光盘。但真正安装的内核并不是这个版本,而是用U盘另外拷进机器里面的。)



5、 最后结果

如果说硬件平台是电脑的骨架的话,那么,安装到电脑里面的操作系统和在操作系统上运行的各种应用软件就是电脑的灵魂。青铜镜的机器更换了主要的骨架以后,顺便把原来的“灵魂”也给移过来了。哈哈哈,真的是很有成就感!
其实,更换不同的主板和CPU以后,不能进入系统,那是很正常的事。而且,青铜镜常遇上在Window$XP里面更换不同的主板而不能进入系统的情况。但是,Window$XP有一个修复安装的功能,只要拿一个纯净的安装光盘启动电脑,选择修复安装,也是能把windowsXP救回来的。
这次青铜镜的LFS/BLFS系统挂掉,纯属意外!本来是给显卡更换了一个新风扇,目的就是想保证机器超频时,显卡也能保持清凉。不料电线没整理好,风扇刮在电线上,机箱骨架不够硬朗,平放时就牺牲了主板和显卡。唉……
事实证明,按照上面所说的LFS/BLFS系统*移*魂*大*法*很成功。现在,青铜镜的系统还是很强壮、稳健!本来想秀个图上来,轻轻显摆一下下,但是为了保持一贯低调的作风,还是不秀图了!
最后,再强调一下:
本贴大概、也许、可能含有危险内容!小心、小心、再小心!


作者: 青铜镜   发布时间: 2009-06-13

低调!不知道有几个人能练到这种武功!

作者: sunny_5252   发布时间: 2009-06-13

呵呵,这种方法非常、十分、及有可能出问题。

问题在于您系统过于优化,与特定硬件绑定过紧。
不出问题是幸运,出些奇怪问题也不意外。

俺有更好方法,一般人不告诉他。

其实很简单,保留一份 通用的不优化的 基本系统 和 内核,如果愿意也可以是完整系统。
在当前,针对 i686 编译是可行的,i586 及以下机器基本已淘汰。
接着,随便用什么方法安装 基本系统 和 内核 到目标机。
启动,想最优化系统,在环境变量中设置合适优化参数,重编译一遍即可,前提是要保留自己的编译脚本,手工做体力活多无聊。

俺这么做是因为历史问题,家里机器品种多,仅供参考。

作者: 聚焦深空   发布时间: 2009-06-13

基本上按照新硬件重新编译一次内核就ok了。gentoo不就是这么从stage开始构建的么。
为何保持良好的兼容性,还是用i686比较稳妥。当然这就让楼主失去了压榨cpu剩余价值的乐趣了。

作者: zhou3345   发布时间: 2009-06-13

其实镜兄要重装内核,可以考虑装另一个版,安装好及成功启动後才干掉旧版不是更保险?

作者: d00m3d   发布时间: 2009-06-13

引用:
作者: d00m3d
其实镜兄要重装内核,可以考虑装另一个版,安装好及成功启动後才干掉旧版不是更保险?

从现在的结果来看,
重装内核是最快的捷径,
比另外装一个新版要快得多。
俺就是希望用简单有效的方法,
去解决复杂困难的问题。

把原来针对旧硬件优化的内核挖掉,
重新编译安装内核,
顺便针对新装上的硬件再优化一下下,
机器跑起来,
那不是更爽么?

唉,
优化,
就象是欧美X片一样,
对俺很有吸引力啊!

作者: 青铜镜   发布时间: 2009-06-14



很搞笑的intel超线程技术,
一个CPU,
看起来竟然有两个!
上传的图像
CPUp4-2.8.png (51.9 KB, 22 次查看)

作者: 青铜镜   发布时间: 2009-06-14

我一直覺得這所謂超線程技術是在誤導消費者

作者: d00m3d   发布时间: 2009-06-14

引用:
作者: d00m3d
我一直覺得這所謂超線程技術是在誤導消費者
在网上闲逛,
顺手转个贴给版主看看:

以下为转贴内容:
─-------------------------------------------------------------------------------

[转贴]:★★★超线程技术是Intel骗人的垃圾伎俩!☆☆☆
曾几何时,能拥有一块超线程的Intel Pentium4 Inside电脑的人必定是技艺高超之人。超线程,一听起来就是让人觉得倍有面子。
超线程,这个高深的词汇代表着什么技术?我们知道,进程是由线程组成,线程可以实现程序的并发执行,使得计算机具有多任务处理能力。而超线程又算是什么东西呢?它能“骗”过操作系统和用户,让操作系统和作为用户的我们觉得这是一块双核心的CPU,不信就按下“Ctrl+Alt+Del”看看任务管理器。一看有两颗“心”在跳动,再对比一下其他人的电脑,一种莫名的优越感油然而生。
不过假的终究是假的,超线程能骗过系统、骗过用户,却骗不了自己。模拟的双核没有独立的执行单元、寄存器等等,从实质上说,超线程只是将CPU内部暂时闲置的资源加以利用的一项技术。但是要实现超线程的功能,除了CPU、主板芯片组和BIOS的硬件支持外,操作系统和应用软件的支持才是关键。很不幸的是,现实中这样的软件少之又少。除了MS Office系列软件和一些视频、图形等专业软件外,其他软件几乎都不支持超线程技术。再说,实际使用视频处理软件处理数据时需要进行大量的浮点运算, CPU负荷极高,使用率都在95%左右,哪有什么闲置的资源让你在这里来“超线程”?
老老实实的买个双核吧。如果你是一个普通用户,所用的软件不支持超线程也就算了,让人恼火的是,如果有的软件不支持超线程运行,打开超线程运行可能会导致某些不可预料的问题出现——不但造成单个子系统的性能下降,出错的概率要比单核处理器上高很多,这就难怪很多用户开启超线程后,系统性能不但没有任何改善,还不断出现开机就死机和莫名其妙的重启等现象了。这不是花钱买罪受吗?
看来超线程这个华丽的词汇后面,隐藏的就是一个“骗”字。假的就是假的,地球人都知道,烂泥终究扶不上壁,也难怪现在的处理器都不支持这项技术了。然而现在在这论坛还有人以支持超线程为理由,推荐别人升级P4 CPU,还说有“超线程”就是高档,别信什么“超线程是垃圾之类的鬼话”,本人故在此重申:“超线程技术就是Intel骗人的垃圾!”

作者: 青铜镜   发布时间: 2009-06-14

果然不出我所料

作者: d00m3d   发布时间: 2009-06-14

共享下。我也移到自己机器里。

作者: 飞龙在天   发布时间: 2009-06-14