日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > Android >内容正文

Android

[Android] 单独编译生成boot.img时mkbootfs: No such file or directory解决方法

發(fā)布時(shí)間:2024/1/1 Android 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [Android] 单独编译生成boot.img时mkbootfs: No such file or directory解决方法 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

在一臺(tái)沒有安裝Android源碼編譯環(huán)境的64位 Ubuntu14.04.5虛擬機(jī)上嘗試單獨(dú)編譯Android用的Linux Kernel。并從編譯好Android源碼的機(jī)器上將out文件夾下的mkbootfs、minigzip、mkbootimg二進(jìn)制程序copy了過來,用于生成boot.img

用copy過來的arm-eabi-4.6編譯Kernel正常,但是編譯后生成ramdisk.img的那一步,腳本執(zhí)行總提示
tools/mkbootfs: No such file or directory
tools/minigzip: No such file or directory

確認(rèn)了mkbootfs和minigzip文件的權(quán)限等沒發(fā)現(xiàn)問題,只能想到是某些安裝包沒有安導(dǎo)致與原有的開發(fā)環(huán)境不一樣。

試驗(yàn)后用下面命令安裝g++-multilib和gcc-multilib后就正常了。

sudo apt-get install g++-multilib gcc-multilib

果然是由于mkbootfs是用32位的gcc/g++編譯生成的,所以在64位系統(tǒng)上執(zhí)行就需要安裝g++-multilib或者gcc-multilib,兩個(gè)只安裝其中一個(gè)可能也可行,不過以后可能還有其他需要,就索性都安上吧。

又用readelf確認(rèn)了一下mkbootfs文件的ELF Header證實(shí)了想法。

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

總結(jié)

以上是生活随笔為你收集整理的[Android] 单独编译生成boot.img时mkbootfs: No such file or directory解决方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。