移植標準Linux到S3C2410
3 完整系統的構成
要想讓linux真正跑起來,還需要根文件系統的支持,常用的方法是Ramdisk。Ramdisk 是通過將計算機的內存(RAM)模擬作設備來創建和掛裝文件系統的一種驅動器機制。一般應包括以下目錄內容: /dev(設備文件目錄); /proc (proc 文件系統目錄);/etc(系統配置文件的目錄); /sbin(系統程序的目錄);/bin(基本應用程序目錄);/lib(共享函數庫的目錄);/mnt (裝載其他磁盤節點的目錄);/usr(附加應用程序的目錄)[3]。
除此之外一個完整的嵌入式系統還要有引導代碼,如vivi,u_boot等。Bootloader也需要移植與編譯,在此并不詳述。以上三塊內容都準備好,對FLASH做好區間的劃分[1]以后,便可以用 FLASH 燒寫工具依次將Bootloader,內核以及根文件系統燒寫到 FLASH里。然后就可以啟動系統了。
系統從0 地址處開始執行Bootloader。Bootloader做完相關硬件初始化工作之后從 FLASH里把壓縮的內核映象復制到SDRAM內并且把根文件系統所在地址參數傳遞給內核[1]。內核復制到SDRAM之后進行內核解壓啟動。內核啟動過程中根據 Bootloader傳遞過來的地址參數去尋找根文件系統 , 將其加載到嵌入式系統上。這樣,整個Linux被引導啟動起來 , 進入正常工作狀態。
4 結束語
本文作者創新點:現在采用較為普遍的2.4版本的Linux并沒有包含進對S3C2410的支持,給基于此的嵌入式系統的開發帶來不便。本文在了解了移植過程中普遍存在的問題和作者經驗教訓積累的基礎上,詳盡分析了如何將Linux2.4移植到ARM平臺的嵌入式系統上的主要技術,使得該系統可以很好的支持目標平臺,并且移植后的Linux 很好的保留了原有的工作穩定的特點。在移植過程中強調其原理與可操作性,對加深對于Linux內核的理解和開發嵌入式系統是十分重要的,對于開發其他嵌入式系統具有參考意義。
參考文獻 ( References)
[1]劉晶晶,基于ARM-Linux嵌入式系統引導程序的設計[J],微計算機信息,2006,2-2:123-125
[2]李明,ARM Linux 的移植過程及分析,電子設計應用[J],2003,7:55-57
[3]徐虹等,操作系統實驗指導[M],北京:清華大學出版社,2002,5
[4]張杰,曹衛華,吳敏,施衛強,基于S3C2410的Linux移植[J],微機發展, 2005(15),6:142-144
[5]孫天澤,袁文菊,張海峰,嵌入式設計及Linux驅動開發指南[M],北京:電子工業出版社,2005,9
[6]Wookey and Tak-Shing,Porting the Linux Kernel to a New ARM Platform,SOLUTIONS JOURNAL,2002,4:52-57
linux操作系統文章專題:linux操作系統詳解(linux不再難懂)












評論