最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

LINUX内核升级指导

来源:动视网 责编:小OO 时间:2025-09-24 00:03:17
文档

LINUX内核升级指导

LINUX内核升级指导——薛老师本例讲解如何在vm虚拟机环境下,从redhat9.02.4内核版本升级到2.6.18版本,因内核跨度较大,且虚拟机默认设置等问题,期间有些问题需要特别注意,这里整理各方面资料,以对实际操作做以指导。注意:本例所有安装包都可以在http://www.filewatcher.com/直接搜索得到,文档中只给包名不再给链接,特别提示,仔细,认真,再仔细再认真,任何小错误都可能会造成失败。一、准备工作启动Linux系统,并用根用户登录,进入终端模式下。1、查看Linux
推荐度:
导读LINUX内核升级指导——薛老师本例讲解如何在vm虚拟机环境下,从redhat9.02.4内核版本升级到2.6.18版本,因内核跨度较大,且虚拟机默认设置等问题,期间有些问题需要特别注意,这里整理各方面资料,以对实际操作做以指导。注意:本例所有安装包都可以在http://www.filewatcher.com/直接搜索得到,文档中只给包名不再给链接,特别提示,仔细,认真,再仔细再认真,任何小错误都可能会造成失败。一、准备工作启动Linux系统,并用根用户登录,进入终端模式下。1、查看Linux
LINUX内核升级指导

——薛老师

本例讲解如何在vm虚拟机环境下,从redhat 9.0 2.4内核版本升级到2.6.18版本,因内核跨度较大,且虚拟机默认设置等问题,期间有些问题需要特别注意,这里整理各方面资料,以对实际操作做以指导。

注意:本例所有安装包都可以在http://www.filewatcher.com/直接搜索得到,文档中只给包名不再给链接,特别提示,仔细,认真,再仔细再认真,任何小错误都可能会造成失败。

一、准备工作

启动Linux系统,并用根用户登录,进入终端模式下。

1、查看Linux内核版本

# uname –a

目前的版本显示显示的是2.4.20,

那就进入下一步 

2、下载2.6内核源码 linux-2.6.18.tar.bz2

3、下载内核升级工具(因内核相差较大,很多软件包需要升级,否则新内核将有很多基本功能不能使用)

(1)下载module-init-tools-3.2.tar.bz2

(2)下载mkinitrd-4.1.18-2.i386.rpm

(3)下载lvm2-2.00.25-1.01.i386.rpm

(4)下载device-mapper-1.00.19-2.i386.rpm

(5)下载binutils-2.17.tar.gz(此项忘了是否是必须,自己验证下吧)

        安装时依次执行如下命令:

tar zxf binutils-2.17.tar.gz

cd binutils-2.17

./configure

Make

Make install

二、配置工作

4、为了简化操作,将下载好的内核和4个升级工具都拷贝到/usr/src文件夹下。

5、拷贝完毕,开始解压新内核,具体操作请依次执行以下命令: 

# tar jvxf linux-2.6.18.tar.bz2 (解压新内核)

6、安装module-init-tools工具包

在/usr/src目录下,依次执行下列命令:

# tar jvxf module-init-tools-3.2.tar.bz2 (解压module-init-tools)

# cd module-init-tools-3.2 (由/usr/src目录进入module-init-tools目录下)

#./configure --prefix=/

# make moveold

# make all install

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

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

7、安装另外三个升级工具

回到/usr/src目录下,依次执行下列3个命令来安装另外三个升级工具:

# rpm -ivh --nodeps mkinitrd-4.1.18-2.i386.rpm (注意,这里一定要加入--nodeps参数,下同)

# rpm -ivh --nodeps lvm2-2.00.25-1.01.i386.rpm

# rpm -ivh --nodeps device-mapper-1.00.19-2.i386.rpm

如果不更新以上几个升级包,在后面编译内核时会提示以下错误:

(注意:如果可以上网可以用Uvh参数的升级方式安装rpm包)

mkinitrd failed

make[1]: *** [install] Error 1

make: *** [install] Error 2

8、配置内核选项。

# cd linux-2.6.18 (进入到/usr/src/linux-2.6.18目录下,然后在文档Documentation/Changes中给出了欲成功地升级到kernel-2.6.x所需的最小系统软件要求)

# make mrproper (该命令可确保源代码目录下没有不正确的.o文件,非必须)

# make menuconfig (文本窗口配置内核各选项)

运行这个命令有时会出现一个图形界面,列出了所有的内核配置选项,有的选项下还有子选项,你可以用方向键来选择,用Y键来确定。经过我多次试验,大多数选项默认就行,以下几个选项必须选择(请认真核对下面每一个选项,否则编译很有可能前功尽弃,确认下列<*>标记的选项对应被选择为内核而不是内核模块,其余默认即可):

(1)Loadable Module support选项中,一定要选上“Module unloading”和“Automatic kernel module loading”这两项;

(2)Device Drivers--->Block Devices中一定要选上Loopback device support;

Device Drivers--->Multi-device support(RAID and LVM)”处要选上“device mapper support”;

Device Drivers--->Graphics support”, 一定要选上” Support for frame buffer devices”;

Device Drivers --->USB support --->选上”USB Mass Storage support”(如果是在实环境中,想要更多USB支持,就全选吧。我的是在虚拟机中,用不着了)

Device Drivers --->; Network device support --->;Ethernet (10 or 100Mbit) --->; <*>; AMD PCnet32 PCI support

(3) File system--->(以下9个选项是关于ext2和ext3文件系统配置,全部选上)

Second extended fs support

Ext2 extended attributes

Ext2 POSIX Access Control Lists

Ext2 Security Labels

Ext3 journalling file system support

Ext3 extended attributes

Ext3 POSIX Access Control Lists

Ext3 Security Labels

JBB (ext3) debugging support

File system--->DOS/FAT/NT Filesystems --->选上“ NTFS file system support”(新版本获得对ntfs分区的支持,和NT共存时非常有用,当然如果你只是虚拟机玩玩的话,可以忽略本项);

File Systems --> Miscellaneous filesystems ---><*> Compressed ROM file system support (cramfs)(光驱的支持)

ext2和ext3文件系统配置很重要,也是必需的,如果对Ext3、Ext2文件的支持直接编译进内核,在你reboot时机器就会当掉,出现如下错误信息:

kernel panic : no init found ,try passing init = option to kernel.....

或者是:

VFS:Cannot open root device "hdxy" or unknow-block(0,0)

Please append a correct "root=" boot option

kernel panic:VFS:Unable to mount root fs on unknown-block(0,0)

或者是:

mount: error 19 mounting ext3

pivotroot: pivot_root(/sysroot,/sysroot/initrd) failed: 2

umount /initrd/proc fail: 2

Freeing unused kernel memory: 244k freed

Kernel panic – not syncing: No init found. Try passing init = option to kernel

(4)如果你在vmware下重新编译内核,硬盘采用的是默认的scsi的,以下选项必选,非常注意:

Device Drivers --->SCSI device support ---><*>SCSI disk support

Device Drivers--->SCSI device support--->SCSI low-level drivers--->;

<*>; BusLogic SCSI support(虚拟机为默认的scsi硬盘时,改为M从新编译内核模块,以生成的scis驱动程序)

三、编译工作

9、编译步骤

在/usr/src/linux-2.6.18目录下,执行以下命令即可编译。

# make dep (建立编译时所需的从属文件。注意:如果内核从未编译过,此步可跳过)

# make clean (清除内核编译的目标文件)

# make bzImage (注意大小写I。这一步才真正编译内核)

内核编译成功后,会在/usr/src/linux/arch/i386/boot目录中生成一个新内核的映像文件bzImage。如果用make zImage编译,内核很大的话,系统会提示你使用make bzImage命令来编译,所以直接用make bzImage来编译。

# make modules (编译可加载模块,选择的外部模块越多时间越长,建议刚开始的时候不要删除默认模块,先熟悉一下内核后再说)

# make modules_install (安装可加载模块)

安装成功后,系统会在/lib/modules目录下生成一个2.6.18子目录,里面存放着新内核的所有可加载模块。

# make install (安装新内核)

注意:make install的时候可能会出现如下错误信息:

No module BusLogic found for kernel 2.4.12

mkinitrd failed

此问题一般只出现在SCSI硬盘+VMWARE+REDHAT架构中,因为BusLogic被编译进了内核而不是一个module的形式(2.4内核的Buslogic模块即使静态编译进内核也不行)。解决方式是直接将可以BusLogic.o文件复制过去:

# cp /usr/src/linux-2.6.18/drivers/scsi/BusLogic.o /lib/modules/2.6.18/kernel/drivers/scsi

不过别忘记,复制过后再执行一下make install。

(如果make menuconfig时,把BusLogic模块选成M--Module模式--就不会出现这个提示。)

注意:如果出现no module /bin/true found for kernel 2.6.10系升级包造成,如下解决办法,原理不详,但有效

编辑 /sbin/mkinitrd

for n in $scsimodules; do

# for now allow scsi modules to come from anywhere. There are some

# RAID controllers with drivers in block/

findmodule $n

done

改成

#for n in $scsimodules; do

#findmodule $n

# done

即注释掉程序代码,再次make install 成功

四、启动新内核

10、新内核已经自动拷贝到/boot文件夹下,

        新版本的内核安装已经不需要手动操作。

11、修改Grub启动管理器

# df (查看根目录在那个分区,下一步要用到。注意,这里根分区不时boot的那个50M的分区,而一般是你最大的那个分区,也就是”/”,千万不要搞错哦。我的为 /dev/sda1)

# vi /boot/menu.lst redhat貌似应该编辑这个,如果没有的话,看看grub.conf 内容相同

default=1

timeout=10

splashimage=(hd0,0)/grub/splash.xpm.gz

title Red Hat Linux (2.6.18)

root (hd0,0)

kernel /vmlinuz-2.6.18 ro root= LABEL=/

initrd /initrd-2.6.18.img

做两处修改:

(1) 将default=1改为default=0(下方启动列表的序号,从0开始,不改的话,重启之后默认进入第二项2.4内核)

(2) 将kernel行的“LABEL=/”换成根目录所在的分区,2.6内核在某些平台上不认LABLE标签(上一步查看的就是,我的如下)

default=0

timeout=10

splashimage=(hd0,0)/grub/splash.xpm.gz

title Red Hat Linux (2.6.18)

root (hd0,0)

kernel /vmlinuz-2.6.18 ro root=/dev/sda1

initrd /initrd-2.6.18.img

title Red Hat Linux (2.4.20-8)

root (hd0,0)

kernel /vmlinuz-2.4.20-8 ro root=LABEL=/

initrd /initrd-2.4.20-8.img

12,重启,此时可以通过grub启动列表进入2.4或2.6内核,但是此时的内核缺少很多关键功能。

13.rpm出错,需升级rpm

最简单的做法如下

修改/usr/lib/rpm/macros 

在里面寻找 

代码: 

%__dbi_cdb create cdb mpool mp_mmapsize=16Mb mp_size=1Mb 

修改成 

代码: 

%__dbi_cdb create cdb mpool mp_mmapsize=16Mb mp_size=1Mb private

14. 支持Hotplug

  下列配置使2.6.18内核可以mount光驱等其他设备:首先要在内核配置时配置了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的用户态辅助工具

在VI下使用以下命令将原路径全换成全局变量,注意里面的斜杠不是字符V

:1,$ s/\/proc\/ksyms/\\$KSYMS/g 替换 /etc/rc.sysinit中的字符串

包: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.(参看前面的VI替换命令) 把脚本文件/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 usbhid 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

退出,重启,基本上就可以正常使用2.6.18的内核了,目前未发现有其他问题,有问题的话多数还是发生在内核配置出错,有时间可以详细了解下内核配置的含义。

附录:转载的内核配置说明列表

Linux2.6.x 内核配置说明

 TV card (bt848) mixer support电视卡的,不用选了 

 XpressAudio Sound Blaster emulation不用选择 

 ALi5455 audio support不用选择 

 ForteMedia FM801 driver 不用选择 

 RME Hammerfall (RME96XX) support不用选择 

 AD1980 front/back switch plugin不用选择 

USB support ---> 

<*> Support for Host-side USB这个肯定是要选择的 

[*] USB verbose debug messages USB的详细调试信息,可以选择 

---Miscellaneous USB options 

[*] USB device filesystem这个好象是用U盘必须的 

[*] Enforce USB bandwidth allocation (EXPERIMENTAL) 

[*] Dynamic USB minor allocation (EXPERIMENTAL)以上两项可以不用选择 

---USB Host Controller Drivers

 EHCI HCD (USB 2.0) support有usb2.0就选上把,编译成模块 

[*] Full speed ISO transactions (EXPERIMENTAL)可以不用选择 

[*] Root Hub Transaction Translators (EXPERIMENTAL) HUB不用选择 

 OHCI HCD support必须选择,编译成模块 

 UHCI HCD (most Intel and VIA) support必须选择,编译成模块 

---USB Device Class drivers 

 USB Audio support USB声卡,不用选择 

---USB Bluetooth TTY can only be used with disabled Bluetooth subs 

 USB MIDI support USB MIDI不用选择 

 USB Modem (CDC ACM) support USB猫,不用选择 

 USB Printer support打印机支持不用选择 

 USB Mass Storage support用U盘必须选择 

[*] USB Mass Storage verbose debug 

[*] Datafab Compact Flash Reader support (EXPERIMENTAL) 

[*] Freecom USB/ATAPI Bridge support 

[*] ISD-200 USB/ATA Bridge support 

[*] Microtech/ZiO! CompactFlash/SmartMedia support 

[*] HP CD-Writer 82xx support (EXPERIMENTAL) 

[*] SanDisk SDDR-09 (and other SmartMedia) support (EXPERIMENTAL) 

[*] SanDisk SDDR-55 SmartMedia support (EXPERIMENTAL) 

[*] Lexar Jumpshot Compact Flash Reader (EXPERIMENTAL)以上9项不用选择 

---USB Human Interface Devices (HID) 

<*> USB Human Interface Device (full HID) support里面选择usb鼠标和usb键盘,如果你有一定选上这

个必需选

[*] HID input layer support应该选择

[*] Force feedback support (EXPERIMENTAL)不用选择

[*] PID Devices (Microsoft Sidewinder Force Feedback 2)不用选择

[*] Logitech WingMan *3D support不用选择

[*] ThrustMaster FireStorm Dual Power 2 support (EXPERIMENTAL)不用选择

[*] /dev/hiddev raw HID device support应该选择

如果这里有USB键盘和鼠标选项,一定要选择

 Aiptek 6000U/8000U tablet support不用选择 

 Wacom Intuos/Graphire tablet support不用选择

 KB Gear JamStudio tablet support 

不用选择 

 Griffin PowerMate and Contour Jog support不用选择 

 MicroTouch USB Touchscreen Driver 

触摸屏的,不用选择 

 X-Box gamepad support 

和游戏有关,不用选择 

 ATI USB RF remote control ATI的遥控产品,不用选择 

---USB Imaging devices 

 USB Mustek MDC800 Digital Camera support (EXPERIMENTAL) USB相机,不用选择 

 Microtek X6USB scanner support 

USB扫描仪,不用选择 

 HP53xx USB scanner support (EXPERIMENTAL) USB扫描仪,不用选择 

---USB Multimedia devices USB的多媒体设备,不用选择了 

 DABUSB driver 

 USB 3com HomeConnect (aka vicam) support (EXPERIMENTAL) 

 D-Link USB FM radio support (EXPERIMENTAL) 

 USB IBM (Xirlink) C-it Camera support 

 USB Konica Webcam support 

 USB OV511 Camera support 

 USB SE401 Camera support 

 USB STV680 (Pencam) Camera support 

 USB W996[87]CF JPEG Dual Mode Camera support 

---USB Network adaptors USB网络适配器,不用选择了 

 USB CATC NetMate-based Ethernet device support (EXPERIMENTAL) 

 USB KLSI KL5USB101-based ethernet device support 

 USB Pegasus/Pegasus-II based ethernet device support 

 USB RTL8150 based ethernet device support (EXPERIMENTAL) 

 Multi-purpose USB Networking Framework 

---USB Host-to-Host Cables 

[*] ALi M5632 based 'USB 2.0 Data Link' cables 

[*] AnchorChips 2720 based cables (Xircom PGUNET, ...) 

[*] eTEK based host-to-host cables (Advance, Belkin, ...) 

[*] GeneSys GL620USB-A based cables 

[*] NetChip 1080 based cables (Laplink, ...) 

[*] Prolific PL-2301/2302 based cables 

---Intelligent USB Devices/Gadgets 

[*] Embedded ARM Linux links (iPaq, ...) 

[*] Epson 2888 based firmware (DEVELOPMENT) 

[*] Sharp Zaurus (stock ROMs) 

[*] CDC Ethernet support (smart devices such as cable modems) 

---USB Network Adapters 

[*] ASIX AX88172 Based USB 2.0 Ethernet Devices不用选择 

---USB port drivers 

 USS720 parport driver 

一般不用选择 

USB Serial Converter support --->可以全部不用选择 

 USB Serial Converter support 

[*] USB Generic Serial Driver 

 USB Belkin and Peracom Single Port Serial Driver 

 USB ConnectTech WhiteHEAT Serial Driver 

 USB Digi International AccelePort USB Serial Driver 

 USB Empeg empeg-car Mark I/II Driver 

 USB FTDI Single Port Serial Driver (EXPERIMENTAL) 

 USB Handspring Visor / Palm m50x / Sony Clie Driver 

 USB PocketPC PDA Driver 

USB手持设备的,不用选择 

 USB IR Dongle Serial Driver (EXPERIMENTAL) 

 USB Inside Out Edgeport Serial Driver 

 USB Inside Out Edgeport Serial Driver (TI devices) 

 USB Keyspan PDA Single Port Serial Driver PDA设备用的,不用选择 

 USB Keyspan USA-xxx Serial Driver 

[*] USB Keyspan MPR Firmware 

[*] USB Keyspan USA-28 Firmware 

[*] USB Keyspan USA-28X Firmware 

[*] USB Keyspan USA-28XA Firmware 

[*] USB Keyspan USA-28XB Firmware 

[*] USB Keyspan USA-19 Firmware 

[*] USB Keyspan USA-18X Firmware 

[*] USB Keyspan USA-19W Firmware 

[*] USB Keyspan USA-19QW Firmware 

[*] USB Keyspan USA-19QI Firmware 

[*] USB Keyspan USA-49W Firmware 

[*] USB Keyspan USA-49WLC Firmware

 

USB KL5KUSB105 (Palmconnect) Driver (EXPERIMENTAL) 

 

USB KOBIL chipcard reader (EXPERIMENTAL) 

 

USB MCT Single Port Serial Driver 

 

USB Prolific 2303 Single Port Serial Driver 

 USB Safe Serial (Encapsulated) Driver (EXPERIMENTAL) 

[*] USB Secure Encapsulated Driver -Padded 

 

USB REINER SCT cyberJack pinpad/e-com chipcard reader (EXPERIME 

 

USB Xircom / Entregra Single Port Serial Driver 

 USB ZyXEL omni.net LCD Plus Driver (EXPERIMENTAL) 

---USB Miscellaneous drivers里面的都可以不用选择 

 EMI 6|2m USB Audio interface support 

没有这种接口,不用选择 

 EMI 2|6 USB Audio interface support 

没有这种接口,不用选择 

 Texas Instruments Graph Link USB (aka SilverLink) cable support 

 USB Auerswald ISDN support (EXPERIMENTAL) ISDN现在很少用,不用选择 

 USB Diamond Rio500 support (EXPERIMENTAL) 

 USB Lego Infrared Tower support (EXPERIMENTAL)支持U SB红外设备的,不用选择 

 USB LCD driver support 

液晶显示器的驱动,不用选择 

 USB LED driver support 

好像是一种检测设备,不用选择 

 Cypress USB thermometer driver support 

 USB testing driver (DEVELOPMENT) 

USB Gadget Support --->里面的也可以不用选择 

 Support for USB Gadgets 

USB Peripheral Controller (NetChip 2280) ---> 

(X) NetChip 2280 

( ) Toshiba TC86C001 'Goku-S' 

( ) Dummy HCD (DEVELOPMENT) 

NetChip 2280 (NEW) 

USB Gadget Drivers

 Gadget Zero (DEVELOPMENT) 

 Ethernet Gadget 

[*] RNDIS support (EXPERIMENTAL) 

 Gadget Filesystem (EXPERIMENTAL) 

 File-backed Storage Gadget (DEVELOPMENT) 

[*] File-backed Storage Gadget test version 

 Serial Gadget 

file systems ---> 

<*> Second extended fs support 

[*] Ext2 extended attributes 

[*] Ext2 POSIX Access Control Lists 

[*] Ext2 Security Labels

 Ext3 journalling file system support 

[*] Ext3 extended attributes 

[*] Ext3 POSIX Access Control Lists 

[*] Ext3 Security Labels以上这些肯定是要选择的,linux的标准文件系统 

[*] JBD (ext3) debugging support一般是选择的 

 Reiserfs support看你的分区格式有没有,有就选上吧,最好选择 

[*] Enable reiserfs debug mode不用选 

[*] Stats in /proc/fs/reiserfs不用选 

 JFS filesystem support不用选 

[*] JFS POSIX Access Control Lists 

[*] JFS debugging 

[*] JFS statistics 

 XFS filesystem support不用选 

[*] Realtime support (EXPERIMENTAL) 

[*] Quota support 

[*] Security Label support 

[*] POSIX ACL support 

 Minix fs support 

不用选 

 ROM file system support这个好象和光驱有关,我选上了 

[*] Quota support磁盘配额支持,分配硬盘空间的,一般用不着 

 Old quota format support 

<*> Quota format v2 support 

 Kernel automounter support 

内核自动挂载的,当然要选 

 Kernel automounter version 4 support (also supports v3) 当然要选 

CD-ROM/DVD Filesystems 

--->里面全选. 

<*> ISO 9660 CDROM file system support 

[*] Microsoft Joliet CDROM extensions 

[*] Transparent decompression extension

 UDF file system support 

DOS/FAT/NT Filesystems ---> 

 DOS FAT fs support看你的分区格式了,我觉得最好全选哦 

 MSDOS fs support 

 VFAT (Windows-95) fs support 

 NTFS file system support 

[*] NTFS debugging support 

[*] NTFS write support 

Pseudo filesystems ---> 

[*] /proc file system support这个用来存放一些硬件信息,占用的是内存空间,应该选吧 

[*] /dev file system support (OBSOLETE)存放设备信息的,怎么能不选阿? 

[*] Automatically mount at boot这个是很好的功能,省去了手动m ount 

[*] Debug devfs调试用的,不用选了 

[*] /dev/pts Extended Attributes一般要选择 

[*] /dev/pts Security Labels一般要选择 

[*] Virtual memory file system support (former shm fs)一般要选择 

[*] HugeTLB file system support一般要选择

Miscellaneous filesystems ---> 这个里面我什么都没选

 ADFS file system support (EXPERIMENTAL)不用选 

[*] ADFS write support (DANGEROUS)不用选 

 Amiga FFS file system support (EXPERIMENTAL)不用选 

 Apple Macintosh file system support (EXPERIMENTAL)咱们这里好像 

apple的产品很少阿,

不选 

 Apple Extended HFS file system support 

同上 

 BeOS file systemv(BeFS) support (read only) (EXPERIMENTAL)不用选 

[*] Debug BeFS不用选 

 BFS file system support (EXPERIMENTAL)不用选 

 EFS file system support (read only) (EXPERIMENTAL)不用选 

 Journalling Flash File System (JFFS) support不用选了 

(0) 

JFFS debugging verbosity (0 = quiet, 3 = noisy) (NEW) 

 Journalling Flash File System v2 (JFFS2) support 

(0) JFFS2 debugging verbosity (0 = quiet, 2 = noisy) 

[*] JFFS2 support for NAND flash (EXPERIMENTAL) 

 Compressed ROM file system support 

不用选 

 FreeVxFS file system support (VERITAS VxFS(TM) compatible)不用选 

 OS/2 HPFS file system support 

不用选 

 QNX4 file system support (read only)不用选 

[*] QNX4FS write support (DANGEROUS)不用选 

 System V/Xenix/V7/Coherent file system support不用选 

<*> UFS file system support (read only)不用选 

[*] UFS file system write support (DANGEROUS)不用选 

Network File Systems ---> 

关于NFS的,应该选择

 NFS file system support要选择 

[*] Provide NFSv3 client support要选择 

[*] Provide NFSv4 client support (EXPERIMENTAL)要选择 

[*] Allow direct I/O on NFS files (EXPERIMENTAL)不用选择 

 NFS server support要选择 

[*] Provide NFSv3 server support不用选择 

[*] Provide NFSv4 server support (EXPERIMENTAL)不用选择 

[*] Provide NFS server over TCP support (EXPERIMENTAL)不用选择 

---Secure RPC: Kerberos V mechanism (EXPERIMENTAL) 

 SMB file system support (to mount Windows shares etc.)这个要选,可以挂在网络上的win分区 

[*] Use a default NLS要选择 

(cp437) Default Remote NLS Option (NEW)要选择 

 CIFS support (advanced network filesystem for Samba, Window and o不用选择 

 NCP file system support (to mount NetWare volumes) 不用选择 

[*] Packet signatures不用选择 

[*] Proprietary file locking不用选择 

[*] Clear remove/delete inhibit when needed不用选择

[*] Use NFS namespace if available不用选择 

[*] Use LONG (OS/2) namespace if available不用选择 

[*] Lowercase DOS filenames不用选择 

[*] Use Native Language Support不用选择 

[*] Enable symbolic links and execute flags不用选择

 Coda file system support (advanced network fs)不用选择 

[*] Use 96-bit Coda file identifiers不用选择 

 InterMezzo file system support (replicating fs) (EXPERIMENTAL)不用选择 

 Andrew File System support (AFS) (Experimental)不用选择 

Partition Types --->这个里面关于分区格式的支持,选择自己想要的就可以了 

[*] Advanced partition selection

[*] Acorn partition support 

[*] Cumana partition support 

[*] EESOX partition support 

[*] ICS partition support 

[*] Native filecore partition support 

[*] PowerTec partition support 

[*] RISCiX partition support 

[*] Alpha OSF partition support 

[*] Amiga partition table support 

[*] Atari partition table support 

[*] Macintosh partition map support Apple公司的Mac分区支持,不用选择了 

[*] PC BIOS (MSDOS partition tables) support MSDOS分区支持,这个可以选择 

[*] BSD disklabel (FreeBSD partition tables) support如果要安装 

FreeBSD,也可以选择 

[*] Minix subpartition support 

[*] Solaris (x86) partition table support Solaris分区支持,可以选择 

[*] Unixware slices support Unix的slice支持,去看看 

BSD分区就知道了 

[*] Windows Logical Disk Manager (Dynamic Disk) support Windows逻辑分区支持,可以选择 

[*] Windows LDM extra logging 

[*] NEC PC-9800 partition table support 

[*] SGI partition support 

[*] Ultrix partition table support 

[*] Sun partition tables support Sun公司的分区支持,不用选择 

[*] EFI GUID Partition support

Native Language Support --->

这里我不想多说,最起码把 

cp437,cp936,iso 8859-1编译成模块,对,没看错,是说模块,不是编译进内核.

---Base native language support

(utf8) Default NLS Option

 Codepage 437 (United States, Canada)英文的,要选阿 

 Codepage 737 (Greek) 

 Codepage 775 (Baltic Rim) 

 Codepage 850 (Europe) 英文的,要选阿 

 Codepage 852 (Central/Eastern Europe)英文的,要选阿 

 Codepage 855 (Cyrillic) 

 Codepage 857 (Turkish) 

 Codepage 860 (Portuguese) 

 Codepage 861 (Icelandic) 

 Codepage 862 (Hebrew) 

 Codepage 863 (Canadian French) 

 Codepage 8 (Arabic) 

 Codepage 865 (Norwegian, Danish) 

 Codepage 866 (Cyrillic/Russian) 

 Codepage 869 (Greek) 

 Simplified Chinese charset (CP936, GB2312)这个不用说了,肯定要选吧 

 Traditional Chinese charset (Big5) 有时候我们也会碰到繁体中文,最好选上 

 Japanese charsets (Shift-JIS, EUC-JP) 

 Korean charset (CP949, EUC-KR) 

 Thai charset (CP874, TIS-620) 

 Hebrew charsets (ISO-8859-8, CP1255) 

 Windows CP1250 (Slavic/Central European Languages)英文的,要选阿 

 Windows CP1251 (Bulgarian, Belarusian) 

 NLS ISO 8859-1 (Latin 1; Western European Languages)这个我看别人说的要选 

 NLS ISO 8859-2 (Latin 2; Slavic/Central European Languages) 

 NLS ISO 8859-3 (Latin 3; Esperanto, Galician, Maltese, Turkish 

 NLS ISO 8859-4 (Latin 4; old Baltic charset) 

 NLS ISO 8859-5 (Cyrillic) 

 NLS ISO 8859-6 (Arabic) 

 NLS ISO 8859-7 (Modern Greek) 

 NLS ISO 8859-9 (Latin 5; Turkish) 

 NLS ISO 8859-13 (Latin 7; Baltic) 

 NLS ISO 8859-14 (Latin 8; Celtic) 

 NLS ISO 8859-15 (Latin 9; Western European Languages with Euro) 

 NLS KOI8-R (Russian) 

 NLS KOI8-U/RU (Ukrainian, Belarusian) 

 NLS UTF8 

这个也是看帖子知道要选,而且是一定要选 

9 Profiling support ---> 

旁敲侧击: Profiling是用来检核一支程式中那些部份(which bits)是最常呼叫或是执行的时间最久的方法.这对程式的最

佳化与找出何时时间是浪费掉的而言,是相当好的方式.你必须就你所要的时程资讯(timing information)的目的档案 

(object files)加上-p来编译,而且如果要让输出的档案(output files)有意义(make sense),你也会需要gprof(来自 

binutils套件的命令).

[*] Profiling support (EXPERIMENTAL)

 OProfile system profiling (EXPERIMENTAL) 

10 Kernel hacking ---> 

破解核心?可不是当骸客啦,而是帮忙改良核心。我绝对没这个能力,没办法啦...

[*] Show timing information on printks 

[*] Kernel debugging 

[*] Magic SysRq key

(14) Kernel log buffer size (16 => KB, 17 => 128KB) (NEW) 

[*] Collect scheduler statistics 

[*] Debug memory allocations 

[*] Debug preemptible kernel 

[*] Spinlock debugging 

[*] Sleep-inside-spinlock checking 

[*] kobject debugging 

[*] Compile the kernel with debug info 

[*] Debug Filesystem 

[*] Compile the kernel with frame pointers 

[*] Check for stack overflows 

[*] Kprobes 

[*] Stack utilization instrumentation 

---Page alloc debug is incompatible with Software Suspend on i386 

[*] Use 4Kb for kernel stacks instead of 8Kb 

11 

Security options ---> 按默认吧 

[*] Enable access key retention support 

[*] Enable the /proc/keys file by which all keys may be viewed 

[*] Enable different security models 

[*] Socket and Networking Security Hooks

 Default Linux Capabilities 

 Root Plug Support 

 BSD Secure Levels 

[*] NSA SELinux Support新的 SELinux,安全系数很高,可以选择 

[*] NSA SELinux boot parameter 

(1) NSA SELinux boot parameter default value (NEW) 

[*] NSA SELinux runtime disable 

[*] NSA SELinux Development Support (NEW) 

[*] NSA SELinux AVC Statistics (NEW) 

(1) NSA SELinux checkreqprot default value (NEW) 

12 Cryptographic options --->这是核心支持加密的选项,我们还是不要理它了,按默认吧

---Cryptographic API 

---HMAC support

 Null algorithms 

 MD4 digest algorithm 

 MD5 digest algorithm 

 SHA1 digest algorithm 

 SHA256 digest algorithm 

 SHA384 and SHA512 digest algorithms 

 Whirlpool digest algorithms 

 Tiger digest algorithms 

 DES and Triple DES EDE cipher algorithms 

 Blowfish cipher algorithm 

 Twofish cipher algorithm 

 Serpent cipher algorithm 

 AES cipher algorithms (i586) 

 CAST5 (CAST-128) cipher algorithm 

 CAST6 (CAST-256) cipher algorithm 

 TEA and XTEA cipher algorithms 

 ARC4 cipher algorithm 

 Khazad cipher algorithm 

 Anubis cipher algorithm 

 Deflate compression algorithm 

 Michael MIC keyed digest algorithm 

 CRC32c CRC algorithm 

 

Testing module 

Hardware crypto devices ---> 

 Support for VIA PadLock ACE 

[*] Support for AES in VIA PadLock (NEW) 

13 Library routines ---> 

---CRC32 functions这个可以不用选择

 CRC32c (Castagnoli, et al) Cyclic Redundancy-Check 

CONFIG_ZLIB_INFLATE=m 

CONFIG_ZLIB_DEFLATE=m 

CONFIG_X86_BIOS_REBOOT=y

文档

LINUX内核升级指导

LINUX内核升级指导——薛老师本例讲解如何在vm虚拟机环境下,从redhat9.02.4内核版本升级到2.6.18版本,因内核跨度较大,且虚拟机默认设置等问题,期间有些问题需要特别注意,这里整理各方面资料,以对实际操作做以指导。注意:本例所有安装包都可以在http://www.filewatcher.com/直接搜索得到,文档中只给包名不再给链接,特别提示,仔细,认真,再仔细再认真,任何小错误都可能会造成失败。一、准备工作启动Linux系统,并用根用户登录,进入终端模式下。1、查看Linux
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top