linux内核编译时出现的错误
2014-04-13 12:34
232 查看
这几天一直在编译linux内核,编译的内核是2.6.30.4的版本
我是的环境red hat linux9.0 内核版本是2.4.20-8 虚拟机是VM9.0的。
在编译的过程中出现了几个问题,在晚上经历千辛万苦找好几天才找到的解决的方法。
我遇到的问题如下:
问题1.
drivers/scsi/advansys.c:71:2: warning: #warning this driver is still not properly converted to the DMA API
drivers/scsi/advansys.c: In function `advansys_get_sense_buffer_dma':
drivers/scsi/advansys.c:9885: error: implicit declaration of function `dma_cache_sync'
make[2]: *** [drivers/scsi/advansys.o] Error 1
make[1]: *** [drivers/scsi] Error 2
make: *** [drivers] Error 2
解决方法:
在/usr/src/linux-2.6.30.4/include/linux/dma-mapping.h的最后endif之前添加
static inline void
dma_cache_sync(struct device *dev,void *vaddr,size_t size,
enum dma_data_direction direction);
{
BUG();
}
这个问题解决了,我想大家都会遇见下面这个问题,我在这个问题花费了很久的时间,基本上没有解决的办法。
在坚持又坚持之下终于找到了方法。
问题2:
make[1]: *** No rule to make target `|', needed by `firmware/keyspan/usa19qi.fw.
gen.S'. Stop.
make: *** [firmware] Error 2 我觉得这个错误最悲催。
解决方法:在内核的目录下make menuconfig
Device Drivers
---->Generic Driver Options
---->Include in-kernel firmware blobs in kernel binary
External firmware blobs to build into the kernel binary(取消这两个选项)
保存退出后,再执行
make clean
make zImage
编译通过!这个方法是我在一边博客上看到的。
博客地址是:http://blog.163.com/xueweilin123@126/blog/static/164918622201303010351771/
make zImage经过很长的时间之后会出现下面的,说明你的zImage就存在了。
Kernel:
arch/arm/boot/zImage is ready
我是的环境red hat linux9.0 内核版本是2.4.20-8 虚拟机是VM9.0的。
在编译的过程中出现了几个问题,在晚上经历千辛万苦找好几天才找到的解决的方法。
我遇到的问题如下:
问题1.
drivers/scsi/advansys.c:71:2: warning: #warning this driver is still not properly converted to the DMA API
drivers/scsi/advansys.c: In function `advansys_get_sense_buffer_dma':
drivers/scsi/advansys.c:9885: error: implicit declaration of function `dma_cache_sync'
make[2]: *** [drivers/scsi/advansys.o] Error 1
make[1]: *** [drivers/scsi] Error 2
make: *** [drivers] Error 2
解决方法:
在/usr/src/linux-2.6.30.4/include/linux/dma-mapping.h的最后endif之前添加
static inline void
dma_cache_sync(struct device *dev,void *vaddr,size_t size,
enum dma_data_direction direction);
{
BUG();
}
这个问题解决了,我想大家都会遇见下面这个问题,我在这个问题花费了很久的时间,基本上没有解决的办法。
在坚持又坚持之下终于找到了方法。
问题2:
make[1]: *** No rule to make target `|', needed by `firmware/keyspan/usa19qi.fw.
gen.S'. Stop.
make: *** [firmware] Error 2 我觉得这个错误最悲催。
解决方法:在内核的目录下make menuconfig
Device Drivers
---->Generic Driver Options
---->Include in-kernel firmware blobs in kernel binary
External firmware blobs to build into the kernel binary(取消这两个选项)
保存退出后,再执行
make clean
make zImage
编译通过!这个方法是我在一边博客上看到的。
博客地址是:http://blog.163.com/xueweilin123@126/blog/static/164918622201303010351771/
make zImage经过很长的时间之后会出现下面的,说明你的zImage就存在了。
Kernel:
arch/arm/boot/zImage is ready
相关文章推荐
- Linux编译x86架构内核出现_stack_chk_guard未定义错误
- linux 内核编译时出现scripts/sign-file.c:23:30: fatal error: openssl/opensslv.h错误的解决办法
- 编译Linux内核出现include/linux/compiler-gcc.h:106:30: fatal error: linux/compiler-gcc5.h错误
- 编译linux-2.6.20内核出现scripts/mod/sumversion.c:384: error: ‘PATH_MAX’ undeclared 错误
- linux 内核编译时出现scripts/sign-file.c:23:30: fatal error: openssl/opensslv.h错误的解决办法
- linux 内核编译时出现scripts/sign-file.c:25:30: fatal error: openssl/opensslv.h错误的解决办法
- 在VMware上编译linux内核出现VFS: Cannot open root device "LABEL=/" or unknown-block(0,0) 错误的解决方法
- GCC-4.6.3编译linux2.6.32.12内核出现“重复的成员‘page’”错误的解决方法
- Fedora9.0和VMware6.5下编译内核出现arm-linux-gcc无法找到的错误解决办法
- Fedora9.0和VMware6.5下编译内核出现arm-linux-gcc无法找到的错误解决办法
- Linux 内核编译 出现错误 make:arm-none-linux-gnueabi-gcc:命令未找到
- linux内核编译过程中出现两个错误的解决方法~!
- linux 内核编译时出现scripts/sign-file.c:23:30: fatal error: openssl/opensslv.h错误的解决办法
- linux应用编程笔记(2)core dump分析内核链表使用后free出现的错误
- linux内核编译错误 No rule to make target menuconfig解决方法
- 在Ubuntu 64位环境下编译Liunx内核出现 Can't use 'defined(@array)' 错误的解决办法
- linux 编译出现的错误
- linux 解决Ubuntu编译内核uImage出现问题“mkimage” command not found - U-Boot images will not be built问题
- Ubuntu下Xilinx Linux内核编译问题,出现“缺少ncurses”libraries
- qt编译过程中出现错误:arm-linux-g++ could not found