内核中制作ko文件的步骤_内核编译步骤与报错

本文详细介绍了在Linux内核中制作ko文件的步骤,包括内核编译前的准备工作,如安装开发环境、获取硬件信息、获取内核源码、安装依赖等。在编译过程中,讲解了如何配置内核选项、使用make命令进行编译、安装以及解决常见的磁盘空间不足问题。此外,还介绍了如何编译特定模块和在不同目标平台上进行编译的方法,以及screen命令的使用技巧。
摘要由CSDN通过智能技术生成

内核编译前准备工作:

准备好开发环境

Server Platform Development

Development Tools

yum groupinstall Development Tools ; yum groupinstall Server Platform Development

2.获取目标主机硬件设备相关信息

cpu:# cat /proc/cpuinfo        #查看cpu信息

# x86info

yum install x86info    #需安装后使用

# lscpu

pci:# lspci                    #显示所有pci设备信息

-v                   #显示详细的信息

-vv                   #显示更详细的信息

# lsusb                    #显示usb设备信息

-v                     #同lspci

-vv

# lsblk                    #显示块设备信息

-a                     #显示所有

全部的硬件设备:# hal-device

3.获取内核源码# wget  -r).tar.xz

4.安装图形依赖包# yum install ncurses ncurses-devel

5.安装虚拟屏幕# yum install screen

简单依据模板文件的内核编译过程# tar xf linux-3.10.67.tar.xz -C /usr/src

#将下载好的内核解压至/usr/src目录中

# cd /usr/src

#编译命令使用相对路径,所以要cd至该目录下

# ln -sv linux-3.10.67 linux

#创建内核链接文件,此处的linux为链接名

# cd linux

#编译命令使用相对路径,所以要cd至该目录下

# cp /boot/config-$(uname -r) ./.config

#复制/boot目录下config模板至当前目录下

# make menuconfig

#以文本窗口配置内核选项,在此处开启或关闭内核或模块

# screen

#开启虚拟屏幕,因编译不确定性,且时间较长,所以开启它吧

# make -j #

#编译内核,#为以几个核心进行编译

# make modules_install

#安装内核模块

# make install

#安装内核

# init6

#重启后进入grub可选择内核进入系统了哦

常见报错信息drivers/tty/serial/built-in.o: final close failed: No space left on device

make[3]: *** [drivers/tty/serial/built-in.o] Error 1

make[2]: *** [drivers/tty/serial] Error 2

make[1]: *** [drivers/tty] Error 2

make: *** [drivers] Error 2

此类报错为磁盘空间不足,解决方案为扩展磁盘容量,或将/usr挂载至独立分区ERROR: modinfo: could not find module vmware_balloon

此类报错为在虚拟机安装时产生,无须理会

编译扩展

1.只编译某子目录中的相关代码# cd /usr/src/linux        #编译命令使用相对路径,所以要cd至该目录下

# make dir/                #dir为你需要编译的某目录

2.只编译一个特定的模块# cd /usr/src/linux

# make dir/file.ko         #指定某目录下具体的模块,以.ko结尾

3.编译的目标平台与当前平台不相同# make ARCH=平台名字

4.要获取特定目标平台的使用帮助# make ARCH=平台名字 help

5.如何在已经执行过编译操作的内核源码树做重新编译# make clean:清理大多数编译生成的文件,但会保留config文件等

# make mrproper:清理所有编译生成的文件,config及某些备份文件

# make distclean:mrproper,patches以及编辑器备份文件

附:screen命令用法

1.打开新的screen# screen

2.退出并关闭screen# exit

3.剥离当前screen# ctrl+a,d

4.显示所有已经打开的screen#  screen -ls

5.恢复screen:通过ls查看的ID号恢复screen -r [SESSION]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值