Skip to content

Files

Latest commit

 

History

History
57 lines (29 loc) · 1.94 KB

work.md

File metadata and controls

57 lines (29 loc) · 1.94 KB

作业1

屏幕截图 2024-07-20 013322 屏幕截图 2024-07-20 013455 屏幕截图 2024-07-20 014223

作业2

Q: 在该文件夹中调用make LLVM=1,该文件夹内的代码将编译成一个内核模块。请结合你学到的知识,回答以下两个问题:

1、编译成内核模块,是在哪个文件中以哪条语句定义的?

Kbuild中的:

obj-m := r4l_e1000_demo.o

2、该模块位于独立的文件夹内,却能编译成Linux内核模块,这叫做out-of-tree module,请分析它是如何与内核代码产生联系的?

编译驱动模块的Makefile中使用M=$(PWD)来指定内核模块所在路径,从而构建树外模块.

步骤

1.运行

bush ./build_image.sh

屏幕截图 2024-07-20 214037

2.运行

insmod r4l_e1000_demo.ko
ip link set eth0 up
ifconfig eth0 broadcast 10.0.2.255
ip addr add 10.0.2.15/255.255.255.0 dev eth0
ip route add default via 10.0.2.1
ping 10.0.2.2

屏幕截图 2024-07-20 214512

作业3

屏幕截图 2024-07-22 210907 屏幕截图 2024-07-22 205555 屏幕截图 2024-07-22 205918