Linux内核学习 篇-00:构建学习环境并运行一个HelloWorld模块

本文介绍了如何从零开始学习Linux内核,包括在Ubuntu上搭建学习环境,重新编译内核,以及编写并加载一个简单的Hello World模块。通过详细步骤,帮助读者避开常见问题,理解内核编译和模块开发的基本流程。

“Linux内核学习”系列博文致力为每一位有兴趣学习Linux内核的同志排除学习道路上的障碍,给大家提供最好的帮助,补足市面上各种材料书籍解释不周、报错多等问题。
本系列博文使用的系统版本和编译器版本等均在《Linux内核学习 篇-00》中有详细介绍。



  • 注意事项

  • 本系列博文默认您有一定的:Linux、VIM、C、操作系统基础。
  • 为了方便大家的阅读学习,可能会引用其他博文资讯中的内容,所有引用都会将来源附在文末。
  • 如果参考本文学习过程中遇到任何报错或问题,欢迎您在评论区发起提问,我会将所有问题的原因以及解决方法完善在对应博文的“后话”中,感谢您的贡献。
  • 持续更新中,欢迎点赞收藏关注,三连不迷路。

正文

笔者平时学习生活使用的是Ubuntu,抱着更了解自己的系统,甚至定制属于自己的内核功能等愿望,开始了Linux内核的学习。最初,我直接在工作机上进行各种操作。但是频繁遇到各种问题,诸如:内核编译器版本与模块编译器版本不一致等,这些都会导致内核模块无法加载。
因此笔者建议:即使您平时就是使用Linux的各种发行版进行工作学习,为了保证不破坏自己的环境,请专门搭建一个全新的Linux虚拟机,用来学习接下来的内容。我认为这是完全值得的。

[一] 环境搭建

[1] 下载安装虚拟机/Ubuntu

本系列博文使用的镜像/软件版本如下,可以点击直接下载:
虚拟机:VMware Workstation Pro 16.2.2
Ubuntu:ubuntu-22.04.1-live-server-amd64
Ubuntu建议用种子,会比HTTP快一点。
安装过程很简单,在网络设置环节需要手动DHCP一下,在DISK设置环节需要取消第二个X,不再赘述,不熟悉的同志可以搜索:虚拟机安装Ubuntu live server

[2] 安装GCC、VIM等必要工具

为了尽可能避免奇怪的问题,我决定不进行换源操作,直接进行安装

sudo apt update
sudo apt upgrade
sudo apt install gcc vim make libncurses-dev flex bison libssl-dev libelf-dev dwarves

[二] 重新编译内核

进行内核学习和开发的第一步是配置和重新编译内核,这么做为了以后各种工具的版本问题,也可以让我们先熟悉一下内核的编译启用过程。
首先运行uname -r查看当前内核版本
在这里插入图片描述

然后运行sudo apt install linux-source-5.15.0,下载Linux内核代码。请将版本号替换为您自己的内核版本。
下载好后,进入以下目录进行解压和配置:

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值