首先配置下环境,强烈推荐在ubuntu下弄,在kali下面弄各种奇葩的错误………
首先配置的话我是按照dalao的教程来做的
但是其实编译内核的那个环节可以省略,因为可以直接下载
利用
1 | sudo apt search linux-image- |
可以搜索到各种版本的内核
然后再利用
1 | apt download xxxx |
来把那个内核给下载下来
busybox那里就按照dalao的教程来做就行,编译应该是没有问题的
然后如果我们要编译特定版本的内核的驱动的话,需要下载源码
这里可以直接搜索,例如4.15.0-22版本的
1 | apt search linux-headers-4.15.0-22- |
然后再安装
1 | sudo apt install linux-headers-4.15.0-22 linux-headers-4.15.0-22-generic |
安装完之后,在/usr/src目录下面就会出现该版本的源码
这里给一个简单的hello world例子
1 | #include <linux/init.h> |
Makefile 如下
1 | obj-m := hello.o |
编译之后会有hello.ko文件
放到busybox/_install目录下面
修改init文件
增加
1 | insmod /hello.ko |
再重新打包,启动系统
这里给一下我启动系统的脚本和打包的脚本,可能你们要修改下目录之类的
1 | #! /bin/sh |
1 | #!/bin/sh |