亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 2337 | 回復(fù): 4
打印 上一主題 下一主題

2.6.32 README文件中文翻譯 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2012-02-14 12:34 |只看該作者 |倒序瀏覽
本帖最后由 weiweiabc109 于 2012-02-14 12:39 編輯

版權(quán)聲明

本文作者是一位自由軟件和Linux系統(tǒng)愛好者,所以本文雖然不是軟件,但是本著 GPL 的精神發(fā)布。任何人都可以自由使用、轉(zhuǎn)載、復(fù)制和再分發(fā),但必須保留作者署名,亦不得對聲明中的任何條款作任何形式的修改,也不得附加任何其它條件。您可以自由鏈接、下載、傳播此文檔,但前提是必須保證全文完整轉(zhuǎn)載,包括完整的版權(quán)信息和作譯者聲明。
原鏈接http://weiweiabc109.blog.163.com ... 357220121593937965/
博客鏈接http://weiweiabc109.blog.163.com

Linux kernel release 2.6.xx <http://kernel.org/>

These are the release notes for Linux version 2.6. Read them carefully,
這是一個linux 2.6版本的發(fā)布說明。仔細(xì)閱讀它,
as they tell you what this is all about, explain how to install the
它會告訴你所有關(guān)于linux2.6的信息,和怎么安裝內(nèi)核的說明
kernel, and what to do if something goes wrong.
以及如果出現(xiàn)錯誤時你應(yīng)該怎么做。
WHAT IS LINUX?
什么是linux

Linux is a clone of the operating system Unix, written from scratch by
linux是一個unix系統(tǒng)的克隆,由Linus Torvalds
Linus Torvalds with assistance from a loosely-knit team of hackers across
在loosely-knit的網(wǎng)絡(luò)黑客團(tuán)隊的援助下從無到有地編寫出來的。
the Net. It aims towards POSIX and Single UNIX Specification compliance.
它符合POSIX和單一UNIX規(guī)格條款。
It has all the features you would expect in a modern fully-fledged Unix,
它擁有你所期望的完全成熟的Unix特性,
including true multitasking, virtual memory, shared libraries, demand
包括真正的多重任務(wù)處理,虛擬內(nèi)存,共享庫,按需加載
loading, shared copy-on-write executables, proper memory management,
共享的寫時拷貝可執(zhí)行文件,適當(dāng)?shù)膬?nèi)存管理,
and multistack networking including IPv4 and IPv6.
和模塊化?網(wǎng)絡(luò)協(xié)議包括IPv4和IPv6。

It is distributed under the GNU General Public License - see the
它在GNU通用公共協(xié)議下被發(fā)行——查看附隨的
accompanying COPYING file for more details.
副本文件可以獲得更多的信息。

ON WHAT HARDWARE DOES IT RUN?
在什么硬件上運行它?

Although originally developed first for 32-bit x86-based PCs (386 or higher),
盡管它最初被開發(fā)的第一個版本是在32位的x86架構(gòu)的PC機上(386或者更高),
today Linux also runs on (at least) the Compaq Alpha AXP, Sun SPARC and
但linux如今也能運行在(至少)Compaq Alpha AXP, Sun SPARC和
UltraSPARC, Motorola 68000, PowerPC, PowerPC64, ARM, Hitachi SuperH, Cell,
UltraSPARC, Motorola 68000, PowerPC, PowerPC64, ARM, Hitachi SuperH, Cell,
IBM S/390, MIPS, HP PA-RISC, Intel IA-64, DEC VAX, AMD x86-64, AXIS CRIS,
IBM S/390, MIPS, HP PA-RISC, Intel IA-64, DEC VAX, AMD x86-64, AXIS CRIS,
Xtensa, AVR32 and Renesas M32R architectures.
Xtensa, AVR32和 Renesas M32R架構(gòu)的機器上。

Linux is easily portable to most general-purpose 32- or 64-bit architectures
Linux是簡單便攜的,對于大多數(shù)目的,應(yīng)用32位或64位在架構(gòu)的機器上
as long as they have a paged memory management unit (PMMU) and a port of the
只要它們有一片內(nèi)存管理單元和一個GNU C編譯器(gcc)端口。
GNU C compiler (gcc) (part of The GNU Compiler Collection, GCC). Linux has

also been ported to a number of architectures without a PMMU, although
Linux也可以移植到若干個沒有PMMU的架構(gòu)上,盡管
functionality is then obviously somewhat limited.
功能這樣的架構(gòu)在功能上會有一些限制。
Linux has also been ported to itself. You can now run the kernel as a
Linux也可以自我移植。你可以以現(xiàn)在運行的內(nèi)核作為一個
userspace application - this is called UserMode Linux (UML).
用戶空間應(yīng)用——這叫做用戶模式Linux。

論壇徽章:
0
2 [報告]
發(fā)表于 2012-02-14 12:35 |只看該作者
DOCUMENTATION:
文檔資料:

- There is a lot of documentation available both in electronic form on
這里有很多可用的資料文件既有電子版的也有
the Internet and in books, both Linux-specific and pertaining to
在書上的,既有Linux特性的,也有關(guān)于
general UNIX questions. I'd recommend looking into the documentation
一般的UNIX問題。我推薦在任何LDP(Linux 文檔資料工程)
subdirectories on any Linux FTP site for the LDP (Linux Documentation
的Linux FTP站點文檔資料的子目錄查找需要的書籍。
Project) books. This README is not meant to be documentation on the
這個README(讀我)并不是系統(tǒng)的文檔。
system: there are much better sources available.
網(wǎng)站上會有更好地資源。

- There are various README files in the Documentation/ subdirectory:
在Documentation(文檔)目錄的子目錄中有各種README(讀我)文件
these typically contain kernel-specific installation notes for some
這些代表性地包含了內(nèi)核特性,作為例子的一些驅(qū)動安裝說明。
drivers for example. See Documentation/00-INDEX for a list of what
看Documentation目錄中的00-INDEX來查看包含了各個文件的列表。
is contained in each file. Please read the Changes file, as it
請讀更改日志,
contains information about the problems, which may result by upgrading
它包含了你升級內(nèi)核后可能產(chǎn)生的問題。
your kernel.

- The Documentation/DocBook/ subdirectory contains several guides for
Documentation目錄下的DocBook子目錄包含很多內(nèi)核開發(fā)者和使用者的向?qū)А?br /> kernel developers and users. These guides can be rendered in a
這些向?qū)П粚懗珊芏?br /> number of formats: PostScript (.ps), PDF, HTML, & man-pages, among others.
格式:PostScript (.ps), PDF, HTML, & man-pages(man手冊頁)的其中
After installation, "make psdocs", "make pdfdocs", "make htmldocs",
安裝文檔后,可以通過"make psdocs", "make pdfdocs", "make htmldocs"
or "make mandocs" will render the documentation in the requested format.
"make mandocs"命令來轉(zhuǎn)換成你想要的格式的文檔。

INSTALLING the kernel source:
安裝內(nèi)核源碼:

- If you install the full sources, put the kernel tarball in a
如果你安裝完整的源碼,將內(nèi)核的tarball放置到一個
directory where you have permissions (eg. your home directory) and
你擁有權(quán)限的目錄中(例如,你的home目錄)然后
unpack it:
加壓它:

gzip -cd linux-2.6.XX.tar.gz | tar xvf -

or

bzip2 -dc linux-2.6.XX.tar.bz2 | tar xvf -


Replace "XX" with the version number of the latest kernel.
替換“XX”為實際的版本號。(不一定是最新的)

Do NOT use the /usr/src/linux area! This area has a (usually
不要使用/usr/src/linux區(qū)域!該區(qū)域(不完全)
incomplete) set of kernel headers that are used by the library header
被設(shè)置成放置用作庫頭文件的內(nèi)核頭。
files. They should match the library, and not get messed up by
他們應(yīng)當(dāng)與庫匹配,并且無論發(fā)生什么樣巧合都不應(yīng)當(dāng)使磁盤使用情況
whatever the kernel-du-jour happens to be.
發(fā)生混亂。

- You can also upgrade between 2.6.xx releases by patching. Patches are
你也可以通過補丁來升級2.6.xx的版本。補丁
distributed in the traditional gzip and the newer bzip2 format. To
被發(fā)行在傳統(tǒng)的gzip或新的bzip2格式壓縮包中。
install by patching, get all the newer patch files, enter the
要使用補丁安裝,先得到所有更新的補丁文件,進(jìn)入
top level directory of the kernel source (linux-2.6.xx) and execute:
內(nèi)核源碼的最上層目錄然后執(zhí)行:

gzip -cd ../patch-2.6.xx.gz | patch -p1

or

bzip2 -dc ../patch-2.6.xx.bz2 | patch -p1

(repeat xx for all versions bigger than the version of your current
(修改XX為大于你當(dāng)前的內(nèi)核
source tree, _in_order_) and you should be ok. You may want to remove
源碼樹,按順序的)這樣就可以了。你可能想移除那些
the backup files (xxx~ or xxx.orig), and make sure that there are no
備份文件,要確保沒有
failed patches (xxx# or xxx.rej). If there are, either you or me has
失敗的補丁。如果有失敗的補丁,無論你還是我都會
made a mistake.
出現(xiàn)錯誤。


Unlike patches for the 2.6.x kernels, patches for the 2.6.x.y kernels
與2.6.x的內(nèi)核補丁不同,2.6.x.y的內(nèi)核
(also known as the -stable kernels) are not incremental but instead apply
(也被認(rèn)為是-stable(穩(wěn)定)內(nèi)核)不是增強型的,但直接替代
directly to the base 2.6.x kernel. Please read
基于2.6.x的內(nèi)核。請閱讀
Documentation/applying-patches.txt for more information.
Documentation目錄下的applying-patches.txt以獲得更多信息。
Alternatively, the script patch-kernel can be used to automate this
或者,使用內(nèi)核補丁腳本,它被用來自動完成這個
process. It determines the current kernel version and applies any
過程。它確定當(dāng)前的內(nèi)核版本然后應(yīng)用
patches found.
找到的補丁。

linux/scripts/patch-kernel linux

The first argument in the command above is the location of the
上面的命令中的第一個參數(shù)內(nèi)核源碼的位置。
kernel source. Patches are applied from the current directory, but
補丁被應(yīng)用在當(dāng)前的路徑,但是
an alternative directory can be specified as the second argument.
也可以使用第二個參數(shù)指定替代路徑。
- If you are upgrading between releases using the stable series patches
如果你使用補丁從一個穩(wěn)定版本升級到兩一個穩(wěn)定版
(for example, patch-2.6.xx.y), note that these "dot-releases" are
(例如,patch-2.6.xx.y),注意那些“圓點-release”
not incremental and must be applied to the 2.6.xx base tree. For
不是增強型的,并且必須被應(yīng)用在2.6.xx基礎(chǔ)樹上。
example, if your base kernel is 2.6.12 and you want to apply the
例如,如果你的內(nèi)核是2.6.12,并你想應(yīng)用
2.6.12.3 patch, you do not and indeed must not first apply the
2.6.12.3的補丁,你不必應(yīng)用
2.6.12.1 and 2.6.12.2 patches. Similarly, if you are running kernel
2.6.12.1和2.6.12.2的補丁。類似地,如果你運行的內(nèi)核是
version 2.6.12.2 and want to jump to 2.6.12.3, you must first
版本是2.6.12.2并想要升級到2.6.12.3,你必須先
reverse the 2.6.12.2 patch (that is, patch -R) _before_ applying
還原2.6.12.2補。ㄊ褂胮atch -R),然后再應(yīng)用
the 2.6.12.3 patch.
2.6.12.3補丁。
You can read more on this in Documentation/applying-patches.txt
你可以在Documentation目錄的applying-patches.txt上閱讀更多信息。
- Make sure you have no stale .o files and dependencies lying around:
確定你沒有陳舊的.o文件和他們的依賴文件。

cd linux
make mrproper

You should now have the sources correctly installed.
你應(yīng)該已經(jīng)正確地安裝了源碼。

SOFTWARE REQUIREMENTS
軟件要求

Compiling and running the 2.6.xx kernels requires up-to-date
編譯和運行2.6.xx內(nèi)核要求
versions of various software packages. Consult
各種軟件的最新版本。查閱
Documentation/Changes for the minimum version numbers required
Documentation目錄中的Changes可以獲得要求的最小版本
and how to get updates for these packages. Beware that using
和怎么樣去獲得他們的升級版本。當(dāng)心使用
excessively old versions of these packages can cause indirect
過低版本的軟件包,否則會引發(fā)非常難以捕捉的間接
errors that are very difficult to track down, so don't assume that
錯誤,所以不要假設(shè)
you can just update packages when obvious problems arise during
在編譯和操作遇到明顯錯誤引發(fā)時僅僅升級那些包就能夠解決問題。
build or operation.

BUILD directory for the kernel:
為內(nèi)核建立目錄:

When compiling the kernel all output files will per default be
編譯內(nèi)核的所有輸出文件會默認(rèn)地
stored together with the kernel source code.
和內(nèi)核源碼存儲在一起。
Using the option "make O=output/dir" allow you to specify an alternate
使用選項“make O=output/dir”允許你去指定一個替代路徑
place for the output files (including .config).
去存放輸出文件(包括.config)。
Example:
例如:
kernel source code: /usr/src/linux-2.6.N
內(nèi)核源碼: /usr/src/linux-2.6.N
build directory: /home/name/build/kernel
構(gòu)建路徑: /home/name/build/kernel

To configure and build the kernel use:
配置和構(gòu)建內(nèi)核使用命令:
cd /usr/src/linux-2.6.N
make O=/home/name/build/kernel menuconfig
make O=/home/name/build/kernel
sudo make O=/home/name/build/kernel modules_install install

Please note: If the 'O=output/dir' option is used then it must be
請注意:如果“O=output/dir”選項被使用,那么就必須
used for all invocations of make.
在所有的編譯裝置時使用該選項。

論壇徽章:
0
3 [報告]
發(fā)表于 2012-02-14 12:35 |只看該作者
CONFIGURING the kernel:
配置內(nèi)核:

Do not skip this step even if you are only upgrading one minor
不要跳過這一步甚至你只是升級一個次級版本。
version. New configuration options are added in each release, and
版本。新的配置選項被添加,
odd problems will turn up if the configuration files are not set up
如果配置文件沒有預(yù)期得配置好,臨時問題就會出現(xiàn)。
as expected. If you want to carry your existing configuration to a
如果你想使用一個存在的配置文件使得
new version with minimal work, use "make oldconfig", which will
新版本內(nèi)核能最低限度工作,可以使用“make oldconfig”,這樣
only ask you for the answers to new questions.
只會詢問你新選項的答案。

- Alternate configuration commands are:
其他的配置命令是:

"make config" Plain text interface.
純文版界面。
"make menuconfig" Text based color menus, radiolists & dialogs.
文本底色菜單,單選列表和對話框。
"make xconfig" X windows (Qt) based configuration tool.
x窗口(Qt)的配置工具。
"make gconfig" X windows (Gtk) based configuration tool.
x窗口(Gtk)的配置工具。
"make oldconfig" Default all questions based on the contents of
默認(rèn)所有現(xiàn)存的.config中的選項,
your existing ./.config file and asking about
只詢問新的選項。
new config symbols.
"make silentoldconfig"
Like above, but avoids cluttering the screen
跟上一個一樣,但是避免了已經(jīng)選好選項
with questions already answered.
使屏幕布局有些凌亂。
Additionally updates the dependencies.
另外升級了依賴性。
"make defconfig" Create a ./.config file by using the default
創(chuàng)建了.config文件,它使用arch/$ARCH/defconfig
symbol values from either arch/$ARCH/defconfig
或arch/$ARCH/configs/${PLATFORM}_defconfig
or arch/$ARCH/configs/${PLATFORM}_defconfig,
depending on the architecture.
的值,這取決于系統(tǒng)架構(gòu)。
"make ${PLATFORM}_defconfig"
Create a ./.config file by using the default
創(chuàng)建一個.config文件,它使用
symbol values from
arch/$ARCH/configs/${PLATFORM}_defconfig的值
arch/$ARCH/configs/${PLATFORM}_defconfig.

Use "make help" to get a list of all available
使用“make help”可以得到所有平臺的值的列表,
platforms of your architecture.
取決于你的機器架構(gòu)。
"make allyesconfig"
Create a ./.config file by setting symbol
創(chuàng)建一個.config文件,盡可能的將
values to 'y' as much as possible.
選項的值設(shè)置為“y”。
"make allmodconfig"
Create a ./.config file by setting symbol
創(chuàng)建一個.config文件,盡可能的將
values to 'm' as much as possible.
選項的值設(shè)置為“m”
"make allnoconfig" Create a ./.config file by setting symbol
創(chuàng)建一個.config文件,盡可能的將
values to 'n' as much as possible.
選項的值設(shè)置為“n”
"make randconfig" Create a ./.config file by setting symbol
創(chuàng)建一個.config文件,將
values to random values.
選項的值隨機設(shè)置。

You can find more information on using the Linux kernel config tools
你可以在Documentation/kbuild/kconfig.txt上找到更多關(guān)于使用Linux內(nèi)核配置工具的信息
in Documentation/kbuild/kconfig.txt.

NOTES on "make config":
“make config”的說明:
- having unnecessary drivers will make the kernel bigger, and can
設(shè)置上沒有用的驅(qū)動將會導(dǎo)致內(nèi)核變得龐大,
under some circumstances lead to problems: probing for a
并會在某些情況下導(dǎo)致問題:搜索一個
nonexistent controller card may confuse your other controllers
不存在的控制器卡可能會使其他的控制器卡混亂(而不能正確驅(qū)動)。
- compiling the kernel with "Processor type" set higher than 386
在編譯內(nèi)核時,“Processor type”(處理器類型)設(shè)置大于386的話
will result in a kernel that does NOT work on a 386. The
可能造成的結(jié)果是不能在386機器上工作。
kernel will detect this on bootup, and give up.
內(nèi)核會在啟動的時候判斷處理器類型,如果不符合,會放棄啟動。
- A kernel with math-emulation compiled in will still use the
一個將math-emulation編譯進(jìn)去的內(nèi)核將仍會使用協(xié)處理器,如果
coprocessor if one is present: the math emulation will just
存在協(xié)處理器的話:數(shù)字仿真器將
never get used in that case. The kernel will be slightly larger,
從不被使用到。而內(nèi)核會略微變大,
but will work on different machines regardless of whether they
但仍可以在不同的機器上工作,不管它們是否
have a math coprocessor or not.
有數(shù)字協(xié)處理器。
- the "kernel hacking" configuration details usually result in a
“kernel hacking”配置的選項很多的話,通常會致使
bigger or slower kernel (or both), and can even make the kernel
內(nèi)核變大或變慢(或者又大又慢),甚至?xí)箖?nèi)核
less stable by configuring some routines to actively try to
不穩(wěn)定。通常一些做法可以積極地試圖
break bad code to find kernel problems (kmalloc()). Thus you
打破錯誤的代碼從而找到內(nèi)核問題。因此你
should probably answer 'n' to the questions for
或許應(yīng)當(dāng)回答“n”來實現(xiàn)不編譯
"development", "experimental", or "debugging" features.
"development"(開發(fā)), "experimental"(試驗),或"debugging"(調(diào)試)的特性

COMPILING the kernel:
編譯內(nèi)核

- Make sure you have at least gcc 3.2 available.
確定你有最新可用的gcc
For more information, refer to Documentation/Changes.
想知道更多信息,可以參考Documentation/Changes。
Please note that you can still run a.out user programs with this kernel.
請注意你仍然可以通過這個內(nèi)核運行a.out的用戶程序

- Do a "make" to create a compressed kernel image. It is also
使用“make”去創(chuàng)建一個壓縮的內(nèi)核鏡像。
possible to do "make install" if you have lilo installed to suit the
如果你安裝了lilo并適合內(nèi)核的makefile,也可以使用“make install”命令
kernel makefiles, but you may want to check your particular lilo setup first.
但是,你應(yīng)該先檢查你自己的lilo配置。
To do the actual install you have to be root, but none of the normal
要實際安裝內(nèi)核,你必須是root用戶,除此以外沒有
build should require that. Don't take the name of root in vain.
別的要求。不要使root用戶是空的。
- If you configured any of the parts of the kernel as `modules', you
如果你將內(nèi)核的任何一個部分作為“modules”(模塊)編譯,
will also have to do "make modules_install".
你還必須使用“make modules_install”命令。

- Verbose kernel compile/build output:
詳細(xì)的內(nèi)核編譯輸出:

Normally the kernel build system runs in a fairly quiet mode (but not
通常內(nèi)核編譯選擇安靜模式進(jìn)行運行(但不是完全的安靜模式)。
totally silent). However, sometimes you or other kernel developers need
然而,有些適合你或其他的內(nèi)核開發(fā)人員需要
to see compile, link, or other commands exactly as they are executed.
看到編譯、鏈接或其他命令精確的信息。
For this, use "verbose" build mode. This is done by inserting
因此,使用“verbose”編譯模塊。這樣做的方法是插入
"V=1" in the "make" command. E.g.:
“V=1”到“make”命令中。如:

make V=1 all

To have the build system also tell the reason for the rebuild of each
編譯程序可以使用“V=2”參數(shù)來重建內(nèi)核。
target, use "V=2". The default is "V=0".
默認(rèn)的參數(shù)是“V=0”

- Keep a backup kernel handy in case something goes wrong. This is
保存一個內(nèi)核副本,以防萬一出現(xiàn)錯誤。對于開發(fā)版本來說,這是
especially true for the development releases, since each new release
非常正確的做法。當(dāng)新的沒有測試過的版本釋放出以后就應(yīng)該這樣做。
contains new code which has not been debugged. Make sure you keep a
確保你有一個
backup of the modules corresponding to that kernel, as well. If you
備份好的與內(nèi)核一直的模塊副本。如果你
are installing a new kernel with the same version number as your
安裝一個與你當(dāng)前版本相同的新的內(nèi)核作為你的工作內(nèi)核,
working kernel, make a backup of your modules directory before you
首先要在使用“make modules_instal”命令前備份模塊目錄。
do a "make modules_install".

Alternatively, before compiling, use the kernel config option
另外,在編譯內(nèi)核的時候,可以使用內(nèi)核配置選項
"LOCALVERSION" to append a unique suffix to the regular kernel version.
“LOCALVERSION”來添加一個符合內(nèi)核版本號的獨有的后綴。
LOCALVERSION can be set in the "General Setup" menu.
LOCALVERSION 可以在“General Setup”菜單中設(shè)置。

- In order to boot your new kernel, you'll need to copy the kernel
為了引導(dǎo)你的新內(nèi)核,你需要復(fù)制內(nèi)核
image (e.g. .../linux/arch/i386/boot/bzImage after compilation)
鏡像(如:.../linux/arch/i386/boot/bzImage 編譯后的文件)
to the place where your regular bootable kernel is found.
替換你平時引導(dǎo)的內(nèi)核。

- Booting a kernel directly from a floppy without the assistance of a
直接從軟驅(qū)引導(dǎo)內(nèi)核而不借助諸如LILO這樣的輔助工具
bootloader such as LILO, is no longer supported.
已經(jīng)不再被支持了。
If you boot Linux from the hard drive, chances are you use LILO which
如果你引導(dǎo)Linux是從硬盤驅(qū)動器上,有可能你使用的LILO
uses the kernel image as specified in the file /etc/lilo.conf. The
的/etc/lilo.conf作為配置文件來引導(dǎo)內(nèi)核。
kernel image file is usually /vmlinuz, /boot/vmlinuz, /bzImage or
內(nèi)核鏡像文件通常是 /vmlinuz、/boot/vmlinuz、/bzImage或者
/boot/bzImage. To use the new kernel, save a copy of the old image
/boot/bzImage。要使用新的內(nèi)核前,先復(fù)制一個舊內(nèi)核鏡像的副本
and copy the new image over the old one. Then, you MUST RERUN LILO
然后復(fù)制新的內(nèi)核鏡像來覆蓋舊的。然后,你需要重新運行LILO
to update the loading map!! If you don't, you won't be able to boot
來更新引導(dǎo)模塊。∪绻悴贿@樣做,就不能使用新的內(nèi)核引導(dǎo)系統(tǒng)。
the new kernel image.


Reinstalling LILO is usually a matter of running /sbin/lilo.
重新安裝LILO通常運行/sbin/lilo命令。
You may wish to edit /etc/lilo.conf to specify an entry for your
你可能希望去編輯/etc/lilo.conf來指定進(jìn)入你的
old kernel image (say, /vmlinux.old) in case the new one does not
舊的內(nèi)核鏡像(如:/vmlinux.old)這種情況新的內(nèi)核則不會
work. See the LILO docs for more information.
工作。查看LILO的文檔可以獲得更多的信息。


After reinstalling LILO, you should be all set. Shutdown the system,
在重新安裝LILO后,你應(yīng)該將其設(shè)置好。關(guān)閉系統(tǒng),
reboot, and enjoy!
重啟,祝你愉快!

If you ever need to change the default root device, video mode,
如果你曾需要去改變默認(rèn)的root裝置、視頻模式、
ramdisk size, etc. in the kernel image, use the 'rdev' program (or
虛擬內(nèi)存大小等等,在內(nèi)核鏡像中,使用“rdev”指令(或
alternatively the LILO boot options when appropriate). No need to
在適當(dāng)?shù)臅r候用LILO引導(dǎo)選項)。不需要
recompile the kernel to change these parameters.
重新編譯內(nèi)核來改變這些參數(shù)。

- Reboot with the new kernel and enjoy.
重新引導(dǎo)新的內(nèi)核愉快。

IF SOMETHING GOES WRONG:
如果出現(xiàn)了一些錯誤:

- If you have problems that seem to be due to kernel bugs, please check
如果你有一些看起來像是由于內(nèi)核bug的錯誤,請檢查
the file MAINTAINERS to see if there is a particular person associated
MAINTAINERS文件,你出現(xiàn)的錯誤是否是與個人用戶相關(guān)聯(lián)的
with the part of the kernel that you are having trouble with. If there
如果
isn't anyone listed there, then the second best thing is to mail
沒有出現(xiàn)任何用戶的信息,那么最好把錯誤用
them to me (torvalds@linux-foundation.org), and possibly to any other
郵件發(fā)給我(torvalds@linux-foundation.org),可能會有
relevant mailing-list or to the newsgroup.
相關(guān)的郵件列表或新聞組。

- In all bug-reports, *please* tell what kernel you are talking about,
在bug報告中,請說明
how to duplicate the problem, and what your setup is (use your common
怎么重現(xiàn)這個問題,和你的設(shè)置(用你的通常的
sense). If the problem is new, tell me so, and if the problem is
做法)。如果該問題是新的,請告訴我,如果這該問題是舊的,
old, please try to tell me when you first noticed it.
請試圖告訴我你什么時候發(fā)覺的。
- If the bug results in a message like
如果這個bug結(jié)果信息如下

unable to handle kernel paging request at address C0000010
Oops: 0002
EIP: 0010:XXXXXXXX
eax: xxxxxxxx ebx: xxxxxxxx ecx: xxxxxxxx edx: xxxxxxxx
esi: xxxxxxxx edi: xxxxxxxx ebp: xxxxxxxx
ds: xxxx es: xxxx fs: xxxx gs: xxxx
Pid: xx, process nr: xx
xx xx xx xx xx xx xx xx xx xx

or similar kernel debugging information on your screen or in your
或者相似的內(nèi)核調(diào)試信息出現(xiàn)在你的屏幕或系統(tǒng)日志上,
system log, please duplicate it *exactly*. The dump may look
請準(zhǔn)確的復(fù)制。
incomprehensible to you, but it does contain information that may
可能它看起來像難以理解的垃圾,但它包含的信息或許可以
help debugging the problem. The text above the dump is also
幫助調(diào)試問題。以上的垃圾信息也是
important: it tells something about why the kernel dumped code (in
重要的:它告訴了一些為什么內(nèi)核出現(xiàn)錯誤代碼的信息(在
the above example it's due to a bad kernel pointer). More information
上面的例子中,錯誤是由于一個錯誤的內(nèi)核指針)。更多信息
on making sense of the dump is in Documentation/oops-tracing.txt
可以在Documentation/oops-tracing.txt上搞清楚。

- If you compiled the kernel with CONFIG_KALLSYMS you can send the dump
如果你將CONFIG_KALLSYMS編譯進(jìn)內(nèi)核,你可以原封不動地發(fā)送那些錯誤代碼,
as is, otherwise you will have to use the "ksymoops" program to make
否則你就不得不使用“ksymoops”指令去搞清楚
sense of the dump (but compiling with CONFIG_KALLSYMS is usually preferred).
那些錯誤代碼(但是將CONFIG_KALLSYMS編譯進(jìn)內(nèi)核通常是默認(rèn)的)
This utility can be downloaded from
這個實用工具可以從以下地址下載到。
ftp://ftp.<country>.kernel.org/pub/linux/utils/kernel/ksymoops/ .
Alternately you can do the dump lookup by hand:
另外,你也可以手動查找他們。

- In debugging dumps like the above, it helps enormously if you can
調(diào)試錯誤就是如上所述的,它極大地幫助你去
look up what the EIP value means. The hex value as such doesn't help
超找EIP的值的意義。十六進(jìn)制的值本身不能幫助我或
me or anybody else very much: it will depend on your particular
別人:它取決于你所定制的
kernel setup. What you should do is take the hex value from the EIP
內(nèi)核配置。你應(yīng)該做的是將EIP上的十六進(jìn)制值
line (ignore the "0010:"), and look it up in the kernel namelist to
(忽略“0010:”)在內(nèi)核名稱表上查找
see which kernel function contains the offending address.
內(nèi)核函數(shù)包含的地址。
To find out the kernel function name, you'll need to find the system
找出內(nèi)核函數(shù)的名稱,然后找到系統(tǒng)中與錯誤現(xiàn)象相符合的
binary associated with the kernel that exhibited the symptom. This is
二進(jìn)制文件。該文件就是
the file 'linux/vmlinux'. To extract the namelist and match it against
/linux/vmlinux。提取名稱列表然后匹配
the EIP from the kernel crash, do:
內(nèi)核崩潰的值:

nm vmlinux | sort | less

This will give you a list of kernel addresses sorted in ascending
這個會顯示一個在一個上升序列中存儲的內(nèi)核地址列表,
order, from which it is simple to find the function that contains the
從這個列表中可以容易地找到包含錯誤信息地址的功能。
offending address. Note that the address given by the kernel
注意,從內(nèi)核調(diào)試信息得到的地址
debugging messages will not necessarily match exactly with the
未必一定能準(zhǔn)確地與
function addresses (in fact, that is very unlikely), so you can't
功能地址相符(事實上,那非常不可能),所以你不能
just 'grep' the list: the list will, however, give you the starting
僅僅grep那些列表:然而,如果給你一個內(nèi)核
point of each kernel function, so by looking for the function that
指針的開頭,那么,通過查找那些比你要找的
has a starting address lower than the one you are searching for but
那個低的開頭地址的功能,
is followed by a function with a higher address you will find the one
你將會找到你
you want. In fact, it may be a good idea to include a bit of
想要的那個。事實上,它包含了一些
"context" in your problem report, giving a few lines around the
上下文在你的問題報告上,給出一些你感興趣的那些行的上下文。
interesting one.

If you for some reason cannot do the above (you have a pre-compiled
如果你的一些結(jié)果不能通過上面的方法找到
kernel image or similar), telling me as much about your setup as
盡可能告訴我的你配置選項是
possible will help. Please read the REPORTING-BUGS document for details.
有幫助的。請閱讀REPORTING-BUGS文檔獲得更多詳細(xì)信息。

- Alternately, you can use gdb on a running kernel. (read-only; i.e. you
另外,你可以在一個運行中的內(nèi)核使用gdb。(只讀;
cannot change values or set break points.) To do this, first compile the
你不能改變值或設(shè)置斷點。)要這樣做,首先使用-g編譯內(nèi)核
kernel with -g; edit arch/i386/Makefile appropriately, then do a "make
適當(dāng)?shù)鼐庉媋rch/i386/Makefile,然后“make clean”
clean". You'll also need to enable CONFIG_PROC_FS (via "make config").
你也將需要編譯CONFIG_PROC_FS,通過“make config”命令。

After you've rebooted with the new kernel, do "gdb vmlinux /proc/kcore".
在重啟新內(nèi)核后,執(zhí)行“ddb vmlinux /proc/kcore”.
You can now use all the usual gdb commands. The command to look up the
現(xiàn)在你可以使用所有的通用gdb命令。這些命令可以找到
point where your system crashed is "l *0xXXXXXXXX". (Replace the XXXes
你的系統(tǒng)出現(xiàn)崩潰的地方。(替換XXX成
with the EIP value.)
EIP中的值)。

gdb'ing a non-running kernel currently fails because gdb (wrongly)
disregards the starting offset for which the kernel is compiled.

論壇徽章:
0
4 [報告]
發(fā)表于 2012-02-14 12:37 |只看該作者
以上部分如有錯誤,請大家指正。
由于對個別內(nèi)容理解不深,以上部分沒有翻譯的地方,望高手指點。{:3_186:}

論壇徽章:
0
5 [報告]
發(fā)表于 2012-02-14 14:25 |只看該作者
這個不太懂啊,,
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP