内核编译新手求助一个问题,关于生成的linux-image*.deb的大小
-
- 帖子: 13
- 注册时间: 2007-08-05 12:30
内核编译新手求助一个问题,关于生成的linux-image*.deb的大小
刚开始学习内核编译,编译了2次内核
2.6.28 官方和ubuntu-jaunty的git
都能正常的启动。
用的配置文件来自系统安装的内核的配置文件,修改了cpu配置去掉了一些不可能用到的模块。
不过有一个问题就是,系统的内核特别小压缩后才20多m而我自己编译的却特别大压缩后200多m。
我想知道为啥官方的内核能做得这么小呢,理论上来说参数都一样啊~~
2.6.28 官方和ubuntu-jaunty的git
都能正常的启动。
用的配置文件来自系统安装的内核的配置文件,修改了cpu配置去掉了一些不可能用到的模块。
不过有一个问题就是,系统的内核特别小压缩后才20多m而我自己编译的却特别大压缩后200多m。
我想知道为啥官方的内核能做得这么小呢,理论上来说参数都一样啊~~
-
- 帖子: 684
- 注册时间: 2008-02-17 22:29
- 来自: 江苏
Re: 内核编译新手求助一个问题,关于生成的linux-image*.deb的大小
先看看配置选项里的Kernel hacking里选了哪个,有个关于debug信息的选项,一旦选上了,包会急剧加大。
上次由 rocky22 在 2008-12-29 21:45,总共编辑 1 次。
-
- 帖子: 684
- 注册时间: 2008-02-17 22:29
- 来自: 江苏
Re: 内核编译新手求助一个问题,关于生成的linux-image*.deb的大小
这是我的.config文件里关于Kernel hacking部分的选项:
#
# Kernel hacking
#
CONFIG_TRACE_IRQFLAGS_SUPPORT=y
CONFIG_PRINTK_TIME=y
# CONFIG_ENABLE_WARN_DEPRECATED is not set
# CONFIG_ENABLE_MUST_CHECK is not set
CONFIG_FRAME_WARN=1024
# CONFIG_MAGIC_SYSRQ is not set
# CONFIG_UNUSED_SYMBOLS is not set
# CONFIG_DEBUG_FS is not set
# CONFIG_HEADERS_CHECK is not set
# CONFIG_DEBUG_KERNEL is not set
# CONFIG_DEBUG_BUGVERBOSE is not set
# CONFIG_DEBUG_MEMORY_INIT is not set
# CONFIG_RCU_CPU_STALL_DETECTOR is not set
# CONFIG_LATENCYTOP is not set
# CONFIG_SYSCTL_SYSCALL_CHECK is not set
CONFIG_HAVE_FUNCTION_TRACER=y
CONFIG_HAVE_DYNAMIC_FTRACE=y
CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
有人说这部分全部都可以不选。如果选了CONFIG_UNUSED_SYMBOLS这个,包的尺寸就会特别大。
#
# Kernel hacking
#
CONFIG_TRACE_IRQFLAGS_SUPPORT=y
CONFIG_PRINTK_TIME=y
# CONFIG_ENABLE_WARN_DEPRECATED is not set
# CONFIG_ENABLE_MUST_CHECK is not set
CONFIG_FRAME_WARN=1024
# CONFIG_MAGIC_SYSRQ is not set
# CONFIG_UNUSED_SYMBOLS is not set
# CONFIG_DEBUG_FS is not set
# CONFIG_HEADERS_CHECK is not set
# CONFIG_DEBUG_KERNEL is not set
# CONFIG_DEBUG_BUGVERBOSE is not set
# CONFIG_DEBUG_MEMORY_INIT is not set
# CONFIG_RCU_CPU_STALL_DETECTOR is not set
# CONFIG_LATENCYTOP is not set
# CONFIG_SYSCTL_SYSCALL_CHECK is not set
CONFIG_HAVE_FUNCTION_TRACER=y
CONFIG_HAVE_DYNAMIC_FTRACE=y
CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
有人说这部分全部都可以不选。如果选了CONFIG_UNUSED_SYMBOLS这个,包的尺寸就会特别大。
-
- 帖子: 13
- 注册时间: 2007-08-05 12:30
Re: 内核编译新手求助一个问题,关于生成的linux-image*.deb的大小
明天再看看~XD不过应该没开过多的选项~
-
- 帖子: 684
- 注册时间: 2008-02-17 22:29
- 来自: 江苏
Re: 内核编译新手求助一个问题,关于生成的linux-image*.deb的大小
还有,文件系统里,如果File systems下的Miscellaneous filesystems选上了,包的大小会增加几十M。
而那里的文件系统几乎都是用不到的,如ADFS file system、Amiga FFS file system等等。
而那里的文件系统几乎都是用不到的,如ADFS file system、Amiga FFS file system等等。
-
- 帖子: 13
- 注册时间: 2007-08-05 12:30
Re: 内核编译新手求助一个问题,关于生成的linux-image*.deb的大小
发现一个问题同样的配置,官方的deb只有不到300个模块文件,而我自己编译出来的deb确有2300多个模块~~
-
- 帖子: 684
- 注册时间: 2008-02-17 22:29
- 来自: 江苏
Re: 内核编译新手求助一个问题,关于生成的linux-image*.deb的大小
几个可以精简的地方:
1、Device drivers下面的Serial ATA (prod) and Parallel ATA (experimental) drivers (ATA)这一项的ATA SFF support (ATA_SFF)下,只选自己机器用的,比如我的是Intel ESB, ICH, PIIX3, PIIX4 PATA/SATA support (ATA_PIIX)。
2、I2C support下I2C Hardware Bus support这一项,也只选自己机器里用的,我的是Intel 82801 (ICH) (I2C_I801)。
3、Graphics support下,Support for frame buffer devices (FB)这一项,我的是Intel 830M/845G/852GM/855GM/865G/915G/945G/945GM/965G/965GM。其他的驱动不选。当然VESA VGA graphics support (FB_VESA)是要选的。
4、声卡部分同样。
5、File systems下,只选基本的那些,如ext2、ext3、ext4、reiserfs、xfs等,Miscellaneous filesystems下一个都不选。
硬件配置可以用 lshw 查看。
1、Device drivers下面的Serial ATA (prod) and Parallel ATA (experimental) drivers (ATA)这一项的ATA SFF support (ATA_SFF)下,只选自己机器用的,比如我的是Intel ESB, ICH, PIIX3, PIIX4 PATA/SATA support (ATA_PIIX)。
2、I2C support下I2C Hardware Bus support这一项,也只选自己机器里用的,我的是Intel 82801 (ICH) (I2C_I801)。
3、Graphics support下,Support for frame buffer devices (FB)这一项,我的是Intel 830M/845G/852GM/855GM/865G/915G/945G/945GM/965G/965GM。其他的驱动不选。当然VESA VGA graphics support (FB_VESA)是要选的。
4、声卡部分同样。
5、File systems下,只选基本的那些,如ext2、ext3、ext4、reiserfs、xfs等,Miscellaneous filesystems下一个都不选。
硬件配置可以用 lshw 查看。
-
- 帖子: 684
- 注册时间: 2008-02-17 22:29
- 来自: 江苏
Re: 内核编译新手求助一个问题,关于生成的linux-image*.deb的大小
官方的包不只是那两个,它还有linux-restricted-modules包等。
-
- 帖子: 684
- 注册时间: 2008-02-17 22:29
- 来自: 江苏
-
- 帖子: 13
- 注册时间: 2007-08-05 12:30
Re: 内核编译新手求助一个问题,关于生成的linux-image*.deb的大小
刚才发现原来我看错了~官方的deb也是2300多个模块文件。
看来应该是和debug有关系~我去掉无用模块,剩下近600个模块都还比官方大XD
刚才google了一下,发现有个环境变量INSTALL_MOD_STRIP=1貌似可以strip 模块文件~正在重编译ing
看来应该是和debug有关系~我去掉无用模块,剩下近600个模块都还比官方大XD
刚才google了一下,发现有个环境变量INSTALL_MOD_STRIP=1貌似可以strip 模块文件~正在重编译ing
- pcbird
- 帖子: 2337
- 注册时间: 2008-12-19 13:44
- 来自: 东8区
- 苹果虫
- 帖子: 185
- 注册时间: 2008-08-25 18:57
Re: 内核编译新手求助一个问题,关于生成的linux-image*.deb的大小
我装ati官方驱动需要这两项打开
# CONFIG_MAGIC_SYSRQ is not set
# CONFIG_UNUSED_SYMBOLS is not set
# CONFIG_MAGIC_SYSRQ is not set
# CONFIG_UNUSED_SYMBOLS is not set
-
- 帖子: 121
- 注册时间: 2009-05-04 10:29
Re: 内核编译新手求助一个问题,关于生成的linux-image*.deb的大小
我编译 2.6.29.3也是200多m
本来没打算再编译一次的,因为实在太慢了,看了这个觉得还应该再编译一次,嘿嘿
本来没打算再编译一次的,因为实在太慢了,看了这个觉得还应该再编译一次,嘿嘿