麒麟系统编译内核驱动

此处以编译usbmon驱动为例。

1、确认目标系统环境及内核信息

编译环境系统版本:Kylin-4.0.2-desktop,此版本系统内核为4.4.131,因此下载4.4.131版本内核源码编译。

2、获取内核源码

内核源码版本:4.4.131.tar.gz

3、解压内核源码执行编译

# tar -xvf  linux-4.4.131.tar.gz

# cd linux-4.4.131/drivers/usb/mon

# vim Makefile

#

# Makefile for USB monitor

#

usbmon-y := mon_main.o mon_stat.o mon_text.o mon_bin.o

obj-$(CONFIG_USB_MON)   += usbmon.o

查看Makefile文件中是否有多余的选项,此处只有一个驱动,因此不需要删除多余的选项,直接执行编译动作。

# make -C /lib/modules/$(uname -r)/build M=`pwd`

编译完成后可以看到当前目录多了很多以.o和.ko结尾的文件,这个usbmon.ko就是我们需要的文件,测试一下插入该驱动模块

#insmod usbmon.ko

#lsmod | grep usbmon

如果显示出结果则说明没问题。

注意:编译完成如果insmod后lsmod未查询到结果,则可通过dmesg查看之前执行操作的结果,可能会遇到提示校验失败的,dmesg日志如下

module verification failed: signature and/or required key missing - tainting kernel。

此时可通过修改Makefile文件重新编译解决问题。修改后Makefile文件内容如下:

#

# Makefile for USB monitor

#

#CONFIG_MODULE_SIG = n

usbmon-y := mon_main.o mon_stat.o mon_text.o mon_bin.o

obj-$(CONFIG_USB_MON)   += usbmon.o

优麒麟(Ubuntu Kylin)是一个基于 Ubuntu 的 Linux 发行版,它由中国的开源社区主导开发,并专注于提供更好的本地化体验以及对中国用户的友好支持。编译新的内核是操作系统维护和优化的重要部分之一。 ### 编译内核的过程大致包括以下几个步骤: #### 1. **获取源码** 首先需要从官方仓库下载最新的稳定版本的 Linux 内核源代码。可以访问 [kernel.org](https://www.kernel.org/) 下载适合当前系统的内核包。 #### 2. **准备环境** 确保系统安装了必要的工具链和依赖项。例如,在优麒麟上可以通过以下命令安装一些必备软件: ```bash sudo apt update && sudo apt install build-essential libncurses-dev bison flex dwarves bc openssl git ``` #### 3. **配置内核选项** 使用 `make menuconfig` 命令对内核模块、驱动程序等进行详细设置。这一步非常关键,因为它决定了最终生成的内核是否满足硬件需求及功能需求。 #### 4. **开始编译过程** 执行下面两条指令完成内核及其模块的构建工作: ```bash make -j$(nproc) sudo make modules_install ``` 参数 `-j$(nproc)` 表示充分利用 CPU 核心数加快速度。 #### 5. **安装并测试新内核** 将刚编好的内核文件复制到适当的位置,更新引导加载器信息以便能够选择启动该自定义内核。完成后重启机器验证其运行状况。 通过上述操作流程即可成功将最新发布的 Linux Kernel 移植进你的优麒麟能力之中啦! --- **温馨提示**: 整体过程可能会因具体场景而有所调整;同时建议备份重要资料以防万一出错导致无法正常开机等情况发生哦~
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值