如何编译和加载linux驱动程序和内核模块Linux教程

如何编译和加载linux驱动程序和内核模块Linux教程
编译并加载Linux驱动程序和内核模块
到目前为止,当我们建立initramfs,我们没有谈到内核模块的支持。使用的硬件驱动程序直接编译到内核中。现在让我们看看initramfs支持内核模块。
编译内核模块
首先,内核配置应该支持模块,并支持内核模块的自动加载功能:内核配置菜单中的激活配置项被编译成内核。
加载模块支持 / /自动加载模块的支持内核加载;
然后,所需的硬件驱动程序配置模块形式,如编译硬盘驱动器的硬盘控制器在我的机器上,被选中。
设备驱动程序
| ----> SCSI设备的支持
| ----> SCSI磁盘支持
| ----- >冗长的SCSI错误报告(不是必须的,但方便问题定位)
| ----- > SCSI底层驱动
| ---->串行ATA(SATA)的支持
| ---->英特尔piix / ICH SATA支持
将它们配置为模块。
最后,编译内核并将编译后的内核模块安装在映像目录中。
使
让install_mod_path = ~ / /图像modules_install initramfs试验
执行命令后,4内核模块文件安装在图像/ lib /模块/ 2.6.17.13 / / / SCSI驱动程序内核目录:scsi_mod.ko,sd_mod.ko,ata_piix.ko和libata.ko,这是所需的硬盘控制器的驱动程序。
加载内核模块
BusyBox的modprobe命令不正确执行,和内核模块无法加载。很怀疑BusyBox的modprobe命令配置或编译的问题。否则,司机可以自动加载。首先,在insmod命令加载反过来看看 / / / lib模块2.6.17.13 / modules.dep,明确了这4个模块的依赖关系,然后执行下面的命令加载:
insmod scsi_mod
insmod libata
insmod ata_piix
insmod sd_mod
然后用它
mdev的
控制硬盘的设备文件。你可以安装硬盘分区,并将根文件系统切换到硬盘分区:
安装 / / / mnt sda8 dev
执行switch_root / / / sbin init MNT
正常启动系统到CLFS,我们可以安装硬盘分区在initramfs硬盘控制器驱动模块。
最后的初始化文件
分区应该由它自己的分区替换
# /斌/ SH!
挂载过程
山- T sysfs sysfs /系统
insmod scsi_mod
insmod libata
insmod ata_piix
insmod sd_mod
mdev的
安装 / / / mnt sda8 dev
执行switch_root / / / sbin init MNT
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部