Hi!大家好,我是CrazyCatJack。今天給大家?guī)淼氖荓inux內(nèi)核啟動過程概述。希望能夠幫助大家更好的理解Linux內(nèi)核的啟動,并且創(chuàng)造出自己的內(nèi)核^_^

  Linux的啟動代碼真的挺大,從匯編到C,從Makefile到LDS文件,需要理解的東西很多。畢竟Linux內(nèi)核是由很多人,花費了巨大的時間和精力寫出來的。而且直到現(xiàn)在,這個世界上仍然有成千上萬的程序員在不斷完善Linux內(nèi)核的代碼。今天我們主要講解的是Linux-2.6.22.6這個內(nèi)核版本。說句實話,博主也不確定自己能夠講好今天這個題目,因為這個題目太大太難。但是博主有信心,將自己學(xué)會的內(nèi)容清楚地告訴大家,希望大家也能夠有所收獲。

1.啟動文件head.S和head-common.S 

  首先,我們必須明確“我們?yōu)槭裁匆獑覮inux內(nèi)核”。沒錯,當(dāng)然是因為我們想要使用Linux系統(tǒng),要明確我們的最終目的是使用Linux上的應(yīng)用程序。這些應(yīng)用程序可以是純軟件的,也可以是硬件相關(guān)的。博主是做嵌入式開發(fā)的,那么我想要的當(dāng)然就是用Linux內(nèi)核來更好的控制我的硬件。無論是做機器人、無人機或者其他智能硬件這都是必然趨勢。首先我們來看內(nèi)核的啟動文件head.S。

 

大學(xué)生就業(yè)培訓(xùn),高中生培訓(xùn),在職人員轉(zhuǎn)行培訓(xùn),企業(yè)團訓(xùn)

    .section ".text.head", "ax"
    .type    stext, %function
ENTRY(stext)
    msr    cpsr_c, #PSR_F_BIT | PSR_I_BIT | SVC_MODE @ ensure svc mode
     
        
		

網(wǎng)友評論