Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从Mac交叉编译到晦涩难懂的Linux发行版(嵌入式)?_Linux_Macos_Cross Compiling_Embedded Linux_Intel - Fatal编程技术网

如何从Mac交叉编译到晦涩难懂的Linux发行版(嵌入式)?

如何从Mac交叉编译到晦涩难懂的Linux发行版(嵌入式)?,linux,macos,cross-compiling,embedded-linux,intel,Linux,Macos,Cross Compiling,Embedded Linux,Intel,我看到了这个问题,但我的目标是这样的 $ uname -a Linux MyDevice 4.9.127-svn20747 #1 SMP Thu Jan 17 05:46:18 UTC 2019 x86_64 GNU/Linux less/proc/cpuinfo的一些输出 processor : 3 vendor_id : GenuineIntel cpu family : 6 model : 54 model name : Intel(R) Atom(TM) CPU

我看到了这个问题,但我的目标是这样的

$ uname -a
Linux MyDevice 4.9.127-svn20747 #1 SMP Thu Jan 17 05:46:18 UTC 2019 x86_64 GNU/Linux
less/proc/cpuinfo的一些输出

processor   : 3
vendor_id   : GenuineIntel
cpu family  : 6
model       : 54
model name  : Intel(R) Atom(TM) CPU D2701   @ 2.13GHz
stepping    : 1
microcode   : 0x10d
cpu MHz     : 2127.900
cache size  : 512 KB
因此,我怀疑是否有现成的解决方案


如何从Mac编译到运行在Atom CPU上的嵌入式Linux?

您的目标是64位x86平台,这一点肯定不含糊。你链接的问题是最好的起点,在嵌入式主板上启动linux发行版的虚拟机,在其中编译并将可执行文件scp到主板上(或者只是在主板上编译,你的目标并不是完全动力不足)

这是我编译时做的(交叉编译?我真的不确定我做了什么。)bonnie++在Mac上运行带有NAS OS-VM的VirtualBox。我认为这应该适用于大多数可以使用简单的
/配置编译的软件;进行
过程

  • 从这里下载NAS OS SDK虚拟机(NASOS_SDK-0.7.ova)

  • 我开始遵循这些说明,直到我到达交叉编译部分,在那里我被重定向到

  • 跳到以开头的段落,交叉编译hello程序并执行此处描述的三个导出。工具链前缀可以在
    /opt
    的相应目录中找到:例如,在
    x86\u 64-segate-nasos-sdk
    中有一个目录
    x86\u 64-segate-linux-gnu
    -使用该名称作为工具链前缀(为什么指南中没有包含此信息?)

  • 按照说明执行
    配置
    生成

  • 完成了

    如果有人知道如何执行静态链接,请添加评论

    如果您试图编译
    /configure;使
    已起作用


    NAS OS SDK虚拟机

    您使用什么构建系统?根据代码质量和其他限制,这可能并不难。主要是苹果自己的、Xcode、clang等等。我也有从MacPorts制作的GNU。我正试图编译bonnie或fio,请注意,您的Mac在设计上可能比您能找到的任何Linux发行版都“晦涩难懂”。@Roadowl是BSD,所以根据Linux标准,它的定义是“晦涩难懂”。但从市场份额来看,它在台式机上可能比所有Linux发行版加上唯一真正的竞争对手Android更为常见(但Android本身对于Linux来说非常奇怪…),我如何在VM上安装Seagate的NAS操作系统?如果我能做到这一点,下一个问题是默认情况下它不包含gcc,所以我想我必须交叉编译它,不是吗?这确实是一个模糊的操作系统。更新你的问题,包括相关信息。你看过吗?我想编译bonnie++或fio,所以我认为教程不适用。ISA很常见,但如果你想链接正确的库构建等等,那就更难了@d-b:最坏情况下,您可以使用(或交叉编译)任何GNU/Linux发行版构建静态可执行文件;这应该适用于任何内核,因为系统调用ABI是稳定的。另外,
    libc.so.6
    有一个非常稳定的ABI,因此如果你没有任何其他库依赖,那么你通常可以在Ubuntu、Debian、Arch或任何安装上构建一个普通的可执行文件,当你在嵌入式机器上运行它时,动态链接将找到正确的符号。(至少如果它是glibc,IDK关于MUSL的话)@PeterCordes有理由不使用静态链接构建它吗?我该怎么做?