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

内核编译和嵌入式产品的设计与开发
回复
hitly
帖子: 391
注册时间: 2006-02-20 0:27

Re: 配置并编译内核[更新到linux-2.6.28]

#301

帖子 hitly » 2009-01-13 19:58

我就用LZ的config为蓝本,改网卡跟声卡那里,编译出来的linux-image-2.6.29-rc1_2.6.29-rc1-10.00.Custom_i386.deb大小为2.2M。还想再精一下,不过好像真找不到地方去精了。
Linux mylinux 2.6.37.3-mylinux #1 SMP Fri Feb 18 19:52:03 CST 2011 i686 GNU/Linux

==
境由心造,事在人为!
==
http://www.open2l.com
==
zengq
帖子: 56
注册时间: 2008-05-08 21:35

Re: 配置并编译内核[更新到linux-2.6.28]

#302

帖子 zengq » 2009-01-14 19:33

按照楼主的方法编译成功了,安装完新内核也使用正常,但是就是生成的内核deb包有230M多,用了将尽6小时。安装后/boot文件夹中initrd.img-2.6.28有49.8m,vmlinuz-2.6.28是2m。
SquallATF
帖子: 13
注册时间: 2007-08-05 12:30

Re: 配置并编译内核[更新到linux-2.6.28]

#303

帖子 SquallATF » 2009-01-15 8:52

zengq 写了:按照楼主的方法编译成功了,安装完新内核也使用正常,但是就是生成的内核deb包有230M多,用了将尽6小时。安装后/boot文件夹中initrd.img-2.6.28有49.8m,vmlinuz-2.6.28是2m。
可以手动去掉一些不必要的内核,编译的时候增加一个环境变量
INSTALL_MOD_STRIP=1 CONCURRENCY_LEVEL=2 fakeroot make-kpkg --append_to_version -1-athlon64 --revision 2.6.29-1.0 --initrd kernel_image kernel_headers
INSTALL_MOD_STRIP=1表示srip模块文件
CONCURRENCY_LEVEL=2 如果是多核cpu可以稍微提高一下编译速度这个选项=make -j2,单核的话就没有必要加了。
头像
ioiomi
帖子: 380
注册时间: 2007-06-01 10:49

Re: 配置并编译内核[更新到linux-2.6.28]

#304

帖子 ioiomi » 2009-01-25 16:52

代码: 全选

mylove@mylove-u1010:~$ cd linux-source-2.6.28/
mylove@mylove-u1010:~/linux-source-2.6.28$ sudo make-kpkg -initrd --initrd --append-to-version=mylove0.3 kernel_image
[sudo] password for mylove: 
exec make -f /usr/share/kernel-package/ruleset/minimal.mk debian APPEND_TO_VERSION=mylove0.3  INITRD=YES 
/usr/share/kernel-package/ruleset/misc/version_vars.mk:159: *** Error. The Kernel Release version 2.6.28.1mylove0.3-ARCH VERSION=[2], PATCHLEVEL=[6], SUBLEVEL=[28], EXTRAVERSION=[.1], iatv=[mylove0.3], LOCALVERSION=[-ARCH], UTS_RELEASE_VERSION=[], KERNELRELEASE=[]. is not all lowercase. Since the version ends up in the package name of the kernel image package, this is a Debian policy violation, and the packaging system shall refuse to package the image. .  Stop.
Failed to create a ./debian directory: No such file or directory at /usr/bin/make-kpkg line 1048.
mylove@mylove-u1010:~/linux-source-2.6.28$ 
this error how to ....
头像
苹果虫
帖子: 185
注册时间: 2008-08-25 18:57

Re: 配置并编译内核[更新到linux-2.6.28]

#305

帖子 苹果虫 » 2009-01-28 1:47

我现在的2.6.28.1内核只有1.7m,还能减到1.6m
leeken13
帖子: 1
注册时间: 2009-02-04 14:55

Re: 配置并编译内核[更新到linux-2.6.28]

#306

帖子 leeken13 » 2009-02-04 15:03

请LZ赐教了。
我之前用通用的方法编译了一次内核,果然不成功,之后借鉴LZ的方法,编译没有问题,安装的错误提示如下:
dpkg: error processing linux-image-2.6.27.7jack0.3_2.6.27.7jack0.3-10.00.Custom_i386.deb (--install):
trying to overwrite `/lib/firmware/ti_3410.fw', which is also in package linux-image-2.6.27.10jack09232

linux-image-2.6.27.10jack09232是我使用通用方法编译出来的内核文件,应该是该文件也同时被之前的内核文件使用了,请问如何消除这个影响呢?
头像
gmdjx
帖子: 17
注册时间: 2008-04-26 7:31

Re: 配置并编译内核[更新到linux-2.6.28]

#307

帖子 gmdjx » 2009-02-08 18:53

:em11 :em11
今天拜读了楼主的帖子,突发奇想何不自己试一试,于是按照楼主介绍的步骤,居然真的编译成了,耗时将近2个半,运行成功,谢谢!
图片如附件所示。。。
附件
screen26284.jpg
头像
ssfjhh
帖子: 1289
注册时间: 2007-11-08 21:23
来自: 中国

Re: 配置并编译内核[更新到linux-2.6.28]

#308

帖子 ssfjhh » 2009-02-08 20:02

应该看下生成的deb包有多大,看你花了这么长时间,生成的deb包应该比较大,还不如不编译呢。

我用楼主的config再修改下跟自己电脑相关的配置,生成的deb包也够小,花不了多长时间,但是安装失败。
这个功能如何实现?
http://yufanyufan.spaces.live.com/blog/ ... !149.entry
要实现的功能为,若当前标签页为空白页,则在当前页打开,否则新建一个标签页。
头像
lonelycorn
帖子: 438
注册时间: 2007-05-20 18:44
来自: 唐山,河北,中国
联系:

Re: 配置并编译内核[更新到linux-2.6.28]

#309

帖子 lonelycorn » 2009-02-14 21:13

请问我这些设备是ATA的还是SCSI的?
以下是hardinfo的返回:
IDE Disks
SCSI Disks

Optiarc CD-RW CRX880A
ATA FUJITSU MHW2120B
Hitachi HTS543216L9A300
第一个是光驱,第二个是硬盘,第三个是我的移动硬盘。
上次由 lonelycorn 在 2009-02-15 18:50,总共编辑 1 次。
我逗无了奈了……
HP的本跑ubuntu还得把我折腾死。
显卡、无线/有线网卡、声卡、键盘……

代码: 全选

while :
do
  work_hard
done
头像
syrano
帖子: 4313
注册时间: 2007-10-06 18:40

Re: 配置并编译内核[更新到linux-2.6.28]

#310

帖子 syrano » 2009-02-14 22:12

lonelycorn 写了:请问我这些设备是ATA的还是SCSI的?
以下是hardinfo的返回:
IDE Disks
SCSI Disks

Optiarc CD-RW CRX880A
ATA FUJITSU MHW2120B
Hitachi HTS543216L9A300
第一个是光驱,第二个是鹰派,第三个是我的移动硬盘。

代码: 全选

ll /dev/cdrom
结果是
lrwxrwxrwx 1 root root 4 2009-02-14 22:08 /dev/cdrom -> scd0
的是SCSI。

/dev/cdrom -> hda
的是ata
E=m c^2
头像
lonelycorn
帖子: 438
注册时间: 2007-05-20 18:44
来自: 唐山,河北,中国
联系:

Re: 配置并编译内核[更新到linux-2.6.28]

#311

帖子 lonelycorn » 2009-02-15 18:53

我想问的是硬盘,因为名字为:ATA xxxxx
自从开始编译2.6.27.10的内核到现在我已经编译完N次了,每次都是在waiting for root filesystem那里卡掉。我已经把所有有关ATA(SATA,PATA)IDE和SCSI的都选为“编译进内核”了。而且启动参数root=也都试过了。这是什么原因?
我逗无了奈了……
HP的本跑ubuntu还得把我折腾死。
显卡、无线/有线网卡、声卡、键盘……

代码: 全选

while :
do
  work_hard
done
头像
syrano
帖子: 4313
注册时间: 2007-10-06 18:40

Re: 配置并编译内核[更新到linux-2.6.28]

#312

帖子 syrano » 2009-02-16 9:40

lonelycorn 写了:我想问的是硬盘,因为名字为:ATA xxxxx
自从开始编译2.6.27.10的内核到现在我已经编译完N次了,每次都是在waiting for root filesystem那里卡掉。我已经把所有有关ATA(SATA,PATA)IDE和SCSI的都选为“编译进内核”了。而且启动参数root=也都试过了。这是什么原因?
硬盘更简单。
/dev/hda /dev/hdb ..........是IDE
/dev/sda /dev/sdb ...........是SCSI

代码: 全选

sudo lshw | grep module
或者

代码: 全选

sudo lshw | less
可以查出硬盘需要的模块。
我的是pata_amd 和 sata_nv(文件设备分别对应 /dev/scd 和/dev/sda)

可能不是硬盘驱动的问题,而是文件系统的问题。
E=m c^2
头像
lonelycorn
帖子: 438
注册时间: 2007-05-20 18:44
来自: 唐山,河北,中国
联系:

Re: 配置并编译内核[更新到linux-2.6.28]

#313

帖子 lonelycorn » 2009-02-20 13:01

编译时在acpi里选上了battery,但是无论是编进模块还是内核都没有/proc/acpi/battery目录。
我逗无了奈了……
HP的本跑ubuntu还得把我折腾死。
显卡、无线/有线网卡、声卡、键盘……

代码: 全选

while :
do
  work_hard
done
头像
苹果虫
帖子: 185
注册时间: 2008-08-25 18:57

Re: 配置并编译内核[更新到linux-2.6.28]

#314

帖子 苹果虫 » 2009-02-20 16:06

问下楼主 :em70
amd64的CPU用32位内核时需要把

代码: 全选

64 bit Memory and IO resources (EXPERIMENTAL) 
选上吗
还有如果编译时用-O3,编出来的内核会不会更快?
mzx999
帖子: 35
注册时间: 2008-03-05 16:32

Re: 配置并编译内核[更新到linux-2.6.28]

#315

帖子 mzx999 » 2009-02-20 17:28

比较容易看懂,学习了,谢谢啦
回复