Embeded linux之内核编译错误警告汇总

错误A:

WARNING: drivers/spi/hi_spi.o(.data+0x0): Section mismatch in reference from the variable hi_spi_platform_driver to the function .init.text:hi_spi_probe()
The variable hi_spi_platform_driver references
the function __init hi_spi_probe()
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

解决A:

__init同一个c文件用了两处。

去掉hi_spi_probe()前的__init

错误B:

drivers/net/ethernet/hieth-gmac/bcm53101.c:249:13: warning: ‘bcm53101_dump’ defined but not used [-Wunused-function]
static void bcm53101_dump(void)

解决B:

函数写了 没用到。

屏蔽掉函数

时间: 2024-10-20 12:38:42

Embeded linux之内核编译错误警告汇总的相关文章

【转】Linux CentOS内核编译:下载CentOS源码、编译2.6.32-220的错误(apic.c:819 error 'numi_watchdog' undeclared)

一.下载CentOS源码 1.1 查看CentOS版本 cat /etc/issue 1.2 查看Linux内核版本 uname -r 1.3 下载 文件名:kernel-2.6.32-220.el6.src.rpm 下载地址:http://vault.centos.org/6.2/os/Source/SPackages/ 官网:http://vault.centos.org/ 1.4 从kernel-2.6.32-220.el6.src.rpm获取源码 1. rpm -i kernel-2.6

关于Linux下C编译错误(警告)cast from 'void*' to 'int' loses precision

char *ptr; //此后省略部分代码 if( (int)ptr==-1 ) //出错地方 那句话的意思是从 void* 到 int 的转换丢失精度,相信看到解释有些人就明白了, 此问题只会出现在X64位的Linux上,因为在64位的机器上指针占用8个字节,int 占用四个字节,所以才会出现这样的问题, 解决方法: (long)ptr == -1 就好了 关于Linux下C编译错误(警告)cast from 'void*' to 'int' loses precision

自制linux和内核编译

自制linux和内核编译 1.分区并创建文件系统 fdisk /dev/sdb分两个必要的分区/dev/sdb1对应/boot /dev/sdb2对应根/mkfs.ext4 /dev/sdb1mkfs.ext4 /dev/sdb2 2.挂载boot mkdir/mnt/bootmount /dev/sdb1 /mnt/boot 3.安装grub grub-install --root-directory=/mnt  /dev/sdb 4.建立grub.conf: vim /mnt/boot/gr

Linux 跨内核编译驱动

在UBuntu12.04 内核版本3.2.0-29-generic-pae,编译UBuntu14.04内核版本为3.13.0-32-generic的驱动.首先要搭建编译环境. 1.安装相应的内核文件: apt-get install kernel-headers-`uname -r` uname -r : 需要替换为3.13.0-32-generic2 .编译驱动文件 make -C /usr/src/linux-headers-3.13.0-32-generic/ M=`pwd` clean

谢烟客---------Linux之内核编译及LFS制作

内核组成.内核优化.内核编译步骤:开发环境.硬件信息.展开到源码树.内存特性设定.编译 屏幕:在一个终端上,为多个进程,开启多个使用接口. 何谓交叉编译:目标代码非当前平台 有10天没有学习了,去做了LFS,当然得感谢我"瑞哥",学习Linux的导师,www.mykernel.cn , 要不是他告诉我说,选对发行版本和LFS手册很关键,否则很难一次成功的. 前3天就是不懂,好不容易编译到gcc,呀!失败了,..... 心得:体验就够了,没有必要花时间在LFS制作之上,完全浪费时间. 1

Linux之内核编译基础概念

内核组成部分 1.Kernel 2.Kernel Object 3.ramdisk 查看kernel版本 uname 管理kernel object工具 lsmod modinfo modprobe insmod rmmod depmod 与ramdisk相关的工具 mkinitrd dracut 启动流程 POST->boot sequence->bootloader->加载kernel->只读方式挂载root->init->运行系统初始化脚本->默认运行级别-

Linux内核笔记 - 内核编译错误及解决方法记录

错误 1: /bin/sh: 1: lzop: not found make[2]: *** [arch/arm/boot/compressed/piggy.lzo] 错误 1 make[2]: *** 正在等待未完成的任务.... make[1]: *** [arch/arm/boot/compressed/vmlinux] 错误 2 make: *** [uImage] 错误 2 解决办法: sudo apt-get install lzop 错误 2: "mkimage" com

Linux驱动设计编译错误信息集锦

1.warning: passing argument 2 of 'request_irq' from incompatible pointer type http://blog.sina.com.cn/s/blog_7321be1101012gek.html 今天在些key的driver的时候...写完了编译出现一个warmming如下:warning: passing argument 2 of 'request_irq' from incompatible pointer type 我的r

linux kernel 内核编译

题记:今天装docker,提示我最好用3.10以上的内核 一.环境 1.1 系统环境 [[email protected] kernels]# lsb lsblk        lsb_release   [[email protected] kernels]# lsb_release -a LSB Version:    :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graph