移植android系統到mini2440

來源:互聯網
上載者:User

      在上周五,我將最新android系統的Linux核心2.6.29下載下來,針對我的G1手機進行了打補丁(nand flash、多點觸摸支援),並編譯出了G1的Linux核心,使用Fastboot引匯入G1,實踐證明此核心可以使用。之後便開始了向mini2440移植的工作。

我的移植和之前的網上已有的人的移植方法有不同,之前的移植者都是向已經移植好S3C2440的核心裡打Android補丁,這樣補丁量大,出錯的機會也大。而我經過考慮,決定使用反方法,先實現可以使用的Android核心,然後在這之上打上mini2440的補丁。這樣避免了打大量的補丁產生大量的錯誤。而這個2440的補丁要實現LCD 、觸控螢幕和網卡等基本驅動。

我從Tekkaman Ninja處得到了他最新的Linux-2.6.29.4的補丁(Tekkaman Ninja會在近期發布此補丁)。在去除了核心中的fusion模組(用於DFB)和Yaffs模組(G1核心已經有了)後把這個補丁打在了我的android的Linux核心2.6.29上,很快,也很順利(除了Makefile有問題之外,但很好解決,就是改一下交叉編譯器)。

然後就是配置核心,這很關鍵,我一開始大部分按照G1去配置(除了system type和一些驅動的配置),可是用在啟動到nfs檔案系統的時候就掛了。後來我根據網上的文章,只是在原來mini2440的配置上稍作修改,添加必要的android系統特有的驅動,編譯好後就可以引導最簡單的檔案系統,這說明這核心基本OK了。

要證明這個核心的可用性,只能使用android的檔案系統來測試了。在此之前已經有高人搞了一個可以在ARMV4上使用的Android檔案系統(armv4.tar.gz)。其實這個檔案系統是從openmoko 的 freerunner 的檔案系統中簡化來的。現在暫時用拿來主義先測試一下核心,以後在自己做一個。

在下載檔案系統armv4.tar.gz之後,根據網上的說明:

3.拷貝包中的system目錄到nfs中rootfs根目錄下的/system, data目錄到nfs中rootfs根目錄下的/data, root目錄中的內容到nfs中rootfs根目錄下
4.設定核心啟動參數中的init=/init,既指向根目錄下的init
5.刪除init.rc中的部分內容,去掉除mount tmpfs tmpfs /sqlite_stmt_journals size=4m之外所有的mount命令

 

現在就可以開啟mini2440,使用nfs作為根檔案系統。以下是啟動後的畫面:

 

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.