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
我该如何解决这个问题?谢谢!
答案 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