linux內核載入
linux下編譯運行驅動
嵌入式linux下設備驅動的運行和linux x86 pc下運行設備驅動是類似的,由於手頭沒有嵌入式linux設備,先在vmware上的linux上學習驅動開發。
按照如下方法就可以成功編譯出hello world模塊驅動。
1、首先確定本機linux版本
怎麼查看Linux的內核kernel版本?
'uname'是Linux/unix系統中用來查看系統信息的命令,適用於所有Linux發行版。配合使用'uname'參數可以查看當前伺服器內核運行的各個狀態。
#uname -a
Linux whh 3.5.0-19-generic #30-Ubuntu SMPTue Nov 13 17:49:53 UTC 2012 i686 i686 i686 GNU/Linux
只列印內核版本,以及主要和次要版本:
#uname -r
3.5.0-19-generic
要列印系統的體系架構類型,即的機器是32位還是64位,使用:
#uname -p
i686
/proc/version 文件也包含系統內核信息:
# cat /proc/version
Linux version 3.5.0-19-generic(buildd@aatxe) (gcc version 4.7.2 (Ubuntu/Linaro 4.7.2-2ubuntu1) ) #30-UbuntuSMP Tue Nov 13 17:49:53 UTC 2012
發現自己的機器linux版本是:3.5.0-19-generic
2、下載機器內核對應linux源碼
2. 如何在linux內核以靜態載入方式添加usb設備
1、靜態載入
1)解壓內核,修改硬體架構和編譯器;
將內核壓縮文件linux-2.6.8.1-zzm.tar.bz2解壓到/home/sxy/目錄下,命令是 ,解壓後得到內核源碼目錄文件linux-2.6.8.1-zzm,進入該目錄,編輯Makefile文件,將ARCH改為arm,CROSS_CPMPILE改為arm-linux-
保存後退出。
2)配置內核;
在內核源碼樹目錄下,輸入make menuconfig命令,進入內核配置界面,進入「Load an Alternate Configuration File」選項,載入配置文件kernel_2410.cfg,保存退出,過程如下圖所示:
再次輸入make menuconfig命令,編輯sound選項, 將其編譯進內核( * ),最後保存配置,退出。
3)編譯內核;
在源碼樹目錄下輸入make zImage命令,編譯完成後可以在/arch/arm/boot/目錄下生成zImage鏡像文件。
4)下載內核
將內核鏡像文件zImage下載到開發板上,表示驅動載入成功。
3. linux 內核模塊載入問題
可以下載模塊安裝包來安裝,但是一定要注意版本完全匹配。
因為有些模塊是內核運行不可或缺的,如果你調度都不編,還叫內核嗎,就是這樣子。
4. linux insmod內核模塊載入
內核模塊版本不匹配
可以試試強行載入,不一定用的了
沒多大副作用,就是模塊能用、不能用、勉強用但會崩潰的結果
對系統影響不大
之所以是模塊,是有這個用意在裡面的
5. linux啟動時載入內核到內存中,那這樣是不是意味著系統正常啟動後就可以把內核刪掉了啊(當然就沒有辦法
恩可以刪除掉。
Linux內核可以載入到RAM中,載入的源頭可以是硬碟也可以是網路上的某個節點。
如果是硬碟的話,刪除掉也沒有關系。網路節點的話,拔下網線也沒有關系。
但是要注意,文件系統是不允許被你刪除掉的。文件系統和內核是兩碼事。
你想解決什麼具體的問題呢?
6. linux怎麼載入內核
載入內核?linux系統下的grub里有配置文件menu.lst吧,里邊就有啟動grub時需要載入的內核。你是說開機後系統如何載入內核嗎?.ko文件一般是硬體的驅動,make是針對makefile來用的,makefile配置好編譯條件和相關信息,用make就可以執行makefile里的配置。一般是在用源代碼安裝軟體的時候用的,源代碼包里通過configure會生成makefile文件
7. 求詳細的linux內核啟動順序,和各個模塊的載入順序,優先順序等。
1. 載入 BIOS 的硬體信息不迚行自我測試,開依據謳定取得第一個可開機的裝置;
2. 讀取開執行第一個開機裝置內 MBR 的 boot Loader (亦即是 grub, spfdisk 等程序);
3. 依據 boot loader 的謳定載入 Kernel ,Kernel 會開始偵測硬體不載入驅勱程序;
4. 在硬體驅勱成功後,Kernel 會主勱呼叨 init 程序,而 init 會取得 run-level 信息;
5. init 執行 /etc/rc.d/rc.sysinit 檔案來准備軟體執行的作業環境 (如網路、時區等);
6. init 執行 run-level 的各個朋務乊吪勱 (script 方弅);
7. init 執行 /etc/rc.d/rc.local 檔案;
8. init 執行終端機仺真程序 mingetty 來吪勱 login 程序,最後就等待用戶登入啦;
8. Linux怎麼在系統啟動時自動載入內核模塊
寫入/etc/rc.local
9. 如何讓linux內核快速載入模塊
把驅動的載入次序設為1,那麼內核啟動就有限載入這個驅動
你可以去了解一下:__define_initcall
10. linux操作系統中,載入和刪除內核模塊的命令是什麼
載入內模塊:在系統 root 用戶下運行用戶態模塊命令裝載內核模塊