我正在嘗試設置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`:爲什麼我運行`sudo chroot/bin/bash`會出錯?
- 2. scratchbox2錯誤 - 讓安裝
- 3. 如何chroot Django
- 4. PHP-FPM和CHROOT
- 5. Chroot vs Singularity
- 6. Apache Chroot - ibase_connect故障
- 7. org.gnome.SessionManager在Ubuntu 12.04的chroot
- 8. SSH use_groups與PAM和chroot的
- 9. chroot和bindfs問題
- 10. PHP-FPM open_basedir vs chroot
- 11. 沒有chroot的LXC
- 12. OpenSSL的一個chroot
- 13. Chroot以gui不工作
- 14. 卡祖笛與chroot環境
- 15. 在Chroot Solaris上安裝Java
- 16. 在chroot中安裝Alpine Linux
- 17. Java中的chroot-like環境?
- 18. 在PHP中調用chroot
- 19. 在Docker中運行chroot
- 20. 如何爲jenkins構建chroot?
- 21. 從chroot jail運行wireshark
- 22. 用戶環境不chroot的
- 23. 如何從chroot環境
- 24. 會話+另一個會話
- 25. Symfony會話到php會話
- 26. WCF會話 - ASP.Net會話
- 27. CodeIgniter會話vs PHP會話
- 28. 會話vs SSL會話
- 29. PHP:會話內的會話?
- 30. 如何在shell腳本測試是否我裏面Scratchbox2
謝謝,幾周前我設法使用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