我正在學習linux內核內核,並且我明白,第一個調用的C函數是start_kernel()。但我認爲系統必須準備好能夠運行c函數,比如安裝interupt服務rutines。linux在成功調用start_kernel()之前採取了哪些操作?
那麼,linux運行的完整步驟順序是什麼?我在哪裏可以找到它的代碼? (我正在使用內核3.2.0.37-通用的ubuntu 12.04 LTS)
我正在學習linux內核內核,並且我明白,第一個調用的C函數是start_kernel()。但我認爲系統必須準備好能夠運行c函數,比如安裝interupt服務rutines。linux在成功調用start_kernel()之前採取了哪些操作?
那麼,linux運行的完整步驟順序是什麼?我在哪裏可以找到它的代碼? (我正在使用內核3.2.0.37-通用的ubuntu 12.04 LTS)
在調用start_kernel()
之前,整個過程都要經過完整的引導process。
另請參見書"Essential Linux Device Drivers"參閱「內核窺探」一章。它的作者的site.
你也可以通過這個link。
在運行start_kernel(init/main.c)之前,有一些彙編代碼(例如.head.S)運行並準備系統運行c函數。
中斷服務程序稍後完成。