核弹发射!!!——。。。。。。
记录一下失败过程,抛砖引玉
首先说一下理论上正确的流程
- 在/Linux-minimal目录下新建一个launcher文件夹,在/launcher内放入launcher.c并创建Makerfile。其中:
Linux-minimal来源于jyy老师第11节课中构建最小的Linux部分,链接为:https://box.nju.edu.cn/f/3f67e092e1ba441187d9/?dl=1
Launcher.c为本节核心程序,链接:https://jyywiki.cn/pages/OS/2022/demos/launcher.c
Makefile为编译文件,旨在生成.ko文件并加载到linux-minimal中,用vi创建,内容为:
obj-m := launcher.o
KDIR := $(realpath ../../linux-source-5.4.0)
default:
$(MAKE) -C $(KDIR) M=$(PWD)
cp launcher.ko ../initramfs/nuke/
clean:
$(MAKE) -C $(KDIR) M=$(PWD) clean
.PHONY: module clean
- 在/launcher目录下make编译,生成一系列文件,其中最重要的是launcher.ko
3、回到/Linux-minimal目录下,makerun,启动系统,在系统中导入.ko模块,注册设备信息
在/dev目录下创建设备文件
- 此时已经在系统中模拟出了nuke1,nuke2两个核弹发射井,可读可写
echo 正确密钥 >/dev/nuke0,发射
我遇到的问题:
疑似没有Linux-source-5.4.0
Linux-source-5.4.0:kr.archive.ubuntu.com/ubuntu
核弹发射!!!——。。。。。。
记录一下失败过程,抛砖引玉
首先说一下理论上正确的流程
- 在/Linux-minimal目录下新建一个launcher文件夹,在/launcher内放入launcher.c并创建Makerfile。其中:
Linux-minimal来源于jyy老师第11节课中构建最小的Linux部分,链接为:https://box.nju.edu.cn/f/3f67e092e1ba441187d9/?dl=1
Launcher.c为本节核心程序,链接:https://jyywiki.cn/pages/OS/2022/demos/launcher.c
Makefile为编译文件,旨在生成.ko文件并加载到linux-minimal中,用vi创建,内容为:
obj-m := launcher.o
KDIR := $(realpath ../../linux-source-5.4.0)
default:
$(MAKE) -C $(KDIR) M=$(PWD)
cp launcher.ko ../initramfs/nuke/
clean:
$(MAKE) -C $(KDIR) M=$(PWD) clean
.PHONY: module clean
- 在/launcher目录下make编译,生成一系列文件,其中最重要的是launcher.ko
3、回到/Linux-minimal目录下,makerun,启动系统,在系统中导入.ko模块,注册设备信息
在/dev目录下创建设备文件
- 此时已经在系统中模拟出了nuke1,nuke2两个核弹发射井,可读可写
echo 正确密钥 >/dev/nuke0,发射
我遇到的问题:
疑似没有Linux-source-5.4.0
Linux-source-5.4.0:kr.archive.ubuntu.com/ubuntu