[Android] 单独编译生成boot.img时mkbootfs: No such file or directory解决方法
在一臺沒有安裝Android源碼編譯環境的64位 Ubuntu14.04.5虛擬機上嘗試單獨編譯Android用的Linux Kernel。并從編譯好Android源碼的機器上將out文件夾下的mkbootfs、minigzip、mkbootimg二進制程序copy了過來,用于生成boot.img
用copy過來的arm-eabi-4.6編譯Kernel正常,但是編譯后生成ramdisk.img的那一步,腳本執行總提示
tools/mkbootfs: No such file or directory
tools/minigzip: No such file or directory
確認了mkbootfs和minigzip文件的權限等沒發現問題,只能想到是某些安裝包沒有安導致與原有的開發環境不一樣。
試驗后用下面命令安裝g++-multilib和gcc-multilib后就正常了。
sudo apt-get install g++-multilib gcc-multilib果然是由于mkbootfs是用32位的gcc/g++編譯生成的,所以在64位系統上執行就需要安裝g++-multilib或者gcc-multilib,兩個只安裝其中一個可能也可行,不過以后可能還有其他需要,就索性都安上吧。
又用readelf確認了一下mkbootfs文件的ELF Header證實了想法。
ELF Header:Magic: 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00 Class: ELF32Data: 2's complement, little endianVersion: 1 (current)OS/ABI: UNIX - System VABI Version: 0Type: EXEC (Executable file)Machine: Intel 80386Version: 0x1Entry point address: 0x8048c28Start of program headers: 52 (bytes into file)Start of section headers: 23604 (bytes into file)Flags: 0x0Size of this header: 52 (bytes)Size of program headers: 32 (bytes)Number of program headers: 8Size of section headers: 40 (bytes)Number of section headers: 39Section header string table index: 36總結
以上是生活随笔為你收集整理的[Android] 单独编译生成boot.img时mkbootfs: No such file or directory解决方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android 驾考软件开发,驾考驾照考
- 下一篇: Android常用的工具资料