使用kernel-package编译内核imgage包
来源:互联网 发布:图像压缩编码编程 编辑:程序博客网 时间:2024/06/06 00:06
下面我们看下此等神器的神器之处:
首先、我们需要安装:# su --> # apt-get install kernel-package
安装完成后我们可以使用dpkg 查看一下:# dpkg -l kernel-package
$dpkg -l kernel-package
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-===================-==============-==============-===========================================
ii kernel-package 12.036+nmu3 all A utility for building Linux kernel related
$
在打印出来的信息中我们可以看到,kernel-package 是 A utility for building Linux kernel related 也就是一个用来构建内核的工具。
同样我们可以查看 类似于make之类的编译系统自带的工具:
long@zhouyl:~$ dpkg -l make
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-===================-==============-==============-===========================================
ii make 3.81-8.2 i386 An utility for Directing compilation.
我们会发现安装完kernel-package之后make等一系列工具都是相关安装了!
然后我们还是编译一个内核看一下kernel-package的真正威力:
# cd linux-3.4.33 // 进入你想要编译的内核的解压文件夹
# make menuconfig // 编译内核,自己选择
# sudo CONCURRENCY_LEVEL=4 make-kpkg --initrd kernel-image // 这一句就是在使用kernel-package在编译,CONCURRENCY_LEVEL=4 是设置多线程(类似于我们make -j4的多线程控制), make-kpkg就是kernel-package提供的编译工具,--initrd参数是说明在生成的image包里有initrd
(sudo CONCURRENCY_LEVEL=16 make-kpkg --initrd --append-to-version=-gcov kernel_image )
……
dpkg --build /home//kernel/linux-3.4.33/debian/linux-image-3.4.33 ..
dpkg-deb: building package `linux-image-3.4.33' in `../linux-image-3.4.33_3.4.33-10.00.Custom_i386.deb'.
make[2]: Leaving directory `/home/kernel/linux-3.4.33'
make[1]: Leaving directory `/home/kernel/linux-3.4.33'
从上面的信息可以看出,我们的make-kpkg生成了一个deb文件,其实这就是我们编译好的内核,放在当前内核文件夹的上层目录。
#cd ..
linux-image-3.4.33_3.4.33-10.00.Custom_i386.deb linux-3.4.33 linux-3.4.33.tar.xz
到此我们的编译工作结束,我们可以使用dpkg 安装我们刚编译好的目录!当然……如果你的编译的内核对其他机器也适用,你可以拷贝这个deb文件到其他机器上直接安装使用。这是神器的一大优势。
#sudo dpkg -i linux-image-3.4.33_3.4.33-10.00.Custom_i386.deb // dpkg -i 安装生成的deb格式image文件
[sudo] password for long:
Selecting previously unselected package linux-image-3.4.33.
(Reading database ... 154502 files and directories currently installed.)
Unpacking linux-image-3.4.33 (from linux-image-3.4.33_3.4.33-10.00.Custom_i386.deb) ...
Examining /etc/kernel/preinst.d/
Done.
Setting up linux-image-3.4.33 (3.4.33-10.00.Custom) ...
Running depmod.
Examining /etc/kernel/postinst.d.
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 3.4.33 /boot/vmlinuz-3.4.33
update-initramfs: Generating /boot/initrd.img-3.4.33
Generating grub.cfg ... // 安装完成重新生成grub
Found background image: /usr/share/images/desktop-base/desktop-grub.png
Found linux image: /boot/vmlinuz-3.4.33
Found initrd image: /boot/initrd.img-3.4.33
Found linux image: /boot/vmlinuz-3.2.0-4-686-pae
Found initrd image: /boot/initrd.img-3.2.0-4-686-pae
Found linux image: /boot/vmlinuz-2.6.34.14
Found initrd image: /boot/initrd.img-2.6.34.14
Found Windows 7 (loader) on /dev/sda1
Found elementary OS Luna (0.2) on /dev/sda3
done
#
所以这个神器使得我们编译内核工作变得更加简单快捷。当然如果仅限于此还不能称之为神器!我们使用kernel-package编译内核最大的好处是我们可以使用 dpkg -r 删除我们编译的内核。
如上: 安装我们使用的是 sudo dpkg -i linux-image-3.4.33_3.4.33-10.00.Custom_i386.deb
卸载时我们可以直接使用: sudo dpkg -r linux-image-3.4.33
原文地址:
http://blog.csdn.NET/longerzone/article/details/11028681
- 使用kernel-package编译内核imgage包
- 使用kernel-package编译内核imgage包
- 使用kernel-package编译内核imgage包
- 内核编译 之 使用kernel-package编译内核imgage包
- debian内核编译过程记录(使用kernel-package方法添加ftrace+gcov+CPU抢占模式+cgroup+ timer frequency)
- 编译内核(kernel)
- 编译Linux内核(kernel)
- linux内核编译kernel编译
- 使用Windows控制台编译和运行包package
- 使用PB5编译wince下Tiny Kernel内核
- package包编译的问题
- openwrt 编译 gcc 包package
- openwrt单独编译package包
- Oracle Package包使用
- 编译内核kernel(2.6.29)
- Android 编译内核kernel源码
- [树莓派内核学习] kernel编译
- 编译Android内核 运行内核(kernel)
- CentOS7.3 安装 MySQL5.7.18 RPM Bundle
- VBO与PBO,DMA异步快速传递
- 【解题报告】Educational Codeforces Round 21
- python对excel文件进行操作
- 观察者模式
- 使用kernel-package编译内核imgage包
- android 之 Intent、broadcast
- Android Studio 2.3 签名打包问题
- 复习fragment的生命周期
- USACO-Section1.2 Palindromic Squares
- 自定义jquery插件
- ORACLE 普通表转换成分区表(在线重定义)
- 关于去重复的笛卡尔积
- 关于a标签内的onclick事件只能点击一次的问题