摩托罗拉刚刚发布了基于x86的Android手机.关于为ARM编写的本机应用程序/库(例如netflix)如何在这款手机上运行,我有点困惑.
如果有人能解释,我将不胜感激.
我试图建立与内核图像的buildroot,做后make menuconfig和make,我得到:
No kernel defconfig name specified, check your BR2_LINUX_KERNEL_DEFCONFIG setting
Run Code Online (Sandbox Code Playgroud)
我可以设置一个字符串defconfig,但我不知道该放什么.
我的目标系统是AT91SAM9RL板.
编辑:我发现某些设备有一些预制的配置文件,实际上并不完全匹配我的目标.
后如何解决:运行gem5在系统调用仿真SE模式时,“致命的内核太旧”?我设法在某些条件下运行了一个静态链接的 hello world。
但是,如果我尝试针对 stdlib 运行一个 ARM 动态链接的:
./out/common/gem5/build/ARM/gem5.opt ./gem5/gem5/configs/example/se.py -c ./a.out
Run Code Online (Sandbox Code Playgroud)
它失败了:
fatal: Unable to open dynamic executable's interpreter.
Run Code Online (Sandbox Code Playgroud)
如何让它找到解释器?希望不要在我的主机根目录上复制我的交叉工具链的解释器。
对于 x86_64,如果我使用我的本机编译器,它就可以工作,并且正如预期的strace那样,它使用本机解释器,但如果我使用交叉编译器,它就不起作用。
当前的常见问题解答说不能使用动态可执行文件:http : //gem5.org/Frequently_Asked_Questions但我不相信它,然后这些演示文稿提到了它:
但不是如何实际使用它。
QEMU 用户模式有这个-L选项。
在 gem5 49f96e7b77925837aa5bc84d4c3453ab5f07408e 中测试
https://www.mail-archive.com/gem5-users@gem5.org/msg15582.html
我一直在使用buildroot来使用uclibc构建工具链。现在,buildroot下载所有包,解压并构建它们。
我想更改工具链的uclibc源代码,然后使用新源代码重新编译工具链,但我只是不明白如何以漂亮的方式完成它。
完成构建后,所有提取的源都可以在“ <buildroot-src>/output/build ”中找到。但更改它们不会给我带来任何好处,因为 buildroot 仅在构建期间使用此目录作为中间目录。
所以我的想法是,也许可以更改uclibc包中的 .mk 文件,并使其使用我修改过的源代码,而不是下载并提取它(尚未确定是否可以在那里完成),但这似乎是一个有点难看的解决方案。
所以我的问题是:有没有更好的方法告诉 buildroot 使用现有源构建包?
buildroot ×3
arm ×2
android ×1
android-ndk ×1
android-x86 ×1
c ×1
gem5 ×1
kernel ×1
linux ×1
linux-kernel ×1
native ×1
toolchain ×1
uclibc ×1
xilinx ×1