当前位置:  技术问答>linux和unix

编译内核出错,高手指教

    来源: 互联网  发布时间:2016-07-07

    本文导语:  以下为我的步骤: gedit Makefile ARCH ?= arm CROSS_COMPILE ?= /home/zilong/crosstool/work/gcc-4.1.0-glibc-2.3.2/arm-9tdmi-linux-gnu/bin/arm-9tdmi-linux-gnu- 2.cp arch/arm/configs/s3c2410_defconfig .config 3. 修改arch/arm/mach-s3c2440/mach-smdk2440.c static void __...

以下为我的步骤:


gedit Makefile

ARCH ?= arm
CROSS_COMPILE ?= /home/zilong/crosstool/work/gcc-4.1.0-glibc-2.3.2/arm-9tdmi-linux-gnu/bin/arm-9tdmi-linux-gnu-

2.cp arch/arm/configs/s3c2410_defconfig .config

3.
修改arch/arm/mach-s3c2440/mach-smdk2440.c

static void __init smdk2440_map_io(void)
{
        s3c24xx_init_io(smdk2440_iodesc, ARRAY_SIZE(smdk2440_iodesc));
//      s3c24xx_init_clocks(16934400);
        s3c24xx_init_clocks(12000000);
        s3c24xx_init_uarts(smdk2440_uartcfgs, ARRAY_SIZE(smdk2440_uartcfgs));
}

4、
修改内核源码的“arch/arm/tools/mach-types”文件
s3c2440                 ARCH_S3C2440            S3C2440                 782

5.禁用Flash ECC校验
修改drivers/mtd/nand/s3c2410.c
修改drivers/mtd/nand/s3c2410.c
找到chip->eccmode = NAND_ECC_SOFT;
改为chip->eccmode = NAND_ECC_NONE;


6.修改NandFlash 分区信息。
在arch/arm/plat-s3c24xx/common-smdk.c中修改smdk_default_nand_part[],
static struct mtd_partition smdk_default_nand_part[] = {
         [0] = { .name    = "vivi",
                 .size    = 0x00020000,
                 .offset = 0X00000000,
         },
         [1] = {   .name    = "kernel_linux",
                 .offset = 0x00050000,
                 .size    = 0x00200000,
         },
         [2] = { .name    = "root_fs",
                 .offset =0x00250000,
                 .size    =0x03dac000,
         }
};


7.MAKE menuconfig
System Type ---->
       [*] S3C2410 DMA support
       S3C2410 Machines --->
              [*] SMDK2410/A9M2410 
       S3C2440 Machines --->
              [*] SMDK2440
              [*] SMDK2440 with S3C2440 CPU module



[*] Enable loadable module support --->
       [*]   Module unloading
       [*]   Automatic kernel module loading

      选择这两个,剩下的可以去掉

Boot option ----->
    修改启动参数为:noinitrd root=/dev/mtdblock2 init=/linuxrc console=ttySAC0,115200
   

Device Drivers --->
        Memory Technology Device (MTD) support --->
              [*]   MTD partitioning support
               NAND Device Support --->
                         NAND Flash support for S3C2410/S3C2440 SoC
                      [ ]    S3C2410 NAND Hardware ECC     //这个要去掉

  [*] Network device support --->
               [*]   Ethernet (10 or 100Mbit) ---> 
                      DM9000 support
Kernel Features ->
     [*]Use the ARM EABI to compile the kernel
     [*]  Allow old ABI binaries to run with this kernel
make zImage

结果出现以下错误:
drivers/usb/core/hcd.c:144: error: expected expression before '>>' token
drivers/usb/core/hcd.c:144: error: expected expression before '>>' token
drivers/usb/core/hcd.c:167: error: expected expression before '>>' token
drivers/usb/core/hcd.c:167: error: expected expression before '>>' token

请问如何解决???



|
usb驱动出错啊,看看usb选项

|
先去掉USB选项试试

|
那就是驱动有问题

|
expected expression before 
检查一下代码,可能是什么没定义之类的

    
 
 

您可能感兴趣的文章:

  • CentOS 6内核升级:下载编译启用新内核版本详细过程
  • GCC3.4可以编译2.4内核吗 如何查看某版本内核是用哪个版本gcc编译的
  • Fedora Core 2自带的内核升级程序下载下来内核后,要不要再编译一遍内核?
  • [求教]内核加载模块后,这部分内容编译在内核里的吗?
  • 编译新内核后怎么进入原来内核
  • 关于如何把编译进内核的编译成模块
  • 不重新编译内核能修改内核函数吗?
  • 为什么我自己编译的内核比系统自带的内核大了10倍左右?
  • Linux 编译内核之后 没办法选择内核版本
  • 内核编译出现:没有编译规则/driver/pci/devlist.h。
  • *******是不是对内核模块编程然后再重新编译内核就可以把此模块整合到linux系统中
  • 修改内核代码问题:如何编译修改的单个文件而不用重建整个内核?
  • 想问一下,编译LINUX内核时,是否可以只编译其中的一个模块?
  • 新手的菜鸟问题:不同内核版本下编译的程序能否互相调用,是否需要在同一内核下重新编译.
  • 编译新内核时提示内核太大无法把装入软盘,如何解决?
  • 问一个小白问题,在交叉编译时,系统内核和开发板的内核有没有相关性?
  • 我现在要重新编译内核,要怎样才能保留原来的内核
  • 【求助】基于2.6.29内核编译的驱动程序能否应用于2.6.32内核的系统?
  • 何处有 Linux 内核编译配置详细的中文介绍? 我在重新配置编译时老是出错:-(
  • intel e1000网卡无法加载,内核是2.4.28,想重新编译内核,应该注意哪些步骤!
  • 请问重新编译LINUX内核是否能将没有用的外设的驱动程序删除并减少内核占有内存的资源?请好心人仕指教!
  • 有关C编译的突发奇想,请高手指教
  • 为什么我在版本 2.6.14 下,不能编译 epoll ,请高手指教。
  • 编译出错,奇怪这是为什么??求人指教
  • c 条件编译问题,初学,大家指教。
  • 在使用TC编译由 lex 生成的.c文件时遇到的一些问题,请高手指教!!!
  • linux编译的内核不能启动,是怎么回事,请高手指教!
  • 高手请指教;关于gcc的编译参数 -msoft-float 的问题
  • #####编译内核使支持 video for linux 的问题!!!!!!!!!!!!!!! 请高手指教
  • 各位前辈,请指教,我按照网上的教程编译不了内核
  • redhat 9.0 下驱动程序开发是否需要重新编译内核?求高手指教!
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 编译qt-x11,最后编译生成可执行文件时候,make出错
  • 建立较差编译环境,编译gcc-3.4.4出错
  • arm-linux-gcc交叉编译出错,但gcc编译没错,什么原因呢???
  • linux 64位编译出错。linux 32位可以编译过。
  • 编译libxml2时出错 ,出错信息configure: error: C++ preprocessor "/lib/cpp" fails sanity check
  • 编译bootload出错
  • 编译出错,帮我看看代码和出错信息
  • 我在交叉编译SDL时.老是出错
  • 一个小小的问题-关于JDK的使用!编译出错提示的查看!
  • 编译内核出错,有没有人帮忙阿
  • 访问mysql编译出错!!!
  • 求救!!编译内核后,加载时出错。
  • 求助,编译出错!
  • 编译出错,是什么原因?
  • #define一行太长怎么办?我看代码中用了可惜gcc 编译时出错了
  • 为什么使用gcc编译出错。高人帮忙。。。。
  • sco 编译lisence出错 求救!
  • 请问机器升级后,编译为何出错?
  • 编译linux0.01内核时出错,没有权限?
  • 编译出错:can not find -lc
  • linux/centos源码安装nginx编译配置选项参数介绍
  • 请教:JSP编译器编译成字节码,跟别的编译器编译出来的有什么不同呢?
  • 高速的网络抓包库PF_ring介绍及编译安装
  • 编译GCC时能不能只编译C/C++的编译器?
  • 关于arm交叉编译器4.3.3编译程序报错,但是3.4.5却能编译通过的问题
  • JB下,我的程序编译得好慢!请问用什么方法编译才可以快一点?或编译顺序改变一下?
  • 请问gdb是不是只能调试gcc编译的程序,在unix下用其它编译器编译的程序是不是不一定能用gdb调试的?
  • 用JCreator写了一个小程序,有十几个class,当修改某个文件重新编译,javac并没有编译修改的文件,请问要如何做javac才会重新编译所有的
  • 问:关于gcc编译器和g++编译器
  • 嵌入式linux开发:一段代码在windows平台用VC编译运行正常,在linux平台用gcc编译运行正常,但是用arm-linux-gcc编译在嵌入式板子上运行就不正常.
  • 在cygwin编译驱动程序要不要交叉编译?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3