ubuntu 系统获取和阅读 linux 源码

本文介绍了在Ubuntu系统中如何下载和查看Linux内核源码。首先,通过更新数据源和检查当前内核版本,然后下载特定版本的源码至/usr/src目录。解压后,使用ctags工具生成源码索引,便于阅读和查找函数定义。同时,文章还提及了安装vim和ctags的步骤,以及ctags的一些常用命令。

ubuntu 系统安装好后,默认源码保存路径为 /usr/src, 但使用 ls 命令查看,里面只有4个 header 文件夹,并没有源码,可根据下面步骤

获取linux 源码

  1. 更新数据源列表 $ sudo apt-get update

  2. 查看当前系统内核版本 $ sudo apt-cache search linux-source
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Mt6GLtdG-1657609064966)(Personal export_20220516.assets/image-20220712123249139.png)]

  3. 选定 linux 版本进行下载,下载路径为 /usr/src $ sudo apt-get install linux-source-5.4.0

  4. (等价 2 - 3 步骤)或者直接下载 $ sudo apt-get install -y linux-source

  5. 此时就可以在 /usr/src 下看到 linux 源码了

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nBihYWFr-1657609064969)(Personal export_20220516.assets/image-20220712135748884.png)]

  6. 切换到源码路径并解压缩

    $ cd /usr/src
    $ sudo tar jxvf linux-source-5.4.0.tar.bz2  # 解压linux 源码包, 也可解压到其他路径下
    
  7. 删除源码命令,删除后可重新下载

    $ sudo apt-get remove linux-source-5.4.0
    

阅读源码

  1. 安装vim & ctags

    $ sudo apt-get install vim # install vim
    $ sudo apt-get install ctags # install ctags
    
  2. 切换到源码路径,使用 ctags,根据源码大小,需要时间不定,会生成一个 tags 文件

    $ cd /usr/src/linux-source-5.4.0
    $ sudo ctags -R .
    
  3. 添加 ctags 到 vimrc 配置

    $ sudo vim ~/.vimrc
    

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3KaVYlXe-1657609064969)(Personal export_20220516.assets/image-20220712145209481.png)]

  4. 进入到源码目录下,执行vim ctags 指令

    $ vim -t printf # 查找 printf 函数
    
  5. ctags 常用命令

    ctags –R . 生成索引文件
    Ctrl+ ] 跳到光标所在变量的定义处
    Ctrl+ t 返回查找或跳转,从哪里跳过来的跳回哪里,即使用了很多次 Ctrl+],该命令也会回到最初一次的位置
    vi –t tag 找到名为 tag 的变量的定义处
    g] 列出变量的所有引用供用户选择
    :ts tagslist,同 g]
    :tp tagspreview,上一个tag标记文件
    :tn tagsnext),下一个tag标记文件

<think>我们需要在Ubuntu系统获取Linux内核源码。通常有两种主要方式:通过包管理器安装官方提供的内核源码,或从kernel.org下载源码。 这里介绍两种方法: 方法1:使用apt包管理器安装(推荐) 方法2:从kernel.org手动下载 注意:在回答最后,必须按照要求输出3-5个相关问题,以“§§相关问题§§”开头,然后列出问题。</think>在 Ubuntu 系统获取 Linux 内核源码主要有以下几种方法: ### 1. 通过 apt 安装官方源码包(推荐) ```bash # 更新软件包列表 sudo apt update # 安装源码包(将`linux-source-xxx`替换为具体版本) sudo apt install linux-source-5.15.0 # 示例版本 # 解压源码(默认存放在/usr/src) cd /usr/src sudo tar -xvf linux-source-*.tar.xz ``` ### 2. 从 kernel.org 获取最新源码 ```bash # 安装依赖 sudo apt install git wget # 方式1:使用wget下载 wget https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.8.4.tar.xz tar -xvf linux-*.tar.xz # 方式2:使用git克隆(获取开发版) git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git ``` ### 3. 获取当前运行内核的源码 ```bash # 查看当前内核版本 uname -r # 输出示例:5.15.0-91-generic # 安装对应源码 sudo apt install linux-source-$(uname -r | cut -d'-' -f1) ``` ### 4. 安装头文件包(含部分源码) ```bash sudo apt install linux-headers-$(uname -r) # 头文件路径:/usr/src/linux-headers-* ``` > **注意事项**: > 1. 源码包大小约 200MB,解压后约 1.5GB > 2. 需确保磁盘空间充足(建议预留 3GB) > 3. 官方源码包不包含驱动二进制文件,完整开发需手动下载
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

沐言时刻

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值