配置并编译内核[更新到linux-2.6.34][增加自动精简]

内核编译和嵌入式产品的设计与开发
回复
头像
syrano
帖子: 4313
注册时间: 2007-10-06 18:40

配置并编译内核[更新到linux-2.6.34][增加自动精简]

#1

帖子 syrano » 2008-03-20 19:34

参考weblog.php?w=482写成

从linux-2.6.32开始可以使用make localmodconfig自动精简内核, 菜鸟也能轻松精简内核到十几MB
如果想手动精简看3楼
:em06

最新NV驱动才能在2.6.34及其以后的内核上使用
ATI官方(受限)显卡驱动无法在最新内核上运行

一、下载源代码和编译软件准备
下载内核源代码:http://www.kernel.org/
注意,点击2.6.34内核的Full source版,即完整版。
如果你懒得去网站点链接,运行下列命令:

代码: 全选

cd ~/ 
wget http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.34.tar.bz2
安装有关编译程序。安装make ,gcc, make-kpkg,运行xconfig等等和编译内核相关的工具。安装不了,请检查/etc/apt/sources.list 文件。
有关命令:

代码: 全选

sudo apt-get install build-essential kernel-package libncurses5-dev fakeroot
二、解压源代码并打上补丁
注意,很多教程上说应该解压到 /usr/src, 但是实际上解压到任何目录上都可以。
/usr/src下面需要root权限反而容易出问题.

代码: 全选

tar jfx linux-2.6.34.tar.bz2 -C ~/linus
你要把'~/linus'改成你自己解压linux-2.6.34.tar.bz2的目录,
注意目录容量要到达1.5G

现在,源代码就在 ~/linus/linux-2.6.34/
进入源代码的目录,准备下一步的工作。后面都在这个目录里面进行。

代码: 全选

cd ~/linus/linux-2.6.34/
升级内核可以参考下面的附件(这项暂时没用, 不用看)
.pdf
(26.46 KiB) 已下载 3904 次
三、开始编译前的准备工作。
首先,清理以前编译时留下的临时文件,如果是刚刚解开的包,据我的实践,不需要执行这步。执行与否,自己考虑。
相关命令如下:

代码: 全选

make mrproper
很多教程上说把现在使用的内核的config拷贝过来参考,据我的实践,也不需要,ubuntu还有debian会自动做这步。
不过ubntu的config存在很多问题, 建议改用附件中arch的2.6.23的config
kernel26-config.tar.xz
(25.66 KiB) 已下载 2408 次
里面的config是32位的config, 里面的config.x86_64是64位的config
把kernel26-config.tar.xz里的解压出来, 然后把config和config.x86_64复制到源代码目录, 然后如果你是32位系统
命令如下:

代码: 全选

cp config ./.config 
如果你是64位系统

代码: 全选

cp config.x86_64 ./.config

四、开始配置内核选项。
从linux-2.6.32开始可以使用make localmodconfig自动精简内核, 菜鸟也能轻松精简内核到十几MB

首先自动精简内核模块(如果想手动精简看3楼)[/size]
注意: 该方法会自动去掉一些从开机到当前没用使用的模块(主要是驱动模块),
所以你可以使用一下你的摄像头, 挂载一下iso文件.....
以保证需要的模块不会被精简掉, 否则使用新内核时会发现不能挂载iso文件, 不能使用某些外设等等.
命令如下:

代码: 全选

make localmodconfig
然后就可以直接跳到后面的第五段进行编译了.

也可以再使用qconfig检查一下
相关命令

代码: 全选

sudo aptitude install libqt3-headers libqt3-mt-dev libqt3-compat-headers  libqt3-mt#安装xconfig依赖包,
make xconfig
上面这个qconfig是qt3的, 如果要用qt4的看后面的附2.

选项意义:圆中点是编译成可以随时加人的模块(以下简称M),方块中一勾是编译进入内核(以下简称Y),空就是不要(简称N)。(如下图)
Screenshot-4.png
1、在“General setup”里面,有几项普通用户可以放心的去掉,
分别是:POSIX Message Queues 、Cpuset Support、Create deprecated sysfs files、Kernel->user space relay support (formerly relayfs)
2、在“ Timer frequency ”里,默认是250Hz,最好选择1000Hz以提高gui响应
3、其他的具体看3楼

全部设置完成,请保存设置。按照我的习惯,先在上一层目录保存一个备份,文件名类似 ../config
然后保存到当起目录,文件名 .config
退出设置程序。

五、开始编译内核。
ubuntu的工具是make-kpkg,和其他的发行版相比,步骤相对简单。
相关命令:

代码: 全选

sudo make-kpkg clean #这条命令好像不要超级权限,很多资料上说要,不过这不是原则问题。
fakeroot make-kpkg --initrd --append-to-version=gould0.76 kernel_image
上述命令中的gould0.76大家用自己喜欢的字符代替.
输完上述命令回车之前,建议大家把浏览器还有别的运用程序都关掉,机器开始的工作比较艰苦。我的p4 1.7G机器用了30分钟。

六、安装内核
编译完成就是安装工作。编译好的内核在上一层目录。我的是linux-image-2.6.34gould0.76_2.6.34gould0.76-10.00.Custom_i386.deb

代码: 全选

cd..
sudo dpkg -i linux-image-2.6.34gould0.76_2.6.34gould0.76-10.00.Custom_i386.deb
文件名很长,如果不用tab自动补足是不可能的,tab键万岁。
安装完成后和老内核比较一下大小

代码: 全选

 ls -l /boot/ 
注意:安装完后先不要动linux-2.6.34的目录,可能还要安装驱动
七、重新启动验证新内核。
sudo reboot

八、如果。。。
grub菜单上选用老内核启动机器,推倒重来

附1, 重启后N卡驱动安装
最新NV驱动才能在2.6.34内核上使用

让系统在内核升级时自动安装nvdia驱动的方法:viewtopic.php?t=141431&start=0&postdays ... highlight=
重启后不能直接进入X11,先编译nvidia驱动官方(先删除旧的驱动)

代码: 全选

sudo sh NV******.run
如果显示找不到内核源码用

代码: 全选

sudo sh NV******.run --kernel-source-path=你编译内核的目录,
如
sudo sh NV******.run --kernel-source-path=/home/david/linus/linux-2.6.34
具体安装方法见http://wiki.ubuntu.org.cn/Nvidia%E6%89%8B%E5%86%8C(看了wiki还解决不了N卡驱动楼下提问)

附2, 把qconfig改成qt4界面
下载下面的补丁
2900_xconfig-with-qt4.patch.tar.xz
(5.48 KiB) 已下载 739 次
解压到源码目录, 然后使用命令

代码: 全选

patch -p1 <  2900_xconfig-with-qt4.patch
如果之前编译过xconfig, 先用下面的命令清除编译残留.

代码: 全选

sudo make-kpkg clean
然后需要安全qt4编译环境, 不过我现在在arch下, 不清楚编译依赖, 应该就是qt4的dev包, ls有清楚的请补充.
安装好qt4编译环境后, 编译命令如下.

代码: 全选

make xconfig
Screenshot-Linux Kernel v2.6.34 Configuration-1.png
ATI官方(受限)显卡驱动不支持新内核

inter显卡和用开源驱动(没装受限驱动)打开特效的ati显卡编译内核后不需要安装驱动

drcom-1.4.8才支持linux-2.6.28以上内核
drcom-1.4.8.tar.gz
(42.02 KiB) 已下载 1026 次
viewtopic.php?t=115048&start=15&postday ... highlight=
[/size]

补充1:如果编译内核后,只是希望修改某些模块(M)选项,可以不用完全重新编译。
只需要执行
make xconfig
然后之添加或减少模块(M)选项
然后(不要执行make mrproper和sudo make-kpkg clean),
直接执行编译命令如
sudo make-kpkg -initrd --initrd --append-to-version=david0.68 kernel_image #整条命令要和上次编译时一样
make就会在原来编译的基础上,编译新选上的模块(如果有的话),而不会全部重新编译。
这样可以节省大量时间和能源,尤其是你电脑不是很快的话。


欢迎大家提意见 :lol:
上次由 syrano 在 2008-08-17 17:36,总共编辑 49 次。
E=m c^2
头像
qiang_liu8183
论坛版主
帖子: 10699
注册时间: 2006-09-10 22:36
系统: Arch Debian
来自: 北京

#2

帖子 qiang_liu8183 » 2008-03-27 0:19

这帖子怎么没人顶? :D
看破、放下、自在、随缘、念佛
真诚、清净、平等、正觉、慈悲
头像
syrano
帖子: 4313
注册时间: 2007-10-06 18:40

内核优化和模块精简参考

#3

帖子 syrano » 2008-03-27 18:42

基本目标
linux-image的deb包的小于10MB。
高级目标
linux-image的deb包的小于3MB。
启动时间减少10%~20%。

资料
刘少侠的2.6.28中文手册(比较新且详细完全)
linux-2628.pdf.tar.xz
(1.06 MiB) 已下载 4351 次
金步国翻译的资料:内核编译配置选项。(很老, 但比较简化, 可以参考)
网址:http://lamp.linux.gov.cn/Linux/kernel_options.html
(已经添加到附件)
kernel_options.html.tar.bz2
(32.29 KiB) 已下载 870 次
准备
配置内核我用的是xconfig,如果你也是用的xconfig,先在opion里选上show name(显示模块名)。
安装hardinfo

代码: 全选

sudo aptitude install hardinfo
第一步,简单优化。
1.如果不需要拨号上网(pppoe,电信,铁通等的上网方式),就把EXPERIMENTAL前的勾去>掉。
如果需要pppoe,现去掉EXPERIMENTAL前的勾,然后保存并推出;然后重启xconfig,勾上EXPERIMENTAL,然后勾上pppoe(这样做是为了只选上pppoe,而去掉其他development and/or incomplete code/drivers)
2.打开hardinfo,查看你的cpu的family,然后在processor family里把你的cpu的family选>上。
3.如果没有4G内存,勾上NOHIGHMEM;
如果想加快gui程序响应,勾上HZ_1000
4.如果不是上个世纪的硬件,去掉APM
根据附件中的文件,逐项精简内核。(拿不准的模块,可以先不删)


第二步,硬件驱动模块优化(这一步可以最大限度减少启动时间和内核大小)
1.(风险很小)
输入
sudo lshw
根据显示的硬件所需的模块(“module=”后面的模块名),勾上模块并去掉其他不需要的,>和所需的硬件模块平行的硬件模块。




。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
。。。。。。。。。。。
*-multimedia
description: Multimedia audio controller
product: VT8233/A/8235/8237 AC97 Audio Controller
vendor: VIA Technologies, Inc.
physical id: 11.5
bus info: pci@0000:00:11.5
version: 30
width: 32 bits
clock: 33MHz
capabilities: pm cap_list
configuration: driver=VIA 82xx Audio latency=0 module=snd_via82xx
比如这部分是声卡,
显示声卡是VT8233/A/8235/8237 AC97 Audio Controller
所用的模块是snd_via82xx(在xconfig里设置显示模块名,就可以在xconfig里面找到这个>模块;当然也可以使用查找)
然后就可以把和这个模块并列的其他硬件驱动模块去掉。
cdrom 硬盘......类似。(不过不要把cdrom,硬盘支持也去掉了)

2.去掉你不需要的硬件类型I2C,Telephony................
(这一步比上一步减少的模块数可能更多)

测试
根据
lsmod
精简无用模块。

其他
如果启动新内核后,有些功能不正常,可以搜google,查找出需要的模块。
如果有些软件不正常,还可以查看软件的帮助文档,README.......,找出需要的模块。


范例
硬件如下,deb包在附件里(编译时间9min)
config.tar.bz2
(7.71 KiB) 已下载 1174 次

代码: 全选

$sudo lshw
david-desktop
    description: Desktop Computer
    product: NF61S-M2A
    vendor: BIOSTAR Group
    version: 1.0
    width: 32 bits
    capabilities: smbios-2.4 dmi-2.4 smp-1.4 smp
    configuration: boot=normal chassis=desktop cpus=1 uuid=00E04D2F-4FD4-FFFF-FFFF-FFFFFFFFFFFF
  *-core
       description: Motherboard
       product: NF61S-M2A
       vendor: BIOSTAR Group
       physical id: 0
       version: 1.0
     *-firmware
          description: BIOS
          vendor: Phoenix Technologies, LTD
          physical id: 0
          version: 6.00 PG (02/08/2007)
          size: 128KiB
          capacity: 448KiB
          capabilities: isa pci pnp apm upgrade shadowing cdboot bootselect socketedrom edd int13floppy360 int13floppy1200 int13floppy720 int13floppy2880 int5printscreen int9keyboard int14serial int17printer int10video acpi usb ls120boot zipboot biosbootspecification
     *-cpu
          description: CPU
          product: AMD Sempron(tm) Processor 3000+
          vendor: Advanced Micro Devices [AMD]
          physical id: 3
          bus info: cpu@0
          version: 15.15.2
          slot: Socket M2
          size: 1608MHz
          capacity: 3GHz
          width: 64 bits
          clock: 201MHz
          capabilities: boot fpu fpu_exception wp vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt rdtscp x86-64 3dnowext 3dnow up pni cx16 lahf_lm extapic cr8_legacy ts ttp tm stc
        *-cache:0
             description: L1 cache
             physical id: c
             slot: Internal Cache
             size: 128KiB
             capacity: 128KiB
             capabilities: synchronous internal write-back
        *-cache:1
             description: L2 cache
             physical id: d
             slot: External Cache
             size: 256KiB
             capacity: 256KiB
             capabilities: synchronous internal write-back
     *-memory:0
          description: System Memory
          physical id: 1f
          slot: System board or motherboard
          size: 512MiB
        *-bank:0
             description: DIMM [empty]
             product: None
             vendor: None
             physical id: 0
             serial: None
             slot: A0
             width: 64 bits
        *-bank:1
             description: DIMM
             product: None
             vendor: None
             physical id: 1

             serial: None
             slot: A1
             size: 512MiB
             width: 64 bits
        *-bank:2
             description: DIMM [empty]
             product: None
             vendor: None
             physical id: 2
             serial: None
             slot: A2
             width: 64 bits
        *-bank:3
             description: DIMM [empty]
             product: None
             vendor: None
             physical id: 3
             serial: None
             slot: A3
             width: 64 bits
     *-memory:1 UNCLAIMED
          description: RAM memory
          product: MCP61 Memory Controller
          vendor: nVidia Corporation
          physical id: 6
          bus info: pci@0000:00:00.0
          version: a1
          width: 32 bits
          clock: 66MHz (15.2ns)
          capabilities: ht bus_master cap_list
          configuration: latency=0
     *-isa
          description: ISA bridge
          product: MCP61 LPC Bridge
          vendor: nVidia Corporation
          physical id: 1
          bus info: pci@0000:00:01.0
          version: a2
          width: 32 bits
          clock: 66MHz
          capabilities: isa bus_master
          configuration: latency=0
     *-serial
          description: SMBus
          product: MCP61 SMBus
          vendor: nVidia Corporation
          physical id: 1.1
          bus info: pci@0000:00:01.1
          version: a2
          width: 32 bits
          clock: 66MHz
          capabilities: pm cap_list
          configuration: driver=nForce2_smbus latency=0 module=i2c_nforce2
     *-memory:2 UNCLAIMED
          description: RAM memory
          product: MCP61 Memory Controller
          vendor: nVidia Corporation
          physical id: 1.2
          bus info: pci@0000:00:01.2
          version: a2
          width: 32 bits
          clock: 66MHz (15.2ns)
          configuration: latency=0
     *-usb:0
          description: USB Controller
          product: MCP61 USB Controller
          vendor: nVidia Corporation
          physical id: 2
          bus info: pci@0000:00:02.0
          version: a2
          width: 32 bits
          clock: 66MHz
          capabilities: pm ohci bus_master cap_list
          configuration: driver=ohci_hcd latency=0 maxlatency=1 mingnt=3 module=ohci_hcd
     *-usb:1
          description: USB Controller
          product: MCP61 USB Controller
          vendor: nVidia Corporation
          physical id: 2.1
          bus info: pci@0000:00:02.1
          version: a2
          width: 32 bits
          clock: 66MHz
          capabilities: debug pm ehci bus_master cap_list
          configuration: driver=ehci_hcd latency=0 maxlatency=1 mingnt=3 module=ehci_hcd
     *-pci:0
          description: PCI bridge
          product: MCP61 PCI bridge
          vendor: nVidia Corporation
          physical id: 4
          bus info: pci@0000:00:04.0
          version: a1
          width: 32 bits
          clock: 66MHz
          capabilities: pci ht subtractive_decode bus_master cap_list
     *-multimedia
          description: Audio device
          product: MCP61 High Definition Audio
          vendor: nVidia Corporation
          physical id: 5
          bus info: pci@0000:00:05.0
          version: a2
          width: 32 bits
          clock: 66MHz
          capabilities: pm msi ht bus_master cap_list
          configuration: driver=HDA Intel latency=0 maxlatency=5 mingnt=2 module=snd_hda_intel
     *-ide:0
          description: IDE interface
          product: MCP61 IDE
          vendor: nVidia Corporation
          physical id: a
          bus info: pci@0000:00:06.0
          version: a2
          width: 32 bits
          clock: 66MHz
          capabilities: ide pm bus_master cap_list
          configuration: driver=pata_amd latency=0 maxlatency=1 mingnt=3 module=pata_amd
     *-bridge
          description: Ethernet interface
          product: MCP61 Ethernet
          vendor: nVidia Corporation
          physical id: 7
          bus info: pci@0000:00:07.0
          logical name: eth0
          version: a2
          serial: 00:e0:4d:2f:4f:d4
          size: 100000000
          capacity: 100000000
          width: 32 bits
          clock: 66MHz
          capabilities: bridge pm msi ht bus_master cap_list ethernet physical mii 10bt 10bt-fd 100bt 100bt-fd autonegotiation
          configuration: autonegotiation=on broadcast=yes driver=forcedeth driverversion=0.61 duplex=full latency=0 link=yes maxlatency=20 mingnt=1 module=forcedeth multicast=yes port=MII speed=100MB/s
     *-ide:1
          description: IDE interface
          product: MCP61 SATA Controller
          vendor: nVidia Corporation
          physical id: 8
          bus info: pci@0000:00:08.0
          logical name: scsi2
          version: a2
          width: 32 bits
          clock: 66MHz
          capabilities: ide pm msi ht bus_master cap_list emulated
          configuration: driver=sata_nv latency=0 maxlatency=1 mingnt=3 module=sata_nv
        *-disk
             description: ATA Disk
             product: WDC WD800JD-75MS
             vendor: Western Digital
             physical id: 0.0.0
             bus info: scsi@2:0.0.0
             logical name: /dev/sda
             version: 10.0
             serial: WD-WMAM9RM85579
             size: 74GiB (80GB)
             capabilities: partitioned partitioned:dos
             configuration: ansiversion=5 signature=d5b3d5b3
           *-volume:0
                description: Windows NTFS volume
                physical id: 1
                bus info: scsi@2:0.0.0,1
                logical name: /dev/sda1
                version: 3.1
                serial: 946fcaea-dbcb-9e4c-bf89-672ead2acd22
                size: 10001MiB
                capacity: 10001MiB
                capabilities: primary bootable ntfs initialized
                configuration: clustersize=4096 created=2008-04-24 19:50:37 filesystem=ntfs state=clean
           *-volume:1
                description: Extended partition
                physical id: 2
                bus info: scsi@2:0.0.0,2
                logical name: /dev/sda2
                size: 62GiB
                capacity: 62GiB
                capabilities: primary extended partitioned partitioned:extended
              *-logicalvolume:0
                   description: HPFS/NTFS partition
                   physical id: 5
                   logical name: /dev/sda5
                   capacity: 5271MiB
              *-logicalvolume:1
                   description: W95 FAT32 partition
                   physical id: 6
                   logical name: /dev/sda6
                   logical name: /media/disk-1
                   capacity: 14GiB
                   configuration: mount.fstype=vfat mount.options=rw,nosuid,nodev,relatime,uid=1000,fmask=0077,dmask=0077,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8 state=mounted
              *-logicalvolume:2
                   description: W95 FAT32 partition
                   physical id: 7
                   logical name: /dev/sda7
                   logical name: /media/disk
                   capacity: 11GiB
                   configuration: mount.fstype=vfat mount.options=rw,nosuid,nodev,relatime,uid=1000,fmask=0077,dmask=0077,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8 state=mounted
              *-logicalvolume:3
                   description: Linux filesystem partition
                   physical id: 8
                   logical name: /dev/sda8
                   logical name: /boot
                   capacity: 125MiB
                   configuration: mount.fstype=ext3 mount.options=rw,relatime,data=ordered state=mounted
              *-logicalvolume:4
                   description: Linux filesystem partition
                   physical id: 9
                   logical name: /dev/sda9
                   logical name: /
                   logical name: /dev/.static/dev
                   capacity: 8918MiB
                   configuration: mount.fstype=xfs mount.options=rw,relatime,ikeep,noquota state=mounted
              *-logicalvolume:5
                   description: Linux swap / Solaris partition
                   physical id: a
                   logical name: /dev/sda10
                   capacity: 745MiB
                   capabilities: nofs
              *-logicalvolume:6
                   description: Linux filesystem partition
                   physical id: b
                   logical name: /dev/sda11
                   logical name: /home/david/store
                   capacity: 21GiB
                   configuration: mount.fstype=xfs mount.options=rw,relatime,ikeep,noquota state=mounted
           *-volume:2
                description: Linux filesystem partition
                physical id: 3
                bus info: scsi@2:0.0.0,3
                logical name: /dev/sda3
                logical name: /var
                capacity: 1058MiB
                capabilities: primary
                configuration: mount.fstype=xfs mount.options=rw,relatime,ikeep,noquota state=mounted
           *-volume:3 UNCLAIMED
                description: Linux filesystem partition
                physical id: 4
                bus info: scsi@2:0.0.0,4
                capacity: 1608MiB
                capabilities: primary
     *-pci:1
          description: PCI bridge
          product: MCP61 PCI Express bridge
          vendor: nVidia Corporation
          physical id: 9
          bus info: pci@0000:00:09.0
          version: a2
          width: 32 bits
          clock: 33MHz
          capabilities: pci pm msi ht pciexpress normal_decode bus_master cap_list
          configuration: driver=pcieport-driver
     *-pci:2
          description: PCI bridge
          product: MCP61 PCI Express bridge
          vendor: nVidia Corporation
          physical id: b
          bus info: pci@0000:00:0b.0
          version: a2
          width: 32 bits
          clock: 33MHz
          capabilities: pci pm msi ht pciexpress normal_decode bus_master cap_list
          configuration: driver=pcieport-driver
     *-pci:3
          description: PCI bridge
          product: MCP61 PCI Express bridge
          vendor: nVidia Corporation
          physical id: c
          bus info: pci@0000:00:0c.0
          version: a2
          width: 32 bits
          clock: 33MHz
          capabilities: pci pm msi ht pciexpress normal_decode bus_master cap_list
          configuration: driver=pcieport-driver
     *-display
          description: VGA compatible controller
          product: GeForce 6100 nForce 405
          vendor: nVidia Corporation
          physical id: d
          bus info: pci@0000:00:0d.0
          version: a2
          width: 64 bits
          clock: 66MHz
          capabilities: pm msi vga_controller bus_master cap_list
          configuration: driver=nvidia latency=0 module=nvidia
     *-pci:4
          description: Host bridge
          product: K8 [Athlon64/Opteron] HyperTransport Technology Configuration
          vendor: Advanced Micro Devices [AMD]
          physical id: 100
          bus info: pci@0000:00:18.0
          version: 00
          width: 32 bits
          clock: 33MHz
     *-pci:5
          description: Host bridge
          product: K8 [Athlon64/Opteron] Address Map
          vendor: Advanced Micro Devices [AMD]
          physical id: 101
          bus info: pci@0000:00:18.1
          version: 00
          width: 32 bits
          clock: 33MHz
     *-pci:6
          description: Host bridge
          product: K8 [Athlon64/Opteron] DRAM Controller
          vendor: Advanced Micro Devices [AMD]
          physical id: 102
          bus info: pci@0000:00:18.2
          version: 00
          width: 32 bits
          clock: 33MHz
     *-pci:7
          description: Host bridge
          product: K8 [Athlon64/Opteron] Miscellaneous Control
          vendor: Advanced Micro Devices [AMD]
          physical id: 103
          bus info: pci@0000:00:18.3
          version: 00
          width: 32 bits
          clock: 33MHz
          configuration: driver=k8temp module=k8temp
上次由 syrano 在 2008-07-30 19:17,总共编辑 6 次。
E=m c^2
eos
帖子: 419
注册时间: 2007-02-06 16:21

#4

帖子 eos » 2008-03-28 23:05

很少接触内核,所以只有看了。基本上没有说的份
lz不如在贴一个失败后恢复旧内核的方法,这样就可以放心的去试了
头像
syrano
帖子: 4313
注册时间: 2007-10-06 18:40

#5

帖子 syrano » 2008-03-28 23:46

eos 写了:很少接触内核,所以只有看了。基本上没有说的份
lz不如在贴一个失败后恢复旧内核的方法,这样就可以放心的去试了
旧内核又没有删除,在grub选择旧内核就可以了
九、如果。。。
grub菜单上选用老内核启动机器,推倒重来
头像
黄金时代
帖子: 238
注册时间: 2007-04-23 16:41
来自: 给你的爱一直很安静

#6

帖子 黄金时代 » 2008-03-28 23:58

懒得编译,deb特有的依赖关系让人头痛
图片
Leonj
帖子: 11
注册时间: 2007-08-09 20:25

#7

帖子 Leonj » 2008-03-29 23:08

有空试试,我真的还没有接触内核的,概念都不清。 :)
头像
Yizer
帖子: 297
注册时间: 2007-11-07 14:41
来自: 佳木斯
联系:

#8

帖子 Yizer » 2008-03-30 4:41

Mark&&顶
这么好的帖子
Dell 1520
------------------------
Intel Core T7500
1G*2
120G
Nvidia 8600 GT
My BLOG
头像
hyy_m
帖子: 140
注册时间: 2008-02-18 16:25

#9

帖子 hyy_m » 2008-03-30 14:45

顶一下。这篇讲得比较好懂,相当不错。我还没试过编译内核,哪天作为经验积累试一下好了(反正只是经验积累嘛)。
mark先。
头像
skyx
论坛版主
帖子: 9202
注册时间: 2006-12-23 13:46
来自: Azores Islands
联系:

#10

帖子 skyx » 2008-03-30 14:53

学习
no security measure is worth anything if an attacker has physical access to the machine
旺财
帖子: 58
注册时间: 2007-10-23 17:05

#11

帖子 旺财 » 2008-03-30 16:28

强顶!!

一直在找编译内核详细的帖子....LZ让我感激涕零~~~~~

谢谢!
旺财
帖子: 58
注册时间: 2007-10-23 17:05

#12

帖子 旺财 » 2008-03-30 16:48

选项意义:圆中点是编译成可以随时加人的模块(简称Y),方块中一勾是编译进入内核(简称M),空就是不要(简称N)。(如下图)
楼主这里看一下有没有笔误?我看过帖子说是这样:“编译进入内核”=Y “编译成模块”=M
头像
syrano
帖子: 4313
注册时间: 2007-10-06 18:40

#13

帖子 syrano » 2008-03-30 17:20

旺财 写了:
选项意义:圆中点是编译成可以随时加人的模块(简称Y),方块中一勾是编译进入内核(简称M),空就是不要(简称N)。(如下图)
楼主这里看一下有没有笔误?我看过帖子说是这样:“编译进入内核”=Y “编译成模块”=M
谢谢ls
你看的帖子中配置内核的工具是用的比较麻烦的文本界面的menuconfig,
里面“编译进入内核”显示的是“Y” ,“编译成模块”显示的是“M”,
我用的是比较方便的图形界面的xconfig
里面“编译进入内核”显示的是圆中点,“编译进入内核”显示的是方块中一勾。
头像
hyy_m
帖子: 140
注册时间: 2008-02-18 16:25

#14

帖子 hyy_m » 2008-03-31 1:57

问一下楼主:新内核感觉如何?
头像
sepnic
帖子: 5
注册时间: 2008-03-31 12:58
来自: GZ
联系:

#15

帖子 sepnic » 2008-03-31 13:21

处女帖就用来顶你啦。
初用ubuntu,由于工作关系,需要涉及很多模块编译的工作,以前都是用rhel的。
回复