- 论坛徽章:
- 0
|
问题1:内核编译是驱动开发的先决条件么?
问题2我的内核编译,使用VMware6 redhat9的linux 本身带2.4.20.8的内核进行 linux-2.6.20.4.tar.gz 编译 在make bzImage是出现问题 困扰比较久了请指点
[root@localhost root]# cd /usr/src/redhat 进入规范文件目录下
[root@localhost redhat]# ls
BUILD modutils-2.4.5-1.src.rpm RPMS SOURCES SPECS SRPMS
[root@localhost redhat]# rpm -e --nodeps modutils 强行卸载原有的modutilsRPM包
[root@localhost redhat]# rpm -ivh modutils-2.4.5-1.src.rpm (把源代码包安装到了/usr/src/redhat目录下)
warning: user kaos does not exist - using root
warning: group ocs does not exist - using root
warning: user kaos does not exist - using root
warning: group ocs does not exist - using root
1:modutils ########################################### [100%]
[root@localhost redhat]# cd SPECS
[root@localhost SPECS]# rpmbuild --bb modutils.spec 强行卸载原有的modutilsRPM包
.....................
..................
................
[root@localhost SPECS]# cd ../RPMS/i386 转入刚生成的二进制的RPM包所在位置
[root@localhost i386]# rpm -ivh modutils*.rpm 刚生成两个[modutils-2.4.5.1-1.i386.rpm与modutils-debuginfo-2.4.5.1-1.i386.rpm]二进制的RPM包,一起安装
Preparing... ########################################### [100%]
1:modutils-debuginfo ########################################### [ 50%]
2:modutils ########################################### [100%]
[root@localhost i386]# cd /usr/src
[root@localhost src]# ls
debug linux-2.4 linux-2.4.20-8 module-init-tools-3.2.2.tar.bz2 redhat ( module-init-tools安放目录)
安装module-init-tools. 它会替代depmod [/sbin/depmod]和其他工具.
[root@localhost src]# tar -jxvf module-init-tools-3.2.2.tar.bz2
[root@localhost src]# cd module-init-tools-3.2.2
[root@localhost module-init-tools-3.2.2]# ./configure --prefix=/sbin
[root@localhost module-init-tools-3.2.2]# make
[root@localhost module-init-tools-3.2.2]# make install
[root@localhost module-init-tools-3.2.2]# ./generate-modprobe.conf /etc/modprobe.conf
[root@localhost module-init-tools-3.2.2]# cd /usr/src
[root@localhost src]# ls
debug linux-2.4.20-8 module-init-tools-3.2.2 redhat
linux-2.4 linux-2.6.20.4.tar.gz module-init-tools-3.2.2.tar.bz2
tar –zvxf linux-2.6.20.4.tar.gz
ln –s linux-2.6.20.4 linux
cd linux
make mrproper
方法1:
make menuconfig (我没有修改采用默认的设置)
make bzImage >/dev/null
kernel/power/pm.c:205: warning: `pm_register' is deprecated (declared at kernel/power/pm.c:64)
kernel/power/pm.c:205: warning: `pm_register' is deprecated (declared at kernel/power/pm.c:64)
kernel/power/pm.c:206: warning: `pm_send_all' is deprecated (declared at kernel/power/pm.c:180)
kernel/power/pm.c:206: warning: `pm_send_all' is deprecated (declared at kernel/power/pm.c:180)
drivers/base/core.c: In function `device_add_attrs':
drivers/base/core.c:251: warning: `i' might be used uninitialized in this function
drivers/net/r8169.c: In function `rtl8169_xmit_frags':
drivers/net/r8169.c:2230: warning: `txd' might be used uninitialized in this function
BFD: Warning: Writing section `.bss' to huge (ie negative) file offset 0xc053e000.
objcopy: arch/i386/boot/compressed/vmlinux.bin: File truncated
make[2]: *** [arch/i386/boot/compressed/vmlinux.bin] Error 1
make[1]: *** [arch/i386/boot/compressed/vmlinux] Error 2
方法2 make menuconfig 进行了一部分配置
make bzImage >/dev/null
drivers/base/core.c: In function `device_add_attrs':
drivers/base/core.c:251: warning: `i' might be used uninitialized in this function
BFD: Warning: Writing section `.bss' to huge (ie negative) file offset 0xc0241000.
objcopy: arch/i386/boot/compressed/vmlinux.bin: File truncated
make[2]: *** [arch/i386/boot/compressed/vmlinux.bin] Error 1
make[1]: *** [arch/i386/boot/compressed/vmlinux] Error 2
make: *** [bzImage] Error 2 |
|