我正在尝试设置scratchbox2配置,以使用包含真正raspian分发副本的根分区交叉编译rasberry pi软件。这似乎总体上工作正常,因为我可以运行arm可执行文件,但是因为我试图在没有前缀的复制根分区中使用gcc,所以名称转换不起作用。我如何chroot scratchbox会话?运行sb2后运行chroot似乎不起作用。chroot scratchbox2会话?
回答
初始化scratchbox2!后无需chroot !.使用以下步骤可以达到您期望的效果:
确保您在主机系统上设置了交叉编译工具。假设你是一个Linux主机(Ubuntu的),您可以通过安装一个:
sudo apt-get install gcc-arm-linux-gnueabihf
(硬浮动)OR
sudo apt-get install gcc-arm-linux-gnueabi
如果你是一个不同的主机上,或者你有不同的工具链像编码源的工具链交叉编译,只要确保你安装了适当的版本(hardfloat/soft float)并将编译器的路径导出到$ PATH并记下名称(前缀)。
确保您安装了Qemu。
既然你已经安装了scratchbox2,假设路径到Rapberrypi的根文件系统的PC主机的副本存储在变量$ raspirootfs,
cd $raspirootfs
现在使用初始化SB2:
sb2-init raspberrypi arm-linux-gnueabi-gcc
哪里raspberrypi
只是目标配置的名称。用您的交叉编译器前缀替换arm-linux-gnuabi-gcc
。
如果这是你的第一个目标配置(如果这是第一次您正在运行SB2-INIT),你可以通过输入开始默认的目标配置SB2:
sb2 -eR
这应该给你一个提示,如:
[SB2 emulate raspberrypi] [email protected]#
现在sb2处于模拟模式,而不是正常模式,它会尝试远离主机二进制文件并使用qemu在$ raspirootfs中执行二进制文件。
在终端中输入sb2-show path /etc/apt
以查看/ etc/apt的映射方式。它应该显示如/etc/apt --> $raspirootfs/etc/apt
(而不是主机系统的/ etc/apt)。
安装到仿真系统中:
只要按照您在主机系统上的操作即可。例如:
apt-get install build-essential
交叉编译一些来源:
cd sourcedir
sb2 ./configure
sb2 make -jN
sb2 make install DESTDIR=$raspirootfs
对于那些试图建立使用scratchbox2一个交叉编译环境,我已经做了张贴在这里:http://praveenp.com/setting-up-a-cross-compiling-environment-to-build-linux-applications-for-embedded-targets/。对于使用chroot进行交叉编译,你可以参考这篇文章:http://praveenp.com/setting-up-an-environment-using-chroot-for-developing-applications-for-embedded-targets/
- 1. 如何chroot Django
- 2. PHP-FPM和CHROOT
- 3. Chroot vs Singularity
- 4. Apache Chroot - ibase_connect故障
- 5. SSH use_groups与PAM和chroot的
- 6. OpenSSL的一个chroot
- 7. PHP-FPM open_basedir vs chroot
- 8. Chroot以gui不工作
- 9. Symfony会话到php会话
- 10. 会话vs SSL会话
- 11. CodeIgniter会话vs PHP会话
- 12. 从chroot jail运行wireshark
- 13. 如何从chroot环境
- 14. 在Chroot Solaris上安装Java
- 15. 在Docker中运行chroot
- 16. 如何为jenkins构建chroot?
- 17. 在HTTPS会话中搜索会话ID,会话密钥
- 18. 会话
- 19. 会话?
- 20. 会话
- 21. 将文件写入chroot环境
- 22. 什么是会话和会话变量?
- 23. 设置会话变量为paramiko会话
- 24. 破坏特定会话的会话Funda
- 25. Laravel会话问题:多个会话ID
- 26. swfupload会话问题销毁会话
- 27. 更新快速会话会话
- 28. PHP会话与数据库会话
- 29. 会话问题 - 但会话问题?
- 30. cakePHP“会话”没有返回会话ID
谢谢,几周前我设法使用debootstrap和sb2 -eR来开发powerpc和raspberry pi。有一些技巧可以说服apt-get工作。主要的技巧是使用debootstrap来创建一个tar,使用--foreign从tar进行安装,解压第一步创建的tar以获取/ var/cache/apt/*中的所有文件(我忘记了确切的路径)然后使用sb2 -eR中的所有deb软件包在目录中运行dpkg --force-depends *。这有点丑陋,但经过这些步骤,它是一个完全功能的环境。 – John 2013-06-29 23:42:32
编译器有点慢,因为它们通过qemu-arm运行,但它的工作原理。如果有人想要详细的步骤,我可以在某处张贴博客文章。 – John 2013-06-29 23:43:07
我已经更新了我的答案,并附有详细介绍交叉编译步骤的博客文章链接。 – PraveenPalanisamy 2013-08-17 14:06:52