尝试编译Raspberry Pi 3.10内核时出错

时间:2014-04-19 18:52:14

标签: linux linux-kernel raspberry-pi

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

一切顺利,直到我必须运行

  

make 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

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

1 个答案:

答案 0 :(得分:0)

我几周来一直在谷歌周围解决你面临的确切问题。

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

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

步骤如下:

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

  

$ mkdir raspberrypi
  $ cd raspberrypi

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

  

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

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

  

$ 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 ../modules
  $ 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 /
  $ sync