『壹』 arm-linux 內核應該如何裁剪!
下載linux源碼
make help 查看 xxx_config 中是否有你要的相關arm板,比如smdk6400mtd_defconfig 三星公司6410硬碟啟動的默認配置
make smdk6400mtd_deconfig , 產生.config 文件回
再根據板答子的具體情況,修改配置
make zImage , 在arch/arm/boot/ 目錄下產生 zImage文件
『貳』 Linux系統分析、裁減及RAMOS製作
使用Linux開發,根據應用需求的不同有不同的配置開發方法,但是一般都要經過如下的過程:
1.建立開發環境
操作系統一般使用RedHat-Linux,版本從7到9都可以,選擇定製安裝或全部安裝,通過網路下載相應的GCC交叉編譯器進行安裝(例如arm-Linux-gcc、arm-μclibc-gcc),或者安裝產品廠家提供的交叉編譯器。
2.配置開發主機
配置MINICOM,一般的參數為波特率為115 200bps,數據位為8位,停止位為1,無奇偶校驗,軟體硬體流控設為無。在Windows下的超級終端的配置也是這樣的。MINICOM軟體的作用是作為調試嵌入式開發板的信息輸出的監視器和鍵盤輸入的工具。配置網路,主要是配置NFS網路文件系統,需要關閉防火牆,簡化嵌入式網路調試環境設置過程。
3.建立引導裝載程序BOOTLOADER
從網路上下載一些公開源代碼的BOOTLOADER,如U-BOOT、BLOB、VIVI、LILO、ARM-BOOT、RED-BOOT等,根據自己具體的晶元進行移植修改。有些晶元沒有內置引導裝載程序,例如三星的ARM7、ARM9系列晶元,這樣就需要編寫開發板上Flash的燒寫程序,網路上有免費下載的Windows下通過JTAG並口簡易模擬器燒寫ARM外圍Flash晶元的燒寫程序,也有Linux下的公開源代碼的J-Flash程序。如果不能燒寫自己的開發板,就需要根據自己的具體電路進行源代碼修改。這是系統正常運行的第一步。如果購買了廠家的模擬器當然比較容易燒寫Flash,這對於需要迅速開發自己產品的人來說可以極大地提高開發速度,但是其中的核心技術是無法了解的。
4.下載別人已經移植好的Linux操作系統
如μCLinux、ARM-Linux、PPC-Linux等,如果有專門針對所使用的CPU移植好的Linux操作系統那是再好不過的,下載後再添加自己的特定硬體的驅動程序,進行調試修改,對於帶MMU的CPU可以使用模塊方式調試驅動,對於μCLinux這樣的系統則需編譯進內核進行調試。
5.建立根文件系統
從下載使用BUSYBOX軟體進行功能裁減,產生一個最基本的根文件系統,再根據自己的應用需要添加其他程序。默認的啟動腳本一般都不會符合應用的需要,所以就要修改根文件系統中的啟動腳本,它的存放位置位於/etc目錄下,包括:/etc/init.d/rc.S、/etc/profile、/etc/.profile等,自動掛裝文件系統的配置文件/etc/fstab,具體情況會隨系統不同而不同。根文件系統在嵌入式系統中一般設為只讀,需要使用mkcramfs、genromfs等工具產生燒寫映像文件。
6.建立應用程序的Flash磁碟分區
一般使用JFFS2或YAFFS文件系統,這需要在內核中提供這些文件系統的驅動,有的系統使用一個線性Flash(NOR型)512KB~32MB,有的系統使用非線性Flash(NAND型)8~512MB,有的兩個同時使用,需要根據應用規劃Flash的分區方案。
7.開發應用程序
應用程序可以放入根文件系統中,也可以放入YAFFS、JFFS2文件系統中,有的應用不使用根文件系統,直接將應用程序和內核設計在一起,這有點類似於μCOS-II的方式。
8.燒寫內核、根文件系統、應用程序
9.發布產品
『叄』 有關linux內核移植時的裁剪涉及哪些內容
嵌入式Linux系統的移植主要有U-Boot、Linux內核、文件系統這三部分。
Uboot是在系統上電時開始執行,初始化硬體設備,准備好軟體環境,然後才調用Linux操作系統內核。文件系統是Linux操作系統中用來管理用戶文件的內核軟體層。文件系統包括根文件系統和建立於Flash內存設備之上文件系統。根文件系統包括系統使用的軟體和庫,以及所有用來為用戶提供支持架構和用戶使用的應用軟體,並作為存儲數據讀寫結果的區域。
可將Linux系統移植過程大致需要分成6個步驟:
1) 准備工作,包括下載源碼、建立交叉編譯環境等。交叉開發是指在開發主機上安裝開發工具,編輯、編譯目標板的引導程序、內核和文件系統,使其能在目標板上運行。
2) 配置和編bootloader(引導裝載程序)。通過這段小程序,可以初始化硬體設備、建立內存空間的映射表,從而建立適當的系統硬體環境,為最終調用操作系統內核做好准備。
3) 配置和編譯Linux內核,對其進行相應的裁剪,修改內核以支持相關的硬體設備。
4) 為大容量NAND Flash移植YAFFS文件系統,並將該文件系統加入Linux內核中;
5) 製作RAMdisk來掛載根文件系統。Linux系統中的文件和設備是通過文件系統來組織的。文件系統的存在使得數據和設備可以被有效而透明地存取訪問。一個linux的最簡根文件系統應該包括支持linux系統正常運行的基本內容,包括系統使用的軟體和庫,以及所有用來為用戶提供基本支持的架構和指令。
6) 燒寫、調試系統;如果調試出錯,則需要重新配置,返回上述步驟(2)。
『肆』 誰知道如何來自己做個可以安裝的linux系統,有了linux裁剪的內核和根文件系統
你到底是要安裝還是啟動?
安裝需要自己寫安裝程序或者找個安裝程序封包器。
如果是啟動,GRUB 啟動你的內核,內核參數裡面寫好根文件系統的設備名就行了。
注意啟動和安裝是兩個概念。
『伍』 linux內核裁剪是什麼
簡單地說,Linux內核里有許多功能或驅動是我們用不上的,我們應該把這些不需要的東西去掉,這樣可以讓操作系統系統佔用內存小,啟動速度快。一般嵌入式Linux操作系統需要裁剪。
裁剪方法:命令行下,用vim編輯文件是可行的,但較多的文件要修改時,可能用menuconfig比較省事,一般來講,可能兩種方法配合著使用。
『陸』 如何選擇和裁剪嵌入式linux內核
一、內核的獲得
可以從網上下載內核文件,http://www.kernel.org。如果是為了練習,盡量下載2.4.x的內核。因為2.6.x的內核比較大,當然編譯也需要更都的時間。
二、內核的編譯
Linux內核的編譯菜單主要有三個版本:
1)make config:進入命令行,可以一行一行的配置。
2)make menuconfig:開發人員比較熟悉的menuconfig菜單。
3)make xconfig:在2.4.X以及以前版本中xconfig菜單是基於TCL/TK的圖形庫的.
我們採用menuconfig菜單
編譯內核需要root許可權,以下操作都假定你是root用戶.先在根目錄下建立名為ARM2410的目錄.然後
把你需要升級的內核拷到/usr/src/下(下文中以2.4.18的內核的linux-2.4.18.tar.gz為例),命令為
#cp linux-2.4.18.tar.gz /usr/src
然後解壓該文件,命令為:
#tar -zxvf linux-2.4.18.tar.gz
如果你所下載的是.bz2文件,例如linux-2.4.0test8.tar.bz2,請使用下面的命令
#bzip2 -d linux-2.4.18.tar.bz2
#tar -xvf linux-2.4.18.tar
下面我們開始編譯:
第一步:在終端下進入內核所在目錄 "/arm2410";
第二步:鍵入make menuconfig,進入內核配置菜單,
注意:
1)帶有"-->"表示該選項包含選項;
2)每個選項前面有[ ]或< >,中括弧表示僅有2種選擇(*或空),尖括弧表示有3種選擇(M,*或空),按空格鍵可顯示這幾個選擇;
3)M表示以模塊方式編譯進內核,在內核啟動後,需要手工執行insmod命令才能使用該項驅動;*表示直接編譯進內核;空表示不編譯進內核;
第三步:按著自己的需求,配置內核.一共有21項.
第四步:鍵入make clean命令,刪除已生成的模塊和目標文件.
第五步:鍵入make dep命令,編譯變數依賴關系等;
第六步:鍵入make zlmage生成經壓縮以後的內核映像文件zlmage;
第七步:鍵入make moles編譯模塊;
第八步:鍵入make moles_install安裝編譯完成的模塊;
內核映像文件zlmage存放在 ./arch/arm/boot/目錄下.
『柒』 linux 內核裁剪 + linux驅動,一般需要多少時間
內核裁剪熟悉了十幾分鍾搞定,要是不熟悉,就要很久了,因為內核版也分目錄的,每目錄下的權每項都要明白是干什麼的才能取捨。驅動一般包含在內核內,linux系統通過內核管理設備,外部安裝的較少。
我常用menuconfig來編譯內核。在gentoo系統下有genkernel軟體,更方便一些。當然,gentoo系統安裝起來不方便。
『捌』 嵌入式linux內核怎麼裁剪編輯移植
這是門大學問,你在網路問答怎麼可能問得出來,如果你想學,沒半年哪裡搞的定,要是做項目,還是請人做吧,幾萬塊的事