"stop(try) to do something" and "stop(try) doing something"

I listent lesson 30 and 31 of "美音听力与发音小技巧"(America English Listening Ability And Pronouncing Skills?) this morning.

stop to do something: stop one thing in order to do something else. 停下来去做某件事

stop doing something: not to do that anymore. 不再做某件事

try to do something: to make an affort to do it 尽力去做某件事

try doing something: to experiment with a new or different approach to see if it works. 为达到一定的目的,试一试不同的方法,看能不能实现目的,(try doing something to see if reach the goal)

below is an article copy from a senior's blog:

come from:http://blog.hjenglish.com/melodious/archive/2005/03/28/27951.aspx

【美音听力与发音小技巧】第三十一期(try的用法)(已奖励)

第三十一期新鲜出炉!(本栏目还剩下两期哦,明天周日还是暂停一天^^)

由于每期讲座侧重点都有所不同,请大家仔细看作业要求此外依旧鼓励大家听写文本或写下自己的体会总结,表现优秀者将在栏目结束后统一进行奖励

注:以前有听友提出抗议的“Taiwanese”这个词今天又在材料中出现了。由于这是台湾的栏目,可能在立场上存在一些问题,希望大家不要太在意。

Today's tip: try to do 和 try doing

点击此处下载音频

今天你有什么收获呢?

布置一下作业:

1.请回答下面的问题:

What’s the difference between “I tried to open the window” and “I tried opening the window”?

2.请用try to do 和 try doing 各造一个句子。

请完成以上两项作业,认真完成者奖励60沪元~~。请选择“回复只有楼主可见”。灌水者删帖处理~~

听力材料文本回复可见

(注:以下是我听写出来的内容,疏漏之处在所难免,大家如发现错误请发短消息告诉我,以便及时更改)

Welcome to Daily Tips on Learning English. Today’s tip is on the difference in meaning between “try to do something” and “try doing something”.

“try” plus an infinitive, that is, “to” plus a verb, such as “try to learn” “try to open” “try to read” means to make an effort to do it. “try” plus a gerund, that is, verb-ing, such as “try opening”, “try turning on”, “try giving” means to experiment with a new or different approach to see if it works.

Let’s look at some examples. “I’m trying to learn Taiwanese.” This means I’m making an effort to do it. I’m taking a Taiwanese class, doing my homework and speaking in Taiwanese whenever I can. Here’s another example. “I tried to open the window.” This sentence means I pulled the window up, but it did not go up, so I pushed the window up, but it still did not open. I made an effort to open the window, but I could not open it. On the other hand, “I tried opening the window” means that I did open the window and that I opened it for a reason. I was hot and I wanted to cool off. I tried opening the window, but that didn’t help. So I tried turning on the fan, but I was still hot. So I tried taking off some of my clothes, but that didn’t work either. Finally, I turned on the air conditioner, and that finally succeeded in helping me cool off. I experimented with many things to see what would work.

So remember, “try to do something” is to make an effort, and “try doing something” is to experiment with different way to achieve your purpose. This has been today’s daily tip on learning English. Tune in tomorrow for another tip.

[此贴子已经被作者于2005-3-28 12:53:45编辑过]

论坛帖子:http://www.hjbbs.com/dispbbs.asp?boardID=8&ID=228596

posted on 2005-03-28 13:04 melodious 阅读(4982) 评论(8)  编辑 收藏 网摘收藏

FeedBack:

# re: 【美音听力与发音小技巧】第三十一期(try的用法)(已奖励)

2005-03-29 13:46 | ball

that is good!tks

tried to open the window means "当时我想要去打开窗户的一种想法。"

i'm tried openning the window means"我当时开窗户的一个过程。"

last year i tried to work in a company.

after two weeks i'm working in the company.

 

# re: 【美音听力与发音小技巧】第三十一期(try的用法)(已奖励)

2005-06-16 21:46 | zhuyibo

I tried to open the window.我尝试着去打开窗户。结果和目的是什么并未言明。

I tried opening the window……我试图打开窗户以达到什么目的,而结果就是窗户被打开了。

这两者区别在于一个带有目的性的去完成一件事(后者),另一个只是单纯的尝试着去做成一件事(前者)。

 

# re: 【美音听力与发音小技巧】第三十一期(try的用法)(已奖励)

2005-08-03 18:01 | wendy lee

I tried to open the window,我就是想打开窗户,目的明确。I tried opening the window,我想达到另一个目的,而必需要去打开窗。开窗不是最终的目的。

I tried to open the door.

I tried opening the door,Because my bike is in it.

 

# re: 【美音听力与发音小技巧】第三十一期(try的用法)(已奖励)

2005-08-08 23:35 | tzh005

I tried to open the window, the sentence means I just want to open the window and make effort to do it.

I tried opening the window, the sentence means that opening the window for other reasons.

I tried to learn English.

I tried learning English for doing better in the work.

 

# re: 【美音听力与发音小技巧】第三十一期(try的用法)(已奖励)

2005-12-12 02:07 | zhangshiwen

i think try to do means you know it is difficult and you probably fail,trying doing means you may succeed.

 

# re: 【美音听力与发音小技巧】第三十一期(try的用法)(已奖励)

2005-12-12 02:08 | wen

there are difference ,but sometimes people just mix it up

 

# re: 【美音听力与发音小技巧】第三十一期(try的用法)(已奖励)

2005-12-12 02:10 | wen

i think try to do means you know it is difficult and you probably fail,trying doing means you may succeed.

 

# re: 【美音听力与发音小技巧】第三十一期(try的用法)(已奖励)

2006-05-23 12:15 | du

good

 

标题

姓名

主页 匿名用户发表评论,用户名不带主页链接!

 

请输入验证码:

*

记住我的登录 登录 使用高级评论 Top 订阅回复 取消订阅

[使用ctrl+enter键可以直接提交]

Copyright ©2006 小麦

取消了网站头部无效的金山词霸每日一句展示

  金山词霸失效了有大概一个月了吧,看来金山公司不准备共享这个每日一句了,而且,他的在线查词对未登录帐户只开放简明词典。

  是不是可以说,金山词霸对他的产品和服务采取了更保守的方式呢?这种方式对他们的前途是有利还是不利呢?这无从判断,自有他们的经理们去动这个脑袋。

  对我的影响呢?只有去掉原来每日一句的无效链接,原来以为他上面挂了手机的wap服务订阅,我们挂上他的每日一句算是给他们作广告吧,可是现在看来,他们不是这样想的。

  还有iciba的在线查词要登录才能看到详细的解释,遇到我需要详细的解释的话,只有登录了,可我有点懒,不想每次都登录,也想只有想其它办法了。

  也想,像我这样的想捡便宜的人太多了,白白耗费了他们的网络资源又没有给他们创造一分钱的利润,想来他们这样做也不算对不起大家吧?

Ubuntu Linux 简介

今天,用http://www.matrix.org.cn/thread.shtml?topicId=44358&forumId=43的方法测了一下自己到底适合哪个linux发行版,结果是Ubuntu Linux

中文简介:


About Ubuntu

Ubuntu Linux是一份完整的桌面Linux操作系统,它可免费获得,并带有社团及专业的支持。Ubuntu社团按照Ubuntu宣言里所铭记的思想而组建:软件应免费提供,软件工具应能以人们本地语种的形式可用且不牺牲任何功能,人们应拥有定制及改变他们软件的自由,这包括以任何他们认为适宜的方式。Ubuntu是一个古非洲语单词,意指对他人的博爱。Ubuntu Linux发行将这种博爱之心带到了软件的世界中。

补充一下:Ubuntu Linux是在2004年从Debian发展而来,网站原文:


About Ubuntu

Ubuntu is a free, open source operating system that starts with the breadth of Debian and adds regular releases (every six months), a clear focus on the user and usability (it should "Just Work", TM) and a commitment to security updates with 18 months of support for every release. Ubuntu ships with the latest Gnome release as well as a selection of server and desktop software that makes for a comfortable desktop experience off a single installation CD.

下载页面:http://mirror.lupaworld.com/ubuntu/releases/6.06/

网上的朋友建议的下载文件:PC (Intel x86) alternate install CD

ubuntu中文站

从硬盘安装iso文件的方法,转自:http://skii.com.ru/168.html

SK-II : Web Technical SpecialistHome 关于 « 普通人的力量 | Home | 安装多用户版wordpress—lyceum »

ubuntu 6.06正式版硬盘安装指南

鉴于有人提出grub的问题,安装前请备份主引导区,最简单的办法是用diskgen,自己google。

正式版硬盘安装完成,方法和6.06测试版一样,具体如下:

1.

下载ubuntu-6.06-alternate-i386.iso (不要用desktop cd

据说硬盘安装找不到iso),amd64用户请下载ubuntu-6.06-alternate-amd64.iso,我没安装过amd64.iso,我只保证i386可以硬盘安装。

ubuntu-6.06-alternate-i386.iso

http://releases.ubuntu.com/6.06/ubuntu-6.06-alternate-i386.iso

MD5SUM:

b2e9120f06d70cc076c1852c6c04654e  ubuntu-6.06-alternate-i386.iso

2.

下载硬盘启动所需要的两个文件 (不要使用ISO文件中自带的,那个不支持硬盘安装):

initrd.gz

vmlinuz

http://archive.ubuntu.com/ubuntu/dists/dapper/main/installer-i386/current/images/hd-media/

http://archive.ubuntu.com/ubuntu/dists/dapper/main/installer-i386/current/images/hd-media/initrd.gz

http://archive.ubuntu.com/ubuntu/dists/dapper/main/installer-i386/current/images/hd-media/vmlinuz

注意:文件最好保存在fat32分区根目录。如果你只有linux系统,保存在

ext3或reiserfs分区根目录。

例如:我保存在windows的D盘(/dev/hda5)根目录。

3. 可选。已经安装Linux

并且用Grub引导的略过 下面安装Grub的步骤。

下载GRUB(注意:在下载的过程中,IE有时会自动加上.Dat的扩展名,如果如此,将文件名

grldr.dat 改为 grldr )

http://old.ubuntu.org.cn/download/installformharddisk/grldr



grldr 复制到 C:\,编辑C:\BOOT.INI,加入一行:

C:GRLDR=”GRUB”

重新启动计算机,按 c 进入 grub

命令行根据下载的文件存放的位置,输入并回车:

grub> kernel (hd0,4)/vmlinuz root=/dev/ram ramdisk_size=32000 devfs=mount,dall

grub> initrd (hd0,4)/initrd.gz

grub> boot

如果你嫌安装慢的话,直接断开Internet连接,应该会快很多。不过我没尝试过。

开始安装,和以前5.10的安装界面基本一样,为了避免麻烦,安装过程中语言请使用英文,只有时区选china就行。在安装结束后,参考

http://wiki.ubuntu.org.cn的快速设置指南在新系统里再进行中文化。安装过程需要设置地方很少,语言,键盘,时区,网络,分区,用户名,密码,grub等,还是很easy的。如果你不想覆盖以前安装的Grub,可以:比如,ubuntu6.06的boot分区在/dev/hda1,你只要将grub安装到/dev/hda1,并且修改原来的grub.conf文件,就可以用以前的grub引导ubuntu6.06:

title=ubuntu 6.06

root (hd0,0)

chainloader +1

关于安装grub失败的问题,我用ubuntu

iso没发现。特意下了kubuntu的来试验,发现错误解决办法:

在提示grub安装失败时,选择返回back,回到安装步骤界面,选择基本系统base,重新安装基本系统base

system,等基本系统安装完之后,选择install Grub

bootloader,安装程序会问你安装到哪里?输入:/dev/hda

就是安装在MBR。这个方法适用于ubuntu和kubuntu.

请将自己的/boot和/

分区记录下来,也许下面设置grub要用到。

关于grub 安装到mbr的问题,我有空可以试试,因为我的ubuntu

grub安装到/boot所在分区,mbr用的还是原来的grub,具体情况不清楚。我需要具体的错误信息。

在硬盘安装过程中,会提示grub安装到哪里?如果安装到mbr,输入/dev/hda,

(SATA 硬盘是/dev/sda)? 您输入是否正确? 要安装到/boot分区,假如/boot是在/dev/hda1

,您应该输入/dev/hda1,然后继续安装。

如果您安装有Win XP系统,可以用grldr进行修复,按c 进入grub命令行模式

grub> (hd0,0)/kernel /vmlinuz-2.6.15-23-386 root=/dev/hda2 ro quiet splash vga=792

grub> initrd (hd0,0)/initrd.img-2.6.15-23-386

grub> boot

注意:根据自己分区情况改,不要照抄。

引导进入ubuntu6.06 重新安装grub

# grub

grub> root (hd0,0)

grub> setup (hd0)

grub> quit

(hd0,0)是/boot所在分区,请改成自己的。

然后编辑/boot/grub/menu.lst

重启,应该不会有问题了。

可以参考这里修改http://forum.ubuntu.org.cn/viewtopic.php?t=16318

PS:这是一个Arch

Linux用户写的ubuntu6.06正式版硬盘安装指南,算是庆祝ubuntu6.06发布,献给最好的中文开源社区ubuntucn的礼物。

technorati tags:ubuntu, linux

--------------------------------------------------------------------------------

About this entry

You’re currently reading “ubuntu 6.06正式版硬盘安装指南,” an entry on SK-II : Web Technical Specialist

Published: 七月 03 2006 / 9:13 am

Category: 博客相关

--------------------------------------------------------------------------------

No comments

Jump to comment form | comments rss | trackback uri

Have your say

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>

Name (required)

Email (required)

Website

 

 

 

--------------------------------------------------------------------------------

About

SK-II : Web Technical Specialist

.

There are 157 posts and 39 comments so far.

 SK-II :

Website Technical Specialist

我们致力为打造网站技术内容集合的BLOG而努力!

Weboss: Anton

E-Mail: anton@skii.com.ru

One Web: http://www.skii.com.ru

Two Web: http://www.wp.org.cn

Forum: http://bbs.wp.org.cn

Recently

七月.12 Tor:突破封锁,畅游网络

七月.09 微软收购Zend,PHP或许将更名

七月.06 Windows Live Messenger 升级到8.0.0689

七月.03 安装多用户版wordpress—lyceum

七月.03 ubuntu 6.06正式版硬盘安装指南

七月.03 普通人的力量

七月.03 在 IIS 7 上配置 PHP

七月.02 全球互联网的13台DNS根服务器分布

七月.02 Zoho:在线商务办公之王

七月.02 Netscape:老树发新枝

Categories

网站技术 (11)

网络技术 (15)

网络文化 (8)

WEB 2.0 (28)

WordPress (29)

博客相关 (28)

博客人物 (3)

域名主机 (14)

未分类别 (8)

上网相关 (13)

Search

enter your keywords

 

--------------------------------------------------------------------------------

Powered by WordPress with Hemingway flavor, Modified by WPThemes.Info

Entries RSS Comments RSS

 

小技巧2招:linux下查看硬盘参数及cpu温度

今天在http://www.linuxsir.org上闲逛,读到下列两个小技巧,记录于此。

1)查看硬盘参数:(下面仅是速度)

 /sbin/hdparm -t /dev/hda

我的硬盘显示:

 Timing buffered disk reads:  64 MB in  1.77 seconds = 36.16 MB/sec

2)查看cpu温度:

  cat /proc/acpi/thermal_zone/THRM/temperature

但是有个前提条件是:

要有内核相关模块(比如I2C)支持,还要找出系统的传感器型号,然后在内核中打开相应选项。

我的可能是不满足这个前提条件,查看失败。

哎,要是linux的内核也能即插即用就好了:)

(据说)目前最好的BASH教程简介及中英文版本下载(转

(转自:http://www.linuxsir.org/main/?q=node/140

Advanced Bash-Scripting Guide (包括中译本)

作者:thegrendel

主页:http://personal.riverusers.com/~thegrendel

中译本:杨春敏(chunmin.yang at gmail.com) 黄毅 (linuxprogram at gmail.com)

点评: 目前最好的BASH教程,内容全面,详尽无比,有很多脚本实例;最重要的是作者一直跟更新和修正此文档,目前的英文版本是Version 3.9;中文版最新版本是3.7.3.

目录

一、译者序

二、在线文档

三、文档下载

四、译者手记;

五、中译本更新日志;

+++++++++++++++++++++++++++++++++++++++++

正文

+++++++++++++++++++++++++++++++++++++++++

一、译者序

毫无疑问,UNIX/Linux最重要的软件之一就是shell,目前最流行的shell被称为Bash(Bourne Again Shell),几乎所有的Linux和绝大部分的UNIX都可以使用Bash。作为系统与用户之间的交互接口,shell几乎是你在UNIX工作平台上最亲密的朋友,因此,学好shell,是学习Linux/UNIX的的开始,并且它会始终伴随你的工作学习。

shell是如此地重要,但令人惊奇的是,介绍shell的书没有真正令人满意的。所幸的是,我看到了这本被人称为abs的书,这本书介绍了bash大量的细节和广阔的范围,我遇到的绝大部分的技术问题--无论是我忘记的或是以前没有发现的--都可以在这本书里找到答案。这本使用大量的例子详细地介绍了 Bash的语法,各种技巧,调试等等的技术,以循序渐进的学习方式,让你了解Bash的所有特性,在书中还有许多练习可以引导你思考,以得到更深入的知识。无论你是新手还是老手,或是使用其他语言的程序员,我能肯定你能在此书用受益。而本书除了介绍BASH的知识之外,也有许多有用的关于 Linux/UNIX的知识和其他shell的介绍。

在看到本书的英文版后,我决定把它翻译出来,在Linuxsir论坛上结识了译者之一杨春敏共同翻译这本书,600多页的书是本大部头的书,我们花了6个月的业余时间才翻译完了。

关于版权的问题,英文版的作者Mendel Cooper对英文版的版权做了详细的约定,请参考:Appendix Q. Copyright。中文版版权由译者杨春敏和黄毅共同所有,在遵守英文版版权相应条款的条件下,欢迎在保留本书译者名字和版权说明以非盈利的方式自由发布此中文版,以盈利目的的所有行为必须联系英文作者和两位中文译者以获得许可。

本书得以成稿,我(黄毅)要多谢我的女朋友,本该给予她的时间我用来了翻译,多谢你的理解,你是一个很棒的女朋友!

译者 杨春敏 黄毅

下载地址:

1、本站下载:

附件:ads-guide.zip,2163767 bytes(内含英文3.7版和中文3.7版)

2、转载地下载页面

http://www.linuxsir.org/main/?q=node/140

3、转载地的在线文档

在线浏览(中文)《高级Bash脚本编程指南》

在线浏览(英文)《Advanced Bash-Scripting Guide》

暂时放弃把linux内核从2.4.* 升级到2.6.*的想法

这几天,在网上看了一些从2.4.× 升级到2.6.×的帖子,发现由于相应的配套文件在2.6.*处没有得到同步处理,以致升级要大量的手工修改配置文件,这超出了我的知识极限,所以这个想法就此放弃。

至于我的sedY890在linux下认不到的问题,先试试其它的方法,我已知在内核2.4.20-8中,是支持usb2.0的。可以先用内核基础知识及升级内核 (转载) 中手段试着解决一下:


如果linux装载模块的时候产生问题,你可以使用modprobe或者

insmod命令来手动装载模块。

升级内核:升级内合并不像看起来的那么难。你应该总是保留久的内核,以免由于新内核的错误而导致系统无法引导。对grub或者lilo而言新的内核就是一个新的*作系统。如果使用rpm包安装了新的内核,引导程序也自动被升级。如果你犯了一个比较大的错误,导致无法引导,你可以在重新启动后选择使用旧的内核。你应该保存内核配置文件这样你就可以轻松的将其拷贝到新的内核继续使用。详情后续部分将详细介绍。

/boot目录:

linux的内核存储在这个目录里。新的内核也必须存放于这个目录,才能够使用。该目录的莫人大小时100M,足够存储当前的内核以及升级内核的时候的附加内核。

/proc

目录:这个目录基于一个虚拟的文件系统。换句话说她不包含任何存储在硬盘上的文件,但它是查看计算机的一个窗口。如果你要查看当前的内存信息使用该命令:cat

/proc/meminfo

Ip forwarding:查看当前状态:cat

/proc/sys/net/ipv4/ip_forward,若输出为

1,则该功能已开启,若为0,则未开启。

开启ip forward:echo 1

>> /proc/sys/net/ipv4/ip_forward

阻止ping of death攻击:#echo 1 >>

/proc/sys/net/ipv4/tcp_syncookies

理解内核模块:

当你编译内核的时候,你可以将所有的需要的驱动程序编译成进内核,成为一个单内核。但是这样的内核太大了,并且需要很长的时间加载。大多数的系统管理员使用内核模块。内核模块并不直接编译进内核,而是根据需要动态的进行加载和卸载。如果和内核模块相关的硬件除了问题,你可以使用kudzu。这是一个自动检测和配置工具,一般在系统启动的时候自动运行,当然了你也可以手工运行这个工具来排除故障。Kmod是模块加载控制器,负责内核模块的加载和卸载。指定特别的选祥和参数可以修改/etc/modules.conf文件。大多数的硬件都可以自动检测到,对于未识别到的硬件可以执行:depmod

–a

手工加载模块使用:modprobe例:#modprobe pcnet32

查看当前加载的模块:#cat

/proc/modules或者#lsmod

卸载模块:rmmod –r pcnet32

实在不能解决我就在windows2000下用sedY890算了,不值得为这个事花太多时间。

内核基础知识及升级内核 (转载)

转自:http://www.linuxdiyf.com/viewarticle.php?id=10747

 

内核基础知识及升级内核

 

 

作者: chentong   发布日期: 2006-5-28    查看数: 476    出自: http://www.linuxdiyf.com

 

内核是整个*作系统的核心部分。它管理硬件之间的通讯,决定哪个进程运行,提供每一个进程运行所需的相对隔离的虚拟的地址空间。内核由引导程序(grub、lilo)装入系统。内核负责将驱动程序,模块装入系统。自行编译内核以后可以带来以下方面的好处:

极大的提高核心服务的运行速度

提供用户服指定的服务的内核直接支持

对适当的服务以模块化的形式动态支持

通过减少不必要的服务可以降低内核的内存需求

配置支持高端硬件,例如大于4G的内存,硬盘阵列,对称式多cpu

编译内核的建议:

只有在需要的时候才编译内核,直接编译进内核的

东西越少系统运行越快。如果你不需要声卡,你可以从内核移除对声卡的支持。通过移除你不需要的设备,你可以做到减小内核,在不改变设备的情况下提高系统运行的速度。为其它的硬件留下更多的可用资源。

总体而言将各种硬件的设备的驱动作为模块动态的加载和卸载是一个

较好的办法。模块是内核的扩展,虽然没有直接编译进内核,但是可以随需要加载和卸载。

内核概念:

对于系统管理员而言,对系统的内核应该有一定的了解,这样才能更好的编译内核。

单内核与模块化内核

单内核:所有的设备模块直接编译进内核

模块化内核:许多设备已模块的形式单独加载

单内核与设备的通讯速度快,模块化内核与硬件通信要通过模块列表,不行的是单内核过于庞大。大内核减少了可用的内存。有些系统甚至不能启动这样大的内核。Linux过去使用单内核,linux一度在装载模块化内核的时候由于某些硬件而产生问题。使用单内核则系统安装完成之后所有的驱动程序就已经装好了。模块化内核有极大的灵活性。你可以将几乎所有的驱动程序作为模块编译,这样在必要的时候这些模块就会被载入系统。模块化使得内核十分的小,这就减少了启动所需要的时间提高了系统整体性能。

如果linux装载模块的时候产生问题,你可以使用modprobe或者

insmod命令来手动装载模块。

升级内核:升级内合并不像看起来的那么难。你应该总是保留久的内核,以免由于新内核的错误而导致系统无法引导。对grub或者lilo而言新的内核就是一个新的*作系统。如果使用rpm包安装了新的内核,引导程序也自动被升级。如果你犯了一个比较大的错误,导致无法引导,你可以在重新启动后选择使用旧的内核。你应该保存内核配置文件这样你就可以轻松的将其拷贝到新的内核继续使用。详情后续部分将详细介绍。

/boot目录:

linux的内核存储在这个目录里。新的内核也必须存放于这个目录,才能够使用。该目录的莫人大小时100M,足够存储当前的内核以及升级内核的时候的附加内核。

/proc

目录:这个目录基于一个虚拟的文件系统。换句话说她不包含任何存储在硬盘上的文件,但它是查看计算机的一个窗口。如果你要查看当前的内存信息使用该命令:cat

/proc/meminfo

Ip forwarding:查看当前状态:cat

/proc/sys/net/ipv4/ip_forward,若输出为

1,则该功能已开启,若为0,则未开启。

开启ip forward:echo 1

>> /proc/sys/net/ipv4/ip_forward

阻止ping of death攻击:#echo 1 >>

/proc/sys/net/ipv4/tcp_syncookies

理解内核模块:

当你编译内核的时候,你可以将所有的需要的驱动程序编译成进内核,成为一个单内核。但是这样的内核太大了,并且需要很长的时间加载。大多数的系统管理员使用内核模块。内核模块并不直接编译进内核,而是根据需要动态的进行加载和卸载。如果和内核模块相关的硬件除了问题,你可以使用kudzu。这是一个自动检测和配置工具,一般在系统启动的时候自动运行,当然了你也可以手工运行这个工具来排除故障。Kmod是模块加载控制器,负责内核模块的加载和卸载。指定特别的选祥和参数可以修改/etc/modules.conf文件。大多数的硬件都可以自动检测到,对于未识别到的硬件可以执行:depmod

–a

手工加载模块使用:modprobe例:#modprobe pcnet32

查看当前加载的模块:#cat

/proc/modules或者#lsmod

卸载模块:rmmod –r pcnet32

升级内核

1、关于内核版本

内核版本号的形式一般都是这样的:x.x.x例如:2.4.21

第一个数字表示主版本号,第二个数字表示辅助版本号,第三个号码代表patch的号码。主版本号的变更往往意味着很大的改变,可能会有很多程序不能够在新的内核上使用。辅助版本号有两个含义:第一主版本内核的第x个版本,第二x若为奇数则表示该版本为正在开发中的版本,不适合生产使用,若为偶数则表示该版本为稳定的可靠版本,可以用于生产。最后一个号码代表patch即补丁的版本号。

2、升级内核

新的内核往往会包含着新的技术,意味着系统可以支持更多的设备,也意味着更好的稳定性和更快的性能。所以系统管理员可能会需要对内核进行升级。升级内核主要有两种方式:

1、

rpm包升级方式 从网上下载已经编译好的rpm内核软件

包,然后进行安装,例:rpm –ivh

kernel-2.4.21-8.i386.rpm

2、 使用内核的源码包编译安装。

这部分较为复杂,在后续章

节进行详细论述,此处略过。

3、内核补丁

为了使你的系统运行的更加的稳定、高效,你可能经常要给你的系统打补丁,例如从2.4.20到2.4.21。内核补丁可以很容易的从网上下载到。安装也很容易,例:

#zcat

pathch-2.4.22.gz | patch –p0

3、 制作引导盘

#mkbootdisk

“当前内核的版本号”

例:mkbootdisk 2.4.20

#dd if=/mnt/cdrom/images/bootnet.img

of=/dev/fd0

从光盘创建安装引导盘

4、

内核资源

linux的优点之一是你可以格局你的需要对内核自

由进行裁减编译,使之符合自己的需要。要编译内核就要先了解linux的源代码。一旦安装了源码包,你就会在/usr/src目录中看到如下子目录:

debug、redhat、linux-2.4、linux-2.4.21-4.EL。linux-2.4是linux-2.4.21-4.EL的符号链接文件。安装内核源码包使用如下命令

#mount

/mnt/cdrom

#rpm –Uvh /mnt/cdrom/RedHat/RPMS/kernel-source-*

或者你可以下载linux

tar file,即以tar.gz的形式发行的源码包。

4、 重新编译内核

将下载好的内核解压缩到:/usr/src/目录下

#cd

/usr/src/ 进入该目录

#ln linux-2.4.26 linux-2.4 创建该目录的符号链接文件

#cd linux-2.4

进入内核目录

修改Makefile文件,找到包含EXTAVERSION的行将其改为EXTRAVERSION=qun

#make mrproper

确保源文件的一致性

#make xconfig 选择需要编译进内核的功能

#make dep 解决依赖性

#make bzImage

生成内核

#make modules 编译内核模块

#cp usr/src/linux-2.4/arch/i386/boot/bzImage

/boot/vmlinuz-2.4.26qun

#make modules_install 安装内核模块

#mkinitrd

/boot/initrd-2.4.26qun.img 2.4.26qun 生成启动镜像文件

# cp

/usr/src/linux-2.4/System.map /boot/System.map-2.4.26qun

#vi /etc/grub.conf #

在最后部分添加如下行:

title Red Hat Linux (2.4.26qun)

kernel /vmlinuz-2.4.26qun ro

root=LABEL=/

initrd /initrd-2.4.26qun.img

:wq!

#reboot

重新启动后就可以看到刚刚安装好的内核了。

#对于2.6的内核而言,步骤就简单了很多只需要这几个命令:

make xconfig、make、make

install

 

 转载完

Linux 2.4->2.6内核升级指南(转帖)

(转自:http://www.uplinux.net/data/2006/0518/article_716.html

Linux 2.4->2.6内核升级指南 

--------------------------------------------------------------------------------

 

作者:未知     来源:chinaitlab     发表时间:2006-05-18     浏览次数:380    字号:大  中  小

前言: linux-2.6.x内核发布后, 坛子里的兄弟们肯定都迫不及待地要升级原有的2.4.x内核. 但是由于与2.6.x内核配套的系统程序并没有相应的来得及更新, 升级过程会碰到很多问题, 因此觉得有必要把我的经验与大家share一下:-) XD们以后碰到类似问题时, 请先阅读本文, 而不要一上来就盲目发帖.

ps, you are welcome to fix me.

1. 备份重要的数据

这是个好习惯,就不用多说了:-)

2. 下载最新的2.6.x内核源码包

这个当然要到官方网站www.kernel.org或者它的mirror站点去下载了, 最好别到那些unknown的网站去下, 因为那些源码包有可能被恶意做了手脚. 最新的linux-2.***.tar.bz2源码包大概有33M左右. 下载的时候可以泡杯coffee, 然后点根烟......

在/usr/src/目录下解开源码包, 得到源代码目录/usr/src/linux-2.***/. 在对kernel做任何事情之前, 建议你先看一下它的README文件和Documentation/Changes文件, 从中你会得到不少有用的信息. 这些信息会让你在随后的升级过程避免很多不必要的麻烦.

在文档Documentation/Changes中给出了欲成功地升级到kernel-2.6.x所需的最小系统软件要求, 比如对于kernel-2.***是这样的:

o Gnu C 2.95.3 # gcc --version

o Gnu make 3.79.1 # make --version

o binutils 2.12 # ld -v

o util-linux 2.10o # fdformat --version

o module-init-tools 0.9.10 # depmod -V

o e2fsprogs 1.29 # tune2fs

o jfsutils 1.1.3 # fsck.jfs -V

o reiserfsprogs 3.6.3 # reiserfsck -V 2>&1|grep reiserfsprogs

o xfsprogs 2.6.0 # xfs_db -V

o pcmcia-cs 3.1.21 # cardmgr -V

o quota-tools 3.09 # quota -V

o PPP 2.4.0 # pppd --version

o isdn4k-utils 3.1pre1 # isdnctrl 2>&1|grep version

o nfs-utils 1.0.5 # showmount --version

o procps 3.2.0 # ps --version

o oprofile 0.5.3 # oprofiled --version

对于RH8/9的用户而言, 上述要求基本上都能满足. 大概只有两个程序需要更新: modutils工具包和mkinitrd程序.

3. 安装module-init-tools-3.0.tar.gz工具包

linux-2.6.x内核的module处理过程有所改变(很多原先在用户态下由modutils处理的工作都放到内核里去完成了), 因此2.4.x下的modutils工具包已经不在适合新的2.6.x内核, 必需将其升级到module-init-tools工具包. 该工具包的最新版本是3.0(ps, 该工具包的版本从0.9.15一下跳到3.0, 其跨度之大...hoho). 可以下载module-init-tools-3.0.tar.gz源码包的地方有两个:

o Rusty's Linux Kernel Page: http://www.kernel.org/pub/linux/ker...ools-3.0.tar.gz

o http://www.kernel.org/pub/linux/uti...ools-3.0.tar.gz

接下来, 按照下列步骤安装module-init-tools工具包:

# configure --prefix=/

# make moveold

# make all install

# ./generate-modprobe.conf /etc/modprobe.conf

命令"make moveold"将把系统原来的modutils工具程序改名为"*.old"(比如,lsmod.old等等). NOTE! 这是非常重要的一步, 千万不要省略. 这将使得你可以继续使用原有的linux-2.4.x系统, 因为在2.4.x系统下, 新的module-init-tools工具包实际上是倚赖原来"*.old"程序来加载内核模块. 如果忘记了这一步也不要紧张, 可以先下载并安装原来的modutils程序包, 然后按照上面的步骤重来一遍就可以了.

新的module-init-tools工具包不再使用原来的/etc/modules.conf配置文件了, 而是使用新的配置文件/etc/modprobe.conf. 因此必需用命令"./generate-modprobe.conf /etc/modprobe.conf"来生成新的配置文件/etc/modprobe.conf. 但是令人不爽的是, 这个生成的新配置文件存在BUG, 下面我们将会提到.

4. 更新mkinitrd程序

可以到站点http://people.redhat.com/arjanv/2.6...1-2.i386.rpm包. 由于mkinitrd程序包依赖于device-mapper包, 而device-mapper包又倚赖于lvm2包, 因此你还要同时下载device-mapper-1.00.07-1.i386.rpm包和lvm2-2.00.08-2.i386.rpm包.

5. 配置,编译和安装linux-2.6.x内核

新内核在Makefile方面的改动很大, "make menuconfig"和"make xconfig"继续存在, 但是"make xconfig"被改写了, 不再使用原来的Tcl/Tk语言, 而是基于QT库了. 新增加了"make gconfig", 它是基于GTK库的. "make xconfig"和"make gconfig"比原来更强大而且更易于使用了. 但不幸的是, 它们好像还不太稳定......因此, 还是使用我最喜欢的"make menuconfig"吧:-)

关于新内核的配置想提几点:

o 关于"Loadable Module support"选项, 一定要选上"Module unloading"和"Automatic kernel module loading"这两个选项.

o 关于"Processor type and features"选项, 一定要选上"Preemptible Kernel"选项, 这是2.6.x内核优于2.4.x内核的重要原因之一.

o 关于"Block Devices"的配置, 一定要选上对loopback和ramdisk的支持.

o 关于"Multi-device support(RAID and LVM)", 要选上"device mapper".

o 关于"Input device support", 记得要选上"Keyboards"和"Mice"的支持.

o 关于"Graphics support", 要选上对frame buffer的支持.

o 关于ALSA, 要选上"OSS API emulation"选项. OSS可以不用了.

o 关于USB, 能选的都选上吧:-)

o 关于文件系统, 选上常用的那几种就可以了. 如果要体验sysfs的话, 要选上对sysfs的支持.

配制好内核后, 就可以直接编译了, "make dep"这一步已经显示地需要了.

# make bzImage

# make modules

# make modules_install

# make install

上面的命令"make install"将: (1)把压缩内核映象拷贝到/boot目录下, 并创建相应的System.map符号链接; (2)修改bootloader的配置文件; (3)调用mkinitrd程序创建内核的initrd映象. 对于GRUB而言, 将在/boot/grub/grub.conf配置文件增加如下类似的配置行:

title Red Hat Linux (2.***)

root(hd0, 1)

kernel /boot/vmlinuz-2.*** ro root=LABEL=/

initrd /boot/initrd-2.***.img

不幸的是, 新内核并不识别"root=LABEL=/"这个启动参数. 如果现在你就重新启动新内核的话, 将发生kernel panic错误. 因此, 必需把这个"root=LABEL=/"启动参数去掉, 就OK了.

到这里, 你已经可以重启机器, 用kernel-2.***启动了. 当然, 多半你不会成功, 不是没鼠标就是没键盘:-)

6. 支持Hotplug

当然, 首先要在内核配置时配置了HOTPLUG的支持. 然后, 由于/proc/ksyms改名为/proc/kallsyms, 所以必需修改启动脚本/etc/rc.sysinit. 为了兼容原有的linux-2.4.x系统, 可以加上下面几行:

#

# ----- KERNEL 2.6.x support ------

# This is for compatibility between kernel-2.4.x and kernel-2.6.x

#

UNAME=`uname -r`

KERNELVER=${UNAME:0:3}

if [ "$KERNELVER" = "2.6" ]; then

#

# This is kernel-2.6.x

#

KSYMS=/proc/kallsyms

else

#

# This is kernel-2.4.x

#

KSYMS=/proc/ksyms

fi

然后, 把rc.sysinit文件中所有出现/proc/ksyms的地方都换成"$KSYMS"变量引用. 配置好后, 还必需下载hotplug的用户态辅助工具包:http://www.kernel.org/pub/linux/uti...4_03_11.tar.gz. 解开这个包以后, 直接"make install"就可以了. 它将产生/etc/hotplug/配置目录.

7. 体验sysfs

首先, 创建目录/sys:

# mkdir /sys

然后, 按照下列步骤修改启动脚本/etc/rc.sysinit文件:

o 找到行: mount -f /proc", 在下面增加:

if [ "$KERNELVER" = "2.6" ]; then

mount -f /sys

fi

o 找到行: action $"Mounting proc filesystem: " mount -n -t proc /proc /proc, 在其下面增加这样一行:

#

# Mount /sys for kernel-2.6.x

#

if [ "$KERNELVER" = "2.6" ]; then

action $"Mounting sysfs filesystem: " mount -n -t sysfs /sys /sys

fi

接下来, 在/etc/fstab文件中, 加入这样一行:

none /sys sysfs defaults 0 0

最后, 修改/etc/init.d/halt脚本中的halt_get_remaining函数:

将:

awk '$2 ~ /^\/$|^\/proc|^\/dev/{next}

改为:

awk '$2 ~ /^\/$|^\/proc|^\/sys|^\/dev/{next}

8. 支持USB设备

linux-2.6.x的USB驱动模块的名字已经改变了, 所以由此引起的问题多多......, 对应于USB-2.0的host控制器的内核模块名字仍然是ehci-hcd, 对应USB-1.1的host控制器的内核模块名字已经从usb-ohci改为ochi-hcd, 对应于通用USB host控制器的内核模块名字已经从usb-uhci该为uhci-hcd.

然而不幸的是, 在安装module-init-tools程序包时生成的/etc/modprobe.conf配置文件却仍然使用usb-ohci这个名字. 例如:

alias usb-controller usb-ohci

alias usb-controller1 ehci-hcd

因此, 要把它改为:

alias usb-controller ohci-hcd

alias usb-controller1 ehci-hcd

如果不做这样的修改, 那么使用USB-1.1 host控制器的机器在启动内核的时候将着不到相应的驱动模块.

支持USB键盘的模块名字也从keybdev变为usbkbd, 支持USB鼠标的模块名字也从mousedev改为usbmouse. 因此, 我们必需修改启动脚本/etc/rc.sysinit文件. 同时为了兼容原有的2.4.x系统, 我们在脚本的一开始定义两个变量:

#

# ----- KERNEL 2.6.x support ------

# This is for compatibility between kernel-2.4.x and kernel-2.6.x

#

UNAME=`uname -r`

KERNELVER=${UNAME:0:3}

if [ "$KERNELVER" = "2.6" ]; then

#

# This is kernel-2.6.x

#

KSYMS=/proc/kallsyms

KEYBDEV_NAME=usbkbd

MOUSEDEV_NAME=usbmouse

else

#

# This is kernel-2.4.x

#

KSYMS=/proc/ksyms

KEYBDEV_NAME=keybdev

MOUSEDEV_NAME=mousedev

fi

然后, 把/etc/rc.sysinit脚本文件中出现keybdev和mousedev的地方都改为$KEYBDEV_NAME和$MOUSEDEV_NAME. 把脚本文件/etc/rc.sysinit中的needusbstorage部分从:

needusbstorage=

if [ $usb = "1" ]; then

needusbstorage=`LC_ALL=C grep -e "^I.*Cls=08" /proc/bus/usb/devices 2>/dev/null`

LC_ALL=C grep 'hid' /proc/bus/usb/drivers || action $"Initializing USB HID interface: " modprobe hid 2> /dev/null

action $"Initializing USB keyboard: " modprobe $KEYBDEV_NAME 2> /dev/null

action $"Initializing USB mouse: " modprobe $MOUSEDEV_NAME 2> /dev/null

fi

改为:

needusbstorage=

if [ $usb = "1" ]; then

if [ "$KERNELVER" = "2.6" ]; then

needusbstorage=`LC_ALL=C grep -e "^I.*Cls=08" /sys/bus/usb/devices 2>/dev/null`

LC_ALL=C grep 'hid' /sys/bus/usb/drivers || action $"Initializing USB HID interface: " modprobe hid 2> /dev/null

else

needusbstorage=`LC_ALL=C grep -e "^I.*Cls=08" /proc/bus/usb/devices 2>/dev/null`

LC_ALL=C grep 'hid' /proc/bus/usb/drivers || action $"Initializing USB HID interface: " modprobe hid 2> /dev/null

fi

action $"Initializing USB keyboard: " modprobe $KEYBDEV_NAME 2> /dev/null

action $"Initializing USB mouse: " modprobe $MOUSEDEV_NAME 2> /dev/null

fi

好了, 到此为止, 我们应该可以重新启动机器了, 赶快去体验最新的kernel-2.***吧:-)

9. 其它

o 关于在linux-2.6.x系统上不能正常使用RPM命令的问题, 请参阅文档[2]和[6].

o 关于声卡的问题, 可以参阅参考文档[2]和[6].

o 关于在linux-2.6.x系统上运行vmware的问题, 请参阅参考文档[2]和[6].

10. 参考文档

[1] Kernel 2.6.x, the new breed: http://linuxbooks.pananix.com/kernel2.6.html

[2] Upgrading RH9 to 2.6.0-test4: http://www.fearthecow.net/index.pl?...amp;page=kernel

[3] HowTo Upgrade To The 2.6 Kernel: http://kerneltrap.org/node/view/799

[4] Building Linux Kernel 2.6 on Red Hat 8: http://www.sabalsoftware.com/articl...26OnRedhat8.php

[5] Migrating to Linux kernel 2.6 on recent Redhat systems: http://linux-sxs.org/upgrading/migration26.html

[6] Migrating to Linux Kernel 2.6: http://thomer.com/linux/migrate-to-2.6.html

linux 内核 2.6.* 的 设置选项详解(转帖)

(转自:http://www.linuxfans.org/nuke/modules.php?name=Forums&file=viewtopic&t=136364

 

内 核 选 项

第一部分

01、Code maturity level options ---> 代码成熟等级选项

01.01、[ ] Prompt for development and/or incomplete code/drivers 默认情况下是选择的,这将会在设置界面中显示还在开发或者还没有完成的代码与驱动.你应该选择它,因为有许多设备可能必需选择这个选项才能进行配置,实际上它是安全的。

01.02、[ ] Select only drivers expected to compile cleanly 选择这个选项你将不会看到一些已知的存在问题的驱动程序选项,默认的情况下也是选择的。如果你有设备没有找到驱动选项,你可以将这一项去掉,或许就可以找到相关驱动了,不过它可能是有BUG的。

第二部分

02、General setup ---> 常规安装选项

02.01、() Local version - append to kernel release

02.02、[*] Support for paging of anonymous memory (swap) 这个选项将使你的内核支持虚拟内存,也就是让你的计算机好象拥有比实际内存更多 多的内存空间用来执行很大的程序。默认是选择的。

02.03、[*] System V IPC (IPC:Inter Process Communication)是组系统调用及函数库,它能让程序彼此间同步进行交换信息。某些程序以及DOS模拟环境都需要它。为进程提供通信机制,这将使系统中各进程间有交换信息与保持同步的能力。有些程序只有在选Y的情况下才能运行,所以不用考虑,这里一定要选。

02.04、[*] BSD Process Accounting 一般用户所执行的程序,可通知内核将程序统计数据写成文件,详细记录相关信息。

02.05、[ ] BSD Process Accounting version 3 file format

02.06、[*] Sysctl support 此项功能可在不重新编译内核或是重新开机的前提下,动态变更某些特定的内核参数和变量,赋予内核较大的弹性。除非内存太少或是编译出来的内核是给安装、救援磁盘所使用,否则这个选项一定要选上。这将提供一个接口让你可以动态的更改一些核心参数与变量,而不需要重新启动系统。打开这个选项将会增加内核的体积至少8KB。如果你的内核仅用制作安装与恢复系统系统盘那么可以不选,以减少对内存的占用。

02.07、[*] Auditing support 审记支持,用于和内核的某些子模块同时工作,例如SELinux。只有选择此项及它的子项,才能调用有关审记的系统调用。

02.08、[*] Enable system-call auditing support

--- Support for hot-pluggable devices 是否支持热插拔的选项,肯定要选上。不然USB、PCMCIA等这些设备都用不了。

02.09、[*] Kernel Userspace Events内核中分为系统区和用户区,这里系统区和用户区进行通讯的一种方式,选上。

02.10、[ ] Kernel .config support 这将会把内核的配置信息与相关的文档说明编译进内核中,以后可以使用一些工具来提取它用来重新构建内核,一般不用选它。

02.11、[ ] Configure standard kernel features (for small systems) ---> 这是为了编译某些特殊用途的内核使用的,例如引导盘系统。通常你可以不选择这一选项,你也不用对它下面的子项操心了。

_________________

生命不息,

灌水不止......

 

 

返回页首       

 

 

青铜镜

Linux普通社员

注册: Nov 23, 2004

文章: 235

位置: 天地良心

 发表于: 2005年 10月20日 11:18    发表主题:   

--------------------------------------------------------------------------------

 

第三部分

03、Loadable module support ---> 可引导模块支持 建议作为模块加入内核

03.01、[*] Enable loadable module support 这个选项可以让你的内核支持模块,模块是什么呢?模块是一小段代码,编译后可在系统内核运行时动态的加入内核,从而为内核增加一些特性或是对某种硬件进行支持。一般一些不常用到的驱动或特性可以编译为模块以减少内核的体积。在运行时可以使用modprobe命令来加载它到内核中去(在不需要时还可以移除它)。一些特性是否编译为模块的原则是,不常使用的,特别是在系统启动时不需要的驱动可以将其编译为模块,如果是一些在系统启动时就要用到的驱动比如说文件系统,系统总线的支持就不要编为模块了,否在无法启动系统。

03.02、[*] Module unloading 这个选项可以让你卸载不再使用的模块,如果不选的话你将不能卸载任何模块(有些模块一旦加载就不能卸载,不管是否选择了这个选项)。不选择这个选项会让你的内核体积减小一点。

03.03、[ ] Source checksum for all modules这个功能是为了防止更改了内核模块的代码但忘记更改版本号而造成版本冲突。我估计现在没有哪家公司在开发中还没使用版本控制工具,所以不需要这项了。如果你不是自己写内核模块,那就更不需要这一选项了。

03.04、[*] Automatic kernel module loading 一般情况下,如果我们的内核在某些任务中要使用一些被编译为模块的驱动或特性时,我们要先使用modprobe命令来加载它,内核才能使用。不过,如果你选择了这个选项,在内核需要一些模块时它可以自动调用modprobe命令来加载需要的模块,这是个很棒的特性,当然要选Y喽。

第四部分

04、Processor type and features ---> 处理器类型

04.01、Subarchitecture Type (PC-compatible) ---> 这选项的主要的目的,是使Linux可以支持多种PC标准,一般我们使用的PC机是遵循所谓IBM兼容结构(pc/at)。这个选项可以让你选择一些其它架构。我们一般选择PC-compatible就可以了。

04.01.01、(X) PC-compatible 就在这里选PC模式。

04.01.02、( ) AMD Elan

04.01.03、( ) Voyager (NCR)

04.01.04、( ) NUMAQ (IBM/Sequent)

04.01.05、( ) SGI 320/540 (Visual Workstation)

04.02、Processor family (Pentium-Pro) ---> CPU选项 这里针对自己的CPU型号,选取相应的选项。

04.02.01、( ) 386

04.02.02、( ) 486

04.02.03、( ) 586/K5/5x86/6x86/6x86MX

04.02.04、( ) Pentium-Classic

04.02.05、( ) Pentium-MMX

04.02.06、( ) Pentium-Pro

04.02.07、( ) Pentium-II/Celeron(pre-Coppermine)

04.02.07、( ) Pentium-III/Celeron(Coppermine)/Pentium-III Xeon

04.02.08、( ) Pentium M

04.02.09、( ) Pentium-4/Celeron(P4-based)/Pentium-4 M/Xeon

04.02.10、( ) K6/K6-II/K6-III

04.02.11、(x) Athlon/Duron/K7 我使用的CPU是Athlon XP2000+,所以选上这项。

04.02.12、( ) Opteron/Athlon64/Hammer/K8

04.02.13、( ) Crusoe

04.02.14、( ) Efficeon

04.02.15、( ) Winchip-C6

04.02.16、( ) Winchip-2

04.02.17、( ) Winchip-2A/Winchip-3

04.02.18、( ) GeodeGX1

04.02.19、( ) CyrixIII/VIA-C3

04.02.20、( ) VIA C3-2 (Nehemiah)

04.03、[ ] Generic x86 support 这个选项提供了对X86系列CPU最大的兼容性,用来支持一些很少见的x86体系的CPU,它可能会降低一些系统性能。如果你的CPU能够在上面的列表中找到,就里就不用选了。

04.04、[*] HPET Timer Support 这也是一个新的特性,HPET是intel制定的新的用以代替传统的8254(PIT)中断定时器与RTC的定时器,全称叫作高精度事件定时器。如果你有一台较新的机器就选它吧,一般它是一个安全的选项,即使你的硬件不支持HPET也不会造成问题,因为它会自动用8254替换。

04.05、[ ] Provide RTC interrupt There is no help available for this kernel option.

04.06、[ ] Symmetric multi-processing support 支持多处理器选项。如果只使用单CPU,那么得关闭。

04.07、[*] Preemptible Kernel 这可是个新特性,几乎所有介绍2.6的文章都会提到,这就是可抢先式内核。也就是说被一些优先级很高的程序可以先与一些低优先级的程序执行,即使这些程序是在核心态下执行(这实际上仍然不是真正的抢先式内核)。从而减少内核潜伏期,提高系统的响应。当然在一些特殊的点的内核是不可抢先的,比如内核中的调度程序自身在执行时就是不可被抢先的。这个特性可以提高桌面系统、实时系统的性能,所以还是选上吧。

04.08、[ ] Local APIC support on uniprocessors

04.09、[*] Machine Check Exception 如果系统出现一些问题比如CPU过热,内核将会在屏幕上打印相关信息来提醒你。这个功能是需要硬件支持的。你可以查看/proc/cpuinfo看看是否有mce标志,有的话就选吧。如果你十分十分的不幸,选了它之后出现问题,可以在启动时加nomce参数来关闭它。

04.10、<*> Check for non-fatal errors on AMD Athlon/Duron / Intel Pentium 4 打开这个选项将会检查你机器上可能存在的问题,如果有一个非致命错误出现将会自动的修复并且记录,这可以帮助你查出程序出现问题的原因,是一个不错的选项。当然它只能用在AMD Athlon/Duron / Intel Pentium 4这类CPU上。如果你正好在用它们中的一个你就选吧。

04.11、< > Toshiba Laptop support 东芝笔记本支持。这个选项是针对Toshiba笔记本的,可以用来访问Toshiba的系统管理模式,也就是可以直接设置BIOS。不过要注意它只在Toshiba自己的 BIOS中起作用。假如你有一台Toshiba笔记本,可惜它的BIOS是Phoenix的,那这个选项仍然是无用的。台式机就关闭!

04.12、< > Dell laptop support DELL笔记本支持。功能如上面,台式机就关闭!

04.13、[ ] Enable X86 board specific fixups for reboot

04.14、< > /dev/cpu/microcode - Intel IA32 CPU microcode support 是否支持Intel IA32架构的CPU(Xeon)?这个选项将让你可以更新Intel IA32系列处理器的微代码,当然你还必须在文件系统选项中选择devfs才能正常的使用它。如果你把它译为模块你还需要在modprobe.conf中加上这一行alias char-major-10-184 microcode 内核本身并不带有微代码的二进制文件,你可以到这个网址去得到新的信息http://www.urbanmyth.org/microcode/

04.15、<M> /dev/cpu/*/msr - Model-specific register support 是否打开Pentium CPU特殊功能寄存器的功能?这个选项桌面用户一般用不到,它主要用在Intel的嵌入式CPU中的,这个寄存器的作用也依赖与不同的CPU类型而有所不同,一般可以用来改变一些CPU原有物理结构的用途,但不同的CPU用途差别也很大。

04.16、<M> /dev/cpu/*/cpuid - CPU information support 是否打开记录Petium CPU相关信息功能?这会在/dev/cpu中建立一系列的设备文件,用以让过程去访问指定的CPU。一般不用选。

04.17、Firmware Drivers --->

04.18、High Memory Support (4GB) ---> 高容量内存支持

04.18.01、(x) off 我用512M内存,选用这项。

04.18.02、( ) 4GB

04.18.03、( ) 64GB

04.19、[*] Allocate 3rd-level pagetables from highmem除非有几G的内存,否则选择这个是没有意义的。

04.20、[ ] Math emulation Linux核心模拟数学浮点运算器,协处理器是在386时代的宠儿,现在早已下岗。

04.21、[*] MTRR (Memory Type Range Register) support 在PCI或者AGP总线众进行更快速的通讯。 由于现在所有系统都将它们的显卡接在PCI或AGP总线上,你通常需要选择“MTRR”。无论如何,打开这个选项通常都是安全的——即使你的机器没有使用PCI或AGP总线的显卡。

04.22、[ ] Boot from EFI support (EXPERIMENTAL) 由于我使用的是GRUB,所以选上这个也没什么用,如果你打算使用EFI的功能,你可以到http://elilo.sourceforge.net看看。

04.23、[*] Enable seccomp to safely compute untrusted bytecode

_________________

生命不息,

灌水不止......

 

 

返回页首       

 

 

青铜镜

Linux普通社员

注册: Nov 23, 2004

文章: 235

位置: 天地良心

 发表于: 2005年 10月20日 11:19    发表主题:   

--------------------------------------------------------------------------------

 

第五部分

05、Power management options (ACPI, APM) ---> 电源管理选项

05.01、[*] Power Management support

05.02、[ ] Power Management Debug Support 电源管理的调试信息支持,如果不是要调试内核有关电源管理部份,请不要选择这项。

05.03、ACPI (Advanced Configuration and Power Interface) Support ---> Some kernel features may be built directly into the kernel. Some may be made into loadable runtime modules. Some features may be completely removed altogether. There are also certain kernel parameters which are not really features, but must be entered in as decimal or hexadecimal numbers or possibly text.

Menu items beginning with [*], <M> or [ ] represent features configured to be built in, modularized or removed respectively. Pointed brackets <> represent module capable features.

To change any of these features, highlight it with the cursor keys and press <Y> to build it in, <M> to make it a module or <N> to removed it. You may also press the <Space Bar> to cycle through the available options (ie. Y->N->M->Y).

05.03.01、[*] ACPI Support 高级电源接口配置支持,如果BIOS支持,建议选上这项。

05.03.02、< > AC Adapter 电源适配器

05.03.03、< > Battery 电池

05.03.04、<M> Button

05.03.05、<*> Fan 风扇

05.03.06、<*> Processor 处理器

05.03.07、<*> Thermal Zone 据说大部份的台式机和笔记本都支持,不选还可能把处理器烧掉。如果你不会让模块正常工作,还是把它编进内核吧,怪吓人的。

05.03.08、< > ASUS/Medion Laptop Extras 华硕笔记本扩展支持,建议关闭

05.03.09、< > IBM ThinkPad Laptop Extras IBM笔记本扩展支持,建议关闭

05.03.10、< > Toshiba Laptop Extras Toshiba笔记本扩展支持,建议关闭

(2001) Disable ACPI for systems before Jan 1st this year

05.04、[ ] Debug Statements详细的ACPI调试信息,不搞开发就别选。

05.05、APM (Advanced Power Management) BIOS Support --->

05.05.01、<*> APM (Advanced Power Management) BIOS support

05.05.02、[ ] Ignore USER SUSPEND 忽略用户暂停请求。建议关闭

05.05.03、[ ] Enable PM at boot time 开机时节能,这项就不用了,建议关闭。

05.05.04、[*] Make CPU Idle calls when idle CPU空闲时节能

05.05.05、[ ] Enable console blanking using APM 空闲时console转成空白,建议关闭。

05.05.06、[ ] RTC stores time in GMT 按Unix的标准,硬件的时钟应该设为格林威治时间。如果要硬件时钟设成了本地时间,这个选项就不用了。

05.05.07、[ ] Allow interrupts during APM BIOS calls 允许APM的BIOS调用时中断。多数的机器不需要这项,Thinkpad的一些新机器需要这项。如果休眠时挂机(包括睡下去就醒不来),再把这项选上。

05.05.08、[ ] Use real mode APM BIOS call to power off 建议最好选上此项,保证软件关机。如果你有兴趣可以试试你的机器不选这项能不能正常的软件关机(多数机器不能)。补充一点,如果既选择了ACPI又选择了APM,先加载的将被使用。

05.06、CPU Frequency scaling ---> 这一选项允许改变CPU的主频,使CPU在低负荷或使用电池时降低主频,达到省电的目的。

05.06.01、[*] CPU Frequency scaling

05.06.02、[*] Enable CPUfreq debugging 是否允许调试CPU改变主频的功能,如果要调试,还需要在启动时加上参数。cpufreq.debug=<value> 1:变频技术的内核调试 2:变频技术的驱动调试 3:变频技术的调节器调试

05.06.03、<M> CPU frequency translation statistics

05.06.04、[*] CPU frequency translation statistics details

05.06.05、Default CPUFreq governor (performance) ---> 默认的主频调节,圆括号内的是你选择的结果,这里表示以性能为主。

05.06.06.01、(X) performance

05.06.06.02、() userspace

05.06.07、<*> 'performance' governor

05.06.08、<M> 'powersave' governor 最大限度的节约电能调节器。

--- 'userspace' governor for userspace frequency scaling 用户自定义调节器。

05.06.09、<M> 'ondemand' cpufreq policy governor 自动调节主频。

05.06.10、<M> 'conservative' cpufreq governor

--- CPUFreq processor drivers

05.06.11、<M> ACPI Processor P-States driver 报告处理器的状态。

05.06.12、< > AMD Mobile K6-2/K6-3 PowerNow! AMD移动版K6处理器的变频驱动。

05.06.13、< > AMD Mobile Athlon/Duron PowerNow! AMD移动版毒龙、雷乌的变频驱动。

05.06.14、< > Cyrix MediaGX/NatSemi Geode Suspend Modulation Cyrix处理器的变频驱动。

05.06.15、< > Intel Enhanced SpeedStep Intel的变频技术支持。

05.06.16、[*] Use ACPI tables to decode valid frequency/voltage pairs 使用BIOS中的主频/电压参数。

05.06.17、[ ] Built-in tables for Banias CPUs 迅驰一代的主频/电压参数。

05.06.18、< > Intel Speedstep on ICH-M chipsets (ioport interface) Intel ICH-M南桥芯片组的支持。

05.06.19、< > Intel Pentium 4 clock modulation P4处理器的时钟模块支持。

05.06.20、< > Transmeta LongRun Transmeta处理器的支持。

05.06.21、< > VIA Cyrix III Longhaul VIA Cyrix处理器的支持。

--- shared options

05.06.22、[ ] /proc/acpi/processor/../performance interface (deprecated) 从/proc/acpi/processor/../performance获得CPU的变频信息。

05.06.23、[ ] Relaxed speedstep capability checks 不全面检测Intel Speedstep,有的系统虽然支持Speedstep技术,却无法通过全面的检测。

_________________

生命不息,

灌水不止......

 

 

返回页首       

 

 

青铜镜

Linux普通社员

注册: Nov 23, 2004

文章: 235

位置: 天地良心

 发表于: 2005年 10月20日 11:19    发表主题:   

--------------------------------------------------------------------------------

 

第六部分

06、Bus options (PCI, PCMCIA, EISA, MCA, ISA) ---> 总线选项

06.01、[*] PCI support

06.02、PCI access mode (Any) ---> PCI外围设备配置,强列建议选Any,系统将优先使用MMConfig,然后使用BIOS,最后使用Direct检测PCI设备。

06.02.01、( )BIOS

06.02.02、( )MMConfig

06.02.03、( )Direct

06.02.04、(X)Any 选用Any,系统会先尝试直接设置,倘若失败便会退回启用BIOS设置。

06.03、[ ] PCI Express support PCIE支持

06.04、[*] Legacy /proc/pci interface 是否使用/proc/pci目录下的信息文件来描述PCI设备的信息。现在的系统多数都使用lspci工具来得到这样的信息。

06.05、[*] PCI device name database 如果你不打算使用lspci工具,就把这项和上面的一项选上。lspci和hotplug都不需要内核中的设备信息库了。

06.06、[ ] PCI Debugging

06.07、[ ] ISA support ISA总路,现已淘汰,建议关闭。是否使用工业总线。如果你没有老式的ISA设备,可以不选这项。现在基本上都没有ISA的设备了。不过需要注意的是如果你做嵌入式系统的开发,一些PC104的总线可能会桥接到EISA或者是。VESA总线上。

06.08、[ ] EISA support 扩展ISA总路,早期计算机上的总路,现已淘汰,建议关闭。

06.09、[ ] MCA support IBM PS/2上的总线,现已淘汰,建议关闭。微通道总线。IBM的台式机和笔记本上可能会有这种总线,包括它的p系列、e系列、z系列机器上都用到了这种总线。

06.10、< > NatSemi SCx200 support 这个我不知道是什么东西,看帮助是松下的一种半导体处理器的驱动。

06.11、PCCARD (PCMCIA/CardBus) support ---> 一般只有笔记本电脑上才会有PCMCIA插槽,如果你是台式机的话,可以不选这一项,然后跳过这一部份。

06.11.01、<M> PCCard (PCMCIA/CardBus) support

06.11.02、[ ] Enable PCCARD debugging 调试PCMCIA设备,除非你是设备驱动的开发人员,否则关闭。

06.11.03、<M> 16-bit PCMCIA support 16位的PCMCIA总线支持。

06.11.04、[*] 32-bit CardBus support 32位的PCMCIA总线支持,通常也叫PCMCIA II总线。

--- PC-card bridges 下面的是不同产家的PCMCIA芯片的驱动支持,如果你知道你的本本用的是什么芯片组的话,可以只选它而不选其它的。要是你不知道,可以全部选上,然后用modprobe一种一种的试。

06.11.04.01、<M> CardBus yenta-compatible bridge support

06.11.04.02、<M> Cirrus PD6729 compatible bridge support

06.11.04.03、<M> i82092 compatible bridge support

06.11.04.04、<M> Databook TCIC host bridge support

06.12、PCI Hotplug Support ---> PCI热插拨支持。一般来讲只有服务器上会有热插拔的设备,如果你使用的是台式机,你可以不选择此项并跳过这一部份。其实我也没有选这一项,只是为了讲解的方便而选上的。

06.12.01、Fake PCI Hotplug driver (NEW),选上这一选项能让你的机器模拟PCI热插拔。注意,它并不是真正意义上的热插拔,决对不允许带电插拔设备除非你的主板上集成了PCI热插拔芯片并且你的PCI设备本身支持热插拔。

06.12.02、Compaq PCI Hotplug driver (NEW),Compaq服务器上的热插拔芯片组的支持。

06.12.03、IBM PCI Hotplug driver (NEW),IBM服务器上的热插拔芯片组的支持。

06.12.04、ACPI PCI Hotplug driver (NEW),PCI热插拔设备是否支持ACPI电源管理(一般来说都是支持的)。

06.12.05、CompactPCI Hotplug driver (NEW),精简PCI总线的热插拔设备的支持,通常在嵌入式系统中会用到精简PCI总线。

06.12.06、PCI Express Hotplug driver (NEW),PCI加速总线的热插拔设备的支持。现在PCI Express总线的显卡挺火的。

06.12.07、SHPC PCI Hotplug driver (NEW),SHPC热插拔控制芯片的支持。

_________________

生命不息,

灌水不止......

 

 

返回页首       

 

 

青铜镜

Linux普通社员

注册: Nov 23, 2004

文章: 235

位置: 天地良心

 发表于: 2005年 10月20日 11:20    发表主题:   

--------------------------------------------------------------------------------

 

第七部分

07、Executable file formats --->

07.01、[*] Kernel support for ELF binaries ELF是开放平台下最常用的二进制文件,它支持不同的硬件平台。

07.02、< > Kernel support for a.out and ECOFF binaries 这是早期UNIX系统的可执行文件格式,目前已经被ELF格式取代。

07.03、< > Kernel support for MISC binaries此选项允许插入二进制的封装层到内核中,当使用Java、.NET、Python、Lisp等语言编写的程序时非常有用。

第5次重装linux,第一次编译成功Redhat linux9.0的内核

  我的环境:kernel2.4.20-8 Redhat linux9.0 lilo ,再加windows2000. AMD毒龙700,256M,20G

  我的windows2000前几天只有我的管理员帐号在用,家里人都在用。由于不知道怎么一回事,linux的5个分区中有两个分区(/,还有好像是/usr)显示在windows2000的我的电脑中,也许是谁无意中执行了对linux的/分区进行了格式化。这样,我的linux系统又完了。最后只得重装,这次把/home目录直接挂载上就行了。因为本地安装的程序一般在/usr/local中,所以把/usr/local分在一个区上。然后,就是在windows2000中启用一个非管理员的user帐号,这样,一般的时候就用这个帐号了。这样一些带有危险性的操作就不能进行了。

  这两天看那本<<linux编程与网络应用>>的定制内核这一节.今天实验了一下:

整个过程如下:

准备工作:

1)su 切换成root(实际上下面的一些步骤必须root权限的除了对一些目录的操作外,只有安装和make modules_install才需要root权限,我一直用root权限是因为源码放在/lib下,而且,我想对编译核心这样的事,用root权限不算问题吧)

2)装上内核工具包和程序开发包;

3)把/usr/src/linux2.4.20-8这个文件夹拷贝到/lib/linuxsrc下;(因为我发觉如果系统启动失败用软盘引导的系统不能装载/home分区,所以我就把备份的东西放在/lib下了,下同)

4)cp /boot /lib/bootback -fr 备份引导目录

5)cp /boot/vmlinuz-2.4.20-8 /boot/vmlinuz-2.4.20-8.old  备份核心

6)cp /lib/modules/2.4.20-8 /lib/modules/2.4.20-8.old -fr  备份模块

7)cp /etc/lilo.conf /etc/lilo.conf.old

正式工作:

1)su 切换到root帐户

2)cd /lib/linuxsrc/linux2.4.20-8 进入源码目录

3)make mrproper 清理源码

4)make menuconfig 把一些明显用不到的项从核心或模块中去掉,加上ntfs分区的读的模块支持

5)make dep

6)make clean 为最后编译进行文件树的配置

7)make bzImage 建立核心

8)cp ./arch/i386/boot/bzImage /boot/bzImage 把核心拷贝到/boot下(第8~10好像放在步骤12后面更加合理,但我没有这样做,以后可以试试看有没有区别)

9)vi /etc/lilo.conf 编辑lilo.conf文件如下:

prompt

timeout=50

default=DOS

boot=/dev/hda

map=/boot/map

install=/boot/boot.b

message=/boot/message

lba32

image=/boot/bzImage

        label=linux

        root=/dev/hda5

        read-only

image=/boot/vmlinuz-2.4.20-8.old

        label=old

        initrd=/boot/initrd-2.4.20-8.img

        root=/dev/hda5

        read-only

 

other=/dev/hda1

optional

label=DOS

10)/sbin/lilo 更新map,这样在lilo启动的选择项中才有新内核的选项

11)make modules 编译模块 (可以不要root权限)

12)make modules_install 安装模块

13)/sbin/shutdown -r now

完成.

我在编译的时候遇到几个问题:

1)不知道initrd-2.4.20-8.img什么用,把它加在lilo.conf的新内核那几行不能启动,报错:.../lib/jbd.o was compiled for kernel version 2.4.20-8 while this kernel version 2.4.20-8custom.ERROR;/bin/insmod exited abnormally.

2)root=/dev/hda5 这行原来是:append="root=LABEL=/" 不知为什么重编译内核后不能找到root的值了

3)make modules_install 安装新模块自动在/lib下生成2.4.29-8custom文件夹,这是与新核心配套的,不会复盖原来的模块目录2.4.20-8;

4)一定在安装linux时制作一张软盘的引导盘,这样,在内核或模块配置不正确时才可以用来引导系统进行相应的修正,据我的经历,如果不是制作了这张引导盘,我可能又要第6次重新系统了。

5)重新编译的压缩核心比原来的压缩核心少了100多k字节,启动x查看内存占用少了3M。但是仍然不能认识我的sedY890手机的usb存储,难道真要升级内核吗?有了这个原内核编译的经验,我想升级内核到2.6.*可能要容易一些了。为防万一,可以先把整个/boot目录备份。