在ubuntu上自動安裝原始碼樹的時候,發現使用如下的命令,沒有得到我期望的核心原始碼的版本。
$ sudo apt-get install linux-source
$ sudo apt-get autoremove linux-source-3.12.0
安裝網上的說法重新安裝匹配的核心版本。
$ sudo apt-get install dpkg-dev$ apt-get source linux-image-$(uname -r)
可以得到如下結果。
不過發現,編譯模組時,也不需要必須安裝核心的原始碼:
hello.c的核心模組源**
makefile源**
編譯後產生如下檔案:
hello.c hello.mod.c hello.o modules.order
hello.ko hello.mod.o makefile module.symvers
插入模組,讓其工作。注意必須是root許可權
#sudo insmod ./hello.ko
我們用dmesg 就可以看到 產生的核心資訊啦
如果沒有輸出"hello from hello world",因為如果你在字元終端而不是終端模擬器下執行的話,就會輸出,因為在終端模擬器下時會把核心訊息輸出到日誌檔案/var/log/kern.log中。
刪除模組。注意必須是root許可權
再用dmesg 可以看到如下資訊
至此完成了乙個模組的編譯,安裝和刪除。
權且作為記錄。
在ubuntu下編譯安裝核心及其解除安裝
解壓原始碼 xz d tar.xz tar xvf tar 確保安裝了編譯安裝核心所需要的包 以下操作需要root許可權,使用sudo或者切換到root使用者 apt get install build essential kernel package libncurses5 dev 切換到原始碼解...
ubuntu下軟體安裝和解除安裝
1 通過deb包安裝的情況 安裝.deb包 sudo dpkg i package file.deb或雙擊deb檔案 反安裝.deb包 解除安裝 sudo dpkg r package name連同配置檔案一起刪除dpkg r purge deb 檢視軟體包資訊dpkg info deb 檢視檔案拷...
ubuntu下 mysql安裝和解除安裝
最近在折騰資料庫,發現之前安裝的mysql資料庫是有問題的,在使用show命令的時候如下 show database 程式 show 尚未安裝。您可以使用以下命令安裝 sudo apt get install nmh sudo apt get install nmh 正在讀取軟體包列表.完成 正在分...