做網(wǎng)站需要什么百度關(guān)鍵詞推廣價(jià)格
背景說(shuō)明:
? ? 上一篇博文講述了使用linaro release 14.10的現(xiàn)成boot和android kernel版本制作SD啟動(dòng)卡,本文講述如何使用linaro release 14.10 android源碼編譯pandaboard的SD卡啟動(dòng)包.
制作步驟:
(¥),到http://releases.linaro.org/14.10/android/panda下載linaro_android_build_cmds.sh,存放在ubantu系統(tǒng)的某個(gè)文件夾下面。打開終端,進(jìn)入 該目錄下。執(zhí)行$sh?linaro_android_build_cmds.sh,會(huì)先下載android源碼包到該目錄下,文件夾名稱就是"android"。
在下載過(guò)程中,會(huì)出現(xiàn)如下幾個(gè)文件包不能下載的錯(cuò)誤提示,出現(xiàn)該錯(cuò)誤的原因是linaro文件庫(kù)上已經(jīng)刪除了這幾個(gè)目錄(具體原因不詳),但出現(xiàn)這個(gè)問(wèn)題后,會(huì)導(dǎo)致下面的下載無(wú)法繼續(xù)完成,因此也就不會(huì)有編譯的結(jié)果了。
Fetching projects:? 18% (76/420)? fatal: remote error: access denied or repository not exported: /people/harigopal.gollamudi/lava-blackbox
fatal: remote error: access denied or repository not exported: /people/harigopal.gollamudi/lava-blackbox
error: Cannot fetch people/harigopal.gollamudi/lava-blackbox
Fetching projects:? 30% (126/420)? fatal: remote error: access denied or repository not exported: /people/ragesh.radhakrishnan/libjpeg-turbo
fatal: remote error: access denied or repository not exported: /people/ragesh.radhakrishnan/libjpeg-turbo
error: Cannot fetch people/ragesh.radhakrishnan/libjpeg-turbo
Fetching projects:? 46% (194/420)? fatal: remote error: access denied or repository not exported: /people/harigopal.gollamudi/glmark2
fatal: remote error: access denied or repository not exported: /people/harigopal.gollamudi/glmark2
error: Cannot fetch people/harigopal.gollamudi/glmark2
Fetching projects: 100% (420/420), done. ?
Syncing work tree:? 34% (143/420)? fatal: failed to unpack tree object HEAD Traceback (most recent call last):
? File "/home/wjt/u-boot/linaro_omap4/aosp2/android/.repo/repo/main.py", line 506, in <module>??? _Main(sys.argv[1:])
? File "/home/wjt/u-boot/linaro_omap4/aosp2/android/.repo/repo/main.py", line 482, in _Main
??? result = repo._Run(argv) or 0
? File "/home/wjt/u-boot/linaro_omap4/aosp2/android/.repo/repo/main.py", line 161, in _Run
??? result = cmd.Execute(copts, cargs)
? File "/home/wjt/u-boot/linaro_omap4/aosp2/android/.repo/repo/subcmds/sync.py", line 681, in Execute?? project.Sync_LocalHalf(syncbuf)
? File "/home/wjt/u-boot/linaro_omap4/aosp2/android/.repo/repo/project.py", line 1196, in Sync_LocalHalf??? self._InitWorkTree()
? File "/home/wjt/u-boot/linaro_omap4/aosp2/android/.repo/repo/project.py", line 2298, in _InitWorkTree
??? raise GitError("cannot initialize work tree")
error.GitError: cannot initialize work tree
上述問(wèn)題的解決辦法是:到已經(jīng)下載的開源安卓源碼(AOSP)中找到.repo文件夾(隱藏文件夾),在該文件夾下面有manifest.xml,這個(gè)是repo(版本管理軟件)用來(lái)創(chuàng)建本地目錄的工具,根據(jù)上面的錯(cuò)誤查找到相應(yīng)的*.git文件,可以查看到其在本地目錄中的位置,然后將這3個(gè)文件拷貝到對(duì)應(yīng)的目錄下面,就可以順利完成安卓系統(tǒng)編譯工作,整個(gè)下載編譯大概需要6個(gè)小時(shí)左右(視網(wǎng)絡(luò)與工作機(jī)的速度情況),生成的版本在android/out/target/product/pandaboard下面,有MLO、u-boot.bin、u-boot.img、boot.tar.bz2、system.tar.bz2、userdata.tar.bz2等。
(¥),執(zhí)行如下腳本,用于下載配置linaro的版本制作工具包,
$ sudo add-apt-repository ppa:linaro-maintainers/tools$ sudo apt-get update$ sudo apt-get install linaro-image-tools
(¥),進(jìn)入android/out/target/product/pandaboard目錄下,執(zhí)行如下腳本,先查看sd卡的分區(qū)情況,是否存在sdc1,sdc2,sdc3,sdc4,sdc5等分區(qū),如果存在將生成的MLO,boot.bin,boot.img,kernel,android系統(tǒng)安裝到相應(yīng)的分區(qū)中,要注意分區(qū)的名稱是sdc還是sdx(正常情況下,經(jīng)過(guò)這一步后,會(huì)在SDX的system分區(qū)下生成一系列系統(tǒng)文件夾如app、bin、etc、framework、verdor燈,如果沒(méi)有,則說(shuō)明sd卡分區(qū)存在問(wèn)題,需要先用gparted工具將原分區(qū)刪除后,再執(zhí)行如下命令,應(yīng)該會(huì)正確生成分區(qū)文件系統(tǒng))
$dmesg|tail$linaro-android-media-create --mmc /dev/sdc --dev panda --boot boot.tar.bz2 --system system.tar.bz2 --userdata userdata.tar.bz2
(¥),進(jìn)入android/out/target/product/pandaboard目錄下,將install-binaries-4.0.4.sh(調(diào)用安裝圖形庫(kù)并加載到SD卡中的腳本)和imgtec-panda-imm76i-67545da7.tgz(圖形庫(kù)安裝腳本)拷貝到該目錄下,在本目錄下執(zhí)行如下腳本(注意,如果執(zhí)行過(guò)程中存在下載鏈接問(wèn)題等,需要將所需要的文件單獨(dú)下載,并需要單步執(zhí)行腳本)
$ chmod a+x install-binaries-4.0.4.sh $ ./install-binaries-4.0.4.sh
(¥),將SVT制作的MLO,boot.bin,boot.img替換SD卡中boot目錄下的文件,然后右鍵“彈出驅(qū)動(dòng)器”,將SD卡從ubantu系統(tǒng)中卸載,并將SD卡裝到pandaboard上,上電啟動(dòng),就可以看到顯示器上的android標(biāo)志了。