Chinaunix首页 | 论坛 | 博客
  • 博客访问: 14860
  • 博文数量: 11
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 10
  • 用 户 组: 普通用户
  • 注册时间: 2014-12-03 21:48
文章分类
文章存档

2014年(11)

我的朋友

分类: LINUX

2014-12-04 08:14:34

原文地址:ubuntu 源码编译内核 作者:fly123456789

参考



How To Compile A Kernel - The Ubuntu Way - Page 2
Want to support HowtoForge? Become a !
 
Submitted by () () on Sun, 2006-11-05 16:04. ::


5 Configure The Kernel

It's a good idea to use the configuration of your current working kernel as a basis for your new kernel. Therefore we copy the existing configuration to /usr/src/linux:

cp /boot/config-`uname -r` ./.config

Then we run

make menuconfig

which brings up the kernel configuration menu. Go to Load an Alternate Configuration File and choose .config (which contains the configuration of your current working kernel) as the configuration file:

Then browse through the kernel configuration menu and make your choices. When you are finished and select Exit, answer the following question (Do you wish to save your new kernel configuration?) with Yes:

 

6 Build The Kernel

To build the kernel, execute these two commands:

make-kpkg clean
fakeroot make-kpkg --initrd --append-to-version=-custom kernel_image kernel_headers

After --append-to-version= you can write any string that helps you identify the kernel, but it must begin with a minus (-) and must not contain whitespace.

Now be patient, the kernel compilation can take some hours, depending on your kernel configuration and your processor speed.

 

7 Install The New Kernel

After the successful kernel build, you can find two .deb packages in the /usr/src directory.

cd /usr/src
ls -l

On my test system they were called linux-image-2.6.18.1-custom_2.6.18.1-custom-10.00.Custom_i386.deb (which contains the actual kernel) and linux-headers-2.6.18.1-custom_2.6.18.1-custom-10.00.Custom_i386.deb (which contains files needed if you want to compile additional kernel modules later on). I install them like this:

dpkg -i linux-image-2.6.18.1-custom_2.6.18.1-custom-10.00.Custom_i386.deb
dpkg -i linux-headers-2.6.18.1-custom_2.6.18.1-custom-10.00.Custom_i386.deb

(You can now even transfer the two .deb files to other Ubuntu systems and install them there exactly the same way, which means you don't have to compile the kernel there again.)

That's it. You can check /boot/grub/menu.lst now, you should find two stanzas for your new kernel there:

vi /boot/grub/menu.lst

The stanzas that were added on my test system look like these:

title Ubuntu, kernel 2.6.18.1-custom root (hd0,0) kernel /boot/vmlinuz-2.6.18.1-custom root=/dev/sda1 ro quiet splash initrd /boot/initrd.img-2.6.18.1-custom savedefault boot title Ubuntu, kernel 2.6.18.1-custom (recovery mode) root (hd0,0) kernel /boot/vmlinuz-2.6.18.1-custom root=/dev/sda1 ro single initrd /boot/initrd.img-2.6.18.1-custom boot

Now reboot the system:

shutdown -r now

If everything goes well, it should come up with the new kernel. You can check if it's really using your new kernel by running

uname -r

This should display something like

2.6.18.1-custom

If the system doesn't start, restart it, and when you see this:

press ESC to enter the GRUB menu:

Select your old kernel and start the system. You can now try again to compile a working kernel. Don't forget to remove the two stanzas of the not-working kernel from /boot/grub/menu.lst.

 

8 Links
  • Ubuntu:
  • The Linux Kernel Archives:


针对ubuntu12.10 desktop amd_64bit版本编译内核


1)安装工具
    单独下载libncurses5-dev_5.9-10ubuntu1_amd64.deb、libtinfo-dev_5.9-10ubuntu1_amd64.deb、libdpkg-perl_1.16.1.2ubuntu7_all.deb
dpkg -i libncurses5-dev_5.9-10ubuntu1_amd64.deb
dpkg -i libtinfo-dev_5.9-10ubuntu1_amd64.deb
dpkg -i libdpkg-perl_1.16.1.2ubuntu7_all.deb
apt-get install build-essential kernel-package  libncurses5-dev

2)下载代码
apt-get install linux-source-3.2.0

3)编译安装(参考)
cp /boot/config-`uname -r` ./.config
make menuconfig (load .config and save)
make-kpkg clean
fakeroot make-kpkg --initrd --append-to-version=-custom kernel_image kernel_headers
cd /usr/src
ls -l
dpkg -i linux-image-3.2.0-custom_3.2.0-custom-10.00.Custom_i386.deb
dpkg -i linux-headers-3.2.0-custom_3.2.0-custom-10.00.Custom_i386.deb


阅读(513) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~