【问题标题】:Error trying to compile Raspberry Pi 3.10 kernel尝试编译 Raspberry Pi 3.10 内核时出错
【发布时间】:2014-06-04 03:23:51
【问题描述】:

Helo,我正在尝试按照here 的说明编译 Raspberry Pi 的 linux 3.10 内核。我从https://github.com/raspberrypi/linux 获得了内核,我正在使用this 编译器。

一切顺利,直到我不得不运行

使 ARCH=arm CROSS_COMPILE=${CCPREFIX}

这是我得到的错误的输出:

$ make ARCH=arm CROSS_COMPILE=${CCPREFIX}
  CHK     include/generated/uapi/linux/version.h
  CHK     include/generated/utsrelease.h
make[1]: `include/generated/mach-types.h' está actualizado.
  CALL    scripts/checksyscalls.sh
  CC      scripts/mod/devicetable-offsets.s
  GEN     scripts/mod/devicetable-offsets.h
  HOSTCC  scripts/mod/file2alias.o
  HOSTLD  scripts/mod/modpost
  CHK     include/generated/compile.h
  GZIP    kernel/config_data.gz
  CHK     kernel/config_data.h
  CC [M]  drivers/net/wireless/rtl8192cu/core/rtw_cmd.o
In file included from drivers/net/wireless/rtl8192cu/include/osdep_service.h:1233:0,
             from drivers/net/wireless/rtl8192cu/core/rtw_cmd.c:23:
drivers/net/wireless/rtl8192cu/include/rtw_byteorder.h:36:2: error: #error "Must be LITTLE/BIG Endian Host"
In file included from drivers/net/wireless/rtl8192cu/include/drv_types.h:83:0,
             from drivers/net/wireless/rtl8192cu/core/rtw_cmd.c:24:
drivers/net/wireless/rtl8192cu/include/rtw_mlme_ext.h:886:2: error: #error "Must be LITTLE or BIG Endian"
make[4]: *** [drivers/net/wireless/rtl8192cu/core/rtw_cmd.o] Error 1
make[3]: *** [drivers/net/wireless/rtl8192cu] Error 2
make[2]: *** [drivers/net/wireless] Error 2
make[1]: *** [drivers/net] Error 2
make: *** [drivers] Error 2

我该如何解决这个问题?谢谢!

【问题讨论】:

    标签: linux linux-kernel raspberry-pi


    【解决方案1】:

    我已经在 Google 上进行了数周的研究,以解决您面临的确切问题。

    并不是说我得到了直接的答案,但至少按照下面链接中显示的确切步骤,我已经能够编译一个能够启动 Raspbian 的图像(有待解决的错误, 仍然)在 RPI 上。

    http://helloraspberrypi.blogspot.tw/2014/01/cross-compile-raspberry-pi-kernel-from.html

    步骤如下:

    创建我们的工作目录,raspberrypi:

    $ mkdir 树莓派
    $ cd 树莓派

    在开始我们的工作之前,安装树莓派linux的必要工具和源代码:

    $ git clone https://github.com/raspberrypi/tools.git
    $ git clone https://github.com/raspberrypi/linux.git

    从预打包的配置 bcmrpi_cutdown_defconfig 中准备 .config 文件:

    $ cd linux
    $ make ARCH=arm CROSS_COMPILE=/usr/bin/arm-linux-gnueabi- bcmrpi_cutdown_defconfig


    ========== 注意 ==========

    为了便于阅读,我不会详细说明如何解决“startx”命令后鼠标和键盘无法工作的问题。

    然而,

    $ make ARCH=arm CROSS_COMPILE=/usr/bin/arm-linux-gnueabi-menuconfig

    被使用而不是

    $ make ARCH=arm CROSS_COMPILE=/usr/bin/arm-linux-gnueabi-bcmrpi_cutdown_defconfig

    如果需要,我可以提供更多详细信息。

    ========== 注意 ==========

    构建内核:

    $ make ARCH=arm CROSS_COMPILE=/usr/bin/arm-linux-gnueabi-
    $ mkdir ../模块
    $ make modules_install ARCH=arm CROSS_COMPILE=/usr/bin/arm-linux-gnueabi- INSTALL_MOD_PATH=../modules/
    $ cd ../tools/mkimage/
    $ ./imagetool-uncompressed.py ../../linux/arch/arm/boot/Image

    现在插入 Raspbian 安装的 SD 卡,然后运行命令:

    $ sudo rm /media//kernel.img
    $ sudo mv kernel.img /media//
    $ sudo rm -rf /media//lib/modules/
    $ sudo rm -rf /media//lib/firmware/
    $ cd ../../modules/
    $ sudo cp -a lib/modules/ /media//lib/
    $ sudo cp -a lib/firmware/ /media//lib/
    $同步

    【讨论】:

    • 嗨,欢迎来到 SO。请花时间阅读stackoverflow.com/help/how-to-answer。在本网站上提供答案时,最好将所有相关点都张贴在实际答案中,而不是链接到。务必提供链接作为附加材料。
    • 这并不能真正回答问题。如果您有其他问题,可以点击 提问。一旦你有足够的reputation,你也可以add a bounty引起更多的关注。
    • 加深,Barranka:我编辑了答案并添加了所有必要的步骤来编译一个可行的图像。
    • @Saksham:我知道我没有回答如何解决驱动程序错误,因为我也无法解决。但是,Bouchard 和我的主要目标是相同的,我们想要一个自编译的、可行的图像,我提供的步骤就是为了这个目的而无需解决驱动程序错误。希望这个答案能够帮助那些和我一样迷失的人。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-20
    • 1970-01-01
    • 1970-01-01
    • 2019-08-02
    • 1970-01-01
    相关资源
    最近更新 更多