ubuntu下載linux內核源碼


ubuntu倉庫里面關於源碼部分配置的好全啊,什么都有,ps:包括vim的各種插件居然也有人打包放到倉庫里,真是方便。

1.首先查看一下本系統使用的內核版本號:

cat /proc/version

Linux version 4.4.0-66-generic (buildd@lgw01-28) (gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.4) ) #87-Ubuntu SMP Fri Mar 3 15:29:05 UTC 2017
2.然后使用apt搜一下,看看有沒有對應的最新版:

apt search linux-source

linux-source/xenial-updates,xenial-updates,xenial-security,xenial-security 4.4.0.70.76 all
  Linux kernel source with Ubuntu patches

linux-source-4.4.0/xenial-updates,xenial-updates,xenial-security,xenial-security,now 4.4.0-70.91 all [installed]
  Linux kernel source for version 4.4.0 with Ubuntu patches

linux-source-4.8.0/xenial-updates,xenial-updates 4.8.0-44.47~16.04.1 all
  Linux kernel source for version 4.8.0 with Ubuntu patches
3.然后,安裝即可,安裝后到/usr/src目錄查找。

apt install linux-source-4.4.0

4.進入/usr/src/linux-source-4.4.0目錄后,解壓到自己的home目錄(注意:壓縮包自建好了文件夾,不用建新的了):

tar xjvf linux-source-4.4.0.tar.bz2 -C ~

5.安裝ctags(其實安裝的是:exuberant-ctags),方便查看該源代碼:

apt install ctags

6."--ctags setting--
" 按下F5重新生成tag文件,並更新taglist
map <F5> :!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .<CR><CR> :TlistUpdate<CR>
imap <F5> <ESC>:!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .<CR><CR> :TlistUpdate<CR>
set tags=tags
set tags+=./tags "add current directory's generated tags file
set tags+=~/arm/linux-2.6.24.7/tags "add new tags file(剛剛生成tags的路徑,在ctags -R 生成tags文件后,不要將tags移動到別的目錄,否則ctrl+]時,會提示找不到源碼文件)

set tags+=./tags表示在當前工作目錄下搜索tags文件
set tags+=~/arm/linux-2.6.24.7/tags表示在搜尋tags文件的時候,也要搜尋~/arm/linux-2.6.24.7/文件夾下的tags文件。
然后保存並退出vi。這樣,你就可以用vim在任意地方查看有關Linux的函數原形。

7.tag命令用法:
Ctrl+]  跳到當前光標下單詞的標簽
Ctrl+O  返回上一個標簽
Ctrl+T  返回上一個標簽
:tag TagName 跳到TagName標簽
以上命令是在當前窗口顯示標簽,當前窗口的文件替代為包標簽的文件,當前窗口光標跳到標簽位置。如果不希望在當前窗口顯示標簽,可以使用以下命令:
:stag TagName 新窗口顯示TagName標簽,光標跳到標簽處
Ctrl+W + ]  新窗口顯示當前光標下單詞的標簽,光標跳到標簽處
當一個標簽有多個匹配項時(函數 (或類中的方法) 被多次定義),":tags" 命令會跳轉到第一處。如果在當前文件中存在匹配,那它將會被首先使用。
可以用這些命令在各匹配的標簽間移動:
:tfirst    到第一個匹配
:[count]tprevious 向前 [count] 個匹配
:[count]tnext  向后 [count] 個匹配
:tlast    到最后一個匹配
或者使用以下命令選擇要跳轉到哪一個
:tselect TagName
輸入以上命令后,vim會為你展示一個選擇列表。然后你可以輸入要跳轉到的匹配代號 (在第一列)。其它列的信息可以讓你知道標簽在何處被定義過。
以下命令將在預覽窗口顯示標簽
:ptag TagName 預覽窗口顯示TagName標簽,光標跳到標簽處
Ctrl+W + }  預覽窗口顯示當前光標下單詞的標簽,光標跳到標簽處
:pclose   關閉預覽窗口
:pedit file.h 在預覽窗口中編輯文件file.h(在編輯頭文件時很有用)
:psearch atoi 查找當前文件和任何包含文件中的單詞並在預覽窗口中顯示匹配,在使用沒有標簽文件的庫函數時十分有用。
 
最簡單的使用方法舉例
用vi在任意目錄寫一個Test.c文件,內容如下:

int main(void)
{
printf("Hello World!\n");
return 0;
}

寫好后末行模式輸入w保存好(不要退出vi),按Esc回到指令模式,把光標停留在printf上
然后按 Ctrl+W + ],vi會自動跳到Linux系統函數printf()處,這時我們能查看printf()的原形
查看完了,按Ctrl+o(回到上一個標簽) 就回到原來的地方。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM