www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 嵌入式 > 嵌入式軟件
[導(dǎo)讀] google的android很多人都希望在gphone沒有出來之前,把它移植到相關(guān)的硬件平臺(tái)上去。網(wǎng)上看了不少文章,總的感覺是:在這一步走得最遠(yuǎn)的就是openmoko的一個(gè)大師級(jí)別的黑客

 google的android很多人都希望在gphone沒有出來之前,把它移植到相關(guān)的硬件平臺(tái)上去。網(wǎng)上看了不少文章,總的感覺是:在這一步走得最遠(yuǎn)的就是openmoko的一個(gè)大師級(jí)別的黑客Ben “Benno” Leslie,他曾經(jīng)試圖把目前google發(fā)布的android移植到openmoko的平臺(tái)上去,并且做了10000多行代碼的嘗試。最終雖然由于open moko采用比較老的arm 920t的內(nèi)核,而android采用較新的arm926-ej-s內(nèi)核,而且使用了新的內(nèi)核的一些新特性,導(dǎo)致移植失敗,但是anyway,他已經(jīng)做了足夠多的前期工作了,爾后的宣布成功移植android到real target板子上的人,大多是在他提供的patch的基礎(chǔ)上繼續(xù)走下去做出來的。

下面是一些有用的參考,希望有助于對(duì)此感興趣的開發(fā)人員:

(1)Ben “Benno” Leslie的關(guān)于andorid移植到openmoko的個(gè)人博客地址:

http://benno.id.au/blog/

(2)早期宣布成功移植android到zauraus-sl-c760的詳細(xì)方法描述的鏈接:

http://euedge.com/blog/2007/12/06/google-android-runs-on-sharp-zaurus-sl-c760/

(3)后續(xù)的根據(jù)上述先行者們的工作,成功移植android到zauraus-c3000的方法:

http://androidzaurus.seesaa.net/article/74237419.html

(4)本文是參考下面的wiki,接合個(gè)人的實(shí)踐寫出來的,對(duì)原文的作者表示一下感謝:

http://wiki.droiddocs.net/Compilation_of_Android_kernel

很羨慕這些人阿!

不過很可惜,偶的開發(fā)板是s3c2410的,恰好是arm920t的核心的。。。估計(jì)移植上去戲不是很大,需要重寫很多代碼,畢竟偶跟benno相差得太遠(yuǎn)太遠(yuǎn)了,同樣是開發(fā)人員,差距咋就那么大呢?!

(畢竟google僅僅開放了kernel的源代碼而已,他們需要開放的東西還很多。)

在這里把關(guān)于android內(nèi)核編譯方法簡單寫一下,或許對(duì)希望移植內(nèi)核的朋友能有些幫助:

(看了Benno的移植過程以后,覺得即使你能夠編譯google開放出來的內(nèi)核,意義也不是特別大,因?yàn)檫@個(gè)內(nèi)核中加入了為了支持qemu的很多東西,而這些代碼似乎對(duì)希望移植到真機(jī)上的朋友來說,沒有任何意義,反而是一種阻礙)。

1)從CodeSourcery上面載用于交叉編譯的工具鏈:

http://www.codesourcery.com/gnu_toolchains/arm/download.html

我在這里選擇的是->ARM GNU/Linux,以及IA32-GNU/Linux。有文章說應(yīng)該選擇ARM EABI,我不知道了,沒有測(cè)試過,反正我選擇的這個(gè)編譯的內(nèi)核也是可以跑起來的:P

2)下載google的android linux的內(nèi)核源代碼:

http://code.google.com/p/android/downloads/list

主要是這個(gè)文件:linux-2.6.23-android-m3-rc20.tar.gz

3)把下載到的內(nèi)核和交叉編譯工具解壓縮,并最好把工具鏈的路徑放到PATH里面去

解壓縮內(nèi)核: $ mkdir -p android $ cd android $ tar xzvf ../linux-2.6.23-android-m3-rc20.tar.gz 會(huì)解壓出來一個(gè)叫做kernel的目錄,google的android的linux內(nèi)核就在里面了。解壓縮交叉編譯工具鏈: $ cd /usr/local/ $ sudo cp ~/arm-2007q3-51-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 . $ sudo tar zxvf arm-2007q3-51-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2此時(shí)會(huì)解壓出來一個(gè)叫做arm2007q3的一個(gè)目錄,這里面就是工具鏈了。設(shè)置一下環(huán)境變量: $ export PATH=$PATH:/usr/local/arm2007q3/bin好了,到此,基本的內(nèi)核編譯環(huán)境就搞好了。4)現(xiàn)在是要得到android的內(nèi)核編譯參數(shù)的配置文件的時(shí)候了,該文件需要從已經(jīng)安裝好的android的模擬器中得到才行。所以安裝android的sdk也是必須的,這一步不太明白的朋友可以參考我以前發(fā)的android命令行體驗(yàn)的文章。首先啟動(dòng)android模擬器,然后通過adb得到模擬器中提供的內(nèi)核配置文件: $emulator & $adb pull /proc/config.gz .這時(shí)候adb工具會(huì)連接模擬器,并從它里面下載一個(gè)叫做config.gz的文件到你的當(dāng)前目錄下。把它拷貝到你的kernel目錄: $cd ~/android/kernel $cp ~/config.gz . 解壓縮該文件,并重命名為.config,這一步做了就可以跳過make menuconfig之類的內(nèi)核參數(shù)設(shè)置動(dòng)作了。 $gunzip config.gz $mv config .config5)修改kernel目錄中的Makefile文件,用emacs或vi打開該Makefile修改CROSS_COMPILE變量為:CROSS_COMPILE=arm-none-linux-gnueabi-這個(gè)就是剛剛的下載和解壓的工具鏈的前綴了,旨在告訴make,在編譯的時(shí)候要使用我們的工具鏈。在Makefile中注釋掉LDFLAGS_BUILD_ID這個(gè)變量:例如將如下定義:LDFLAGS_BUILD_ID = $(patsubst -Wl$(comma)%,%,\ $(call ld-option, -Wl$(comma)--build-id,))修改為:LDFLAGS_BUILD_ID=#LDFLAGS_BUILD_ID = $(patsubst -Wl$(comma)%,%,\# $(call ld-option, -Wl$(comma)--build-id,))把它注釋掉的原因是目前android的內(nèi)核還不支持這個(gè)選項(xiàng)。--build-id選項(xiàng),主要是用于在生成的elf可執(zhí)行文件中加入一個(gè)內(nèi)置的id,這樣在core dump,或者debuginfo的時(shí)候就可以很快定位這個(gè)模塊是哪次build的時(shí)候弄出來的。這樣就可以避免,每次都把整個(gè)文件做一遍效驗(yàn),然后才能得到該文件的是由哪次build產(chǎn)生的。對(duì)于內(nèi)核開發(fā)者來說,這是很不錯(cuò)的想法,可以節(jié)約定位模塊版本和其影響的時(shí)間。目前,該功能還出于early stage的狀態(tài),未來的android或許會(huì)支持,但至少目前的版本是不支持的。所以,用#注釋掉即可,或者害怕不保險(xiǎn)的話,就加入LDFLAGS_BUILD_ID=空,這樣即使編譯的時(shí)候用了,也只是一個(gè)空格而已。對(duì)這個(gè)--build-id選項(xiàng)感興趣的朋友,可以訪問下面的網(wǎng)址,它的作者已經(jīng)解釋得非常明白了:http://fedoraproject.org/wiki/Releases/FeatureBuildId6)終于可以開始make了。 $ make不出意外的話,應(yīng)該整個(gè)過程都會(huì)非常順利,最終會(huì)在~/android/kernel/arch/arm/boot目錄下面生成一個(gè)zImage,這個(gè)就是我們要的內(nèi)核映像了。7)激動(dòng)人心的時(shí)刻終于到來了,我們可以測(cè)試一下剛剛編譯出來的內(nèi)核可以不可以用了。 $emulator -kernel ~/android/kernel/arch/arm/boot/zImage當(dāng)看到red eye在晃來晃去,最終顯示出來android的界面的時(shí)候,一顆懸著的心總算放下了。android的proc里面的version如下:# cat versionLinux version 2.6.23 (wayne@wayne) (gcc version 4.2.1 (CodeSourcery Sourcery G++ Lite 2007q3-51)) #1 Sat Jan 19 18:11:44 HKT 2008[!--empirenews.page--]

從這里就可以看出,這是自己編譯的kernel,而不是人家sdk里面自帶的kernel-qemu了。android自帶的sdk里面的kernel映像的version應(yīng)該是:# cat versionLinux version 2.6.23-gcc3bc3b4 (arve@arvelnx.corp.google.com) (gcc version 4.2.1) #3 Tue Oct 30 16:28:18 PDT 2007hoho, 這里不會(huì)把這個(gè)開發(fā)者的email暴露出來了吧。。。android的cpuinfo如下:Processor : ARM926EJ-S rev 5 (v5l)BogoMIPS : 313.75Features : swp half thumb fastmult vfp edsp javaCPU implementer : 0x41CPU architecture: 5TEJCPU variant : 0x0CPU part : 0x926CPU revision : 5Cache type : write-throughCache clean : not requiredCache lockdown : not supportedCache format : HarvardI size : 4096I assoc : 4I line length : 32I sets : 32D size : 65536D assoc : 4D line length : 32D sets : 512Hardware : GoldfishRevision : 0000Serial : 0000000000000000不過挺奇怪的,google sdk自帶的內(nèi)核映像的BogoMIPS是3.18的,偶編譯出來的是3.13的。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉