我有一台32位MIPS机器,并希望在其上运行Linux。我需要使用我的Windows 7机器将Linux交叉编译为MIPS。我很困惑如何解决这个问题。有人能告诉我这是什么步骤,为什么?我不了解这个过程中涉及的所有不同工具。感谢。
答案 0 :(得分:7)
嗯,您可以(理论上)在Windows下构建内核和BusyBox rootfs,请参阅MIPS toolchain for Windows。但是在Windows中准备正确的构建环境可能相当难度(可能是Cygwin或MinGW,我不确定)。例如,在Ubuntu中,您可以随心所欲地准备好所有内容。
另一点是开发 - 使用Linux进行Linux内核开发更加容易和自然。我认识的每个人都在使用Linux内核(包括MIPS架构),他正在使用Linux进行开发并构建内核和rootfs。
简而言之:Windows是Linux开发的外来环境,尽量避免使用它。
因此,我建议您安装Linux发行版并将其用于构建内核和rootfs,并将构建的映像刷新到您的设备。最新的Ubuntu LTS会做(现在是Ubuntu 14.04)。
首先,您需要确定需要构建哪些组件。如果你有嵌入式系统 - 对于初学者我建议你做下一步:
git clone
稳定版本)现在你的工作环境很短。
在构建任何内容之前,请确保已安装MIPS toolchain并正确配置了您的环境(shell)。有两种工具链:
-elf
或-none-eabi
):适用于bare-metal计划。您应该使用它来构建引导加载程序和内核。-linux-gnu
或-linux-gnueabi
):它取决于Linux system calls并且具有C标准库,因此它适用于构建在Linux下运行的用户空间应用程序。您应该使用它来构建BusyBox,因为它是用户空间程序。我可能会建议您查看Sourcery CodeBench工具链。特别是你对下一个感兴趣:
安装工具链后,您需要在工作环境(shell)中执行下一步操作。
更新您的PATH
环境变量,将工具链的bin/
目录添加到其中:
$ export PATH=/opt/path/to/your/toolchain/bin:$PATH
导出CROSS_COMPILE
环境变量,该变量应包含工具链的前缀。例如,如果您在工具链mips-sde-elf-gcc
目录中看到bin/
,那么您应该做下一步:
$ export CROSS_COMPILE=mips-sde-elf-
导出ARCH环境。变种。设置为您的架构:
$ export ARCH=mips
现在,您可以像使用x86一样构建内核和BusyBox:
$ make <target>
正如评论中所建议的那样,看看OpenWrt项目可能是值得的,因为它是针对MIPS架构的(它是各种路由器非常流行的开源固件)而且它是&#39 ;广泛使用MIPS工具。查看OpenWrt build system文档,了解这些工具。