【linux内核-01】 熟悉操作Linux 0.11内核

熟悉操作Linux 0.11内核

实验环境

宿主操作系统:linux操作系统(ubuntu20.04)

内核源代码:linux 0.11内核

x86硬件平台的开源模拟器:bochs or qemu

编译环境:gcc + vscode

文件目录

  1. bochs目录:与 bochs 相关的执行文件、数据文件和配置文件。
  2. run 脚本:运行后 bochs 会自动在它的虚拟软驱 A 和虚拟硬盘上各挂载一个镜像文件,软驱上挂载是 linux-0.11/Image,硬盘上挂载的是 hdc-0.11.img。
  3. mount-hdc:宿主与linux 0.11进行文件交换
  4. dbg-asm:汇编级别调试内核
  5. dbg-c:c语言级别调试内核

编译运行内核源码

make

$ cd ./linux-0.11/
$ make all

生成目标文件:软盘镜像文件 linux-0.11/Image

run

$ cd ..
$ ./run

文件交换

流程

step1:启动挂载脚本 sudo ./mount-hdc,将内核文件系统挂载到hdc目录下

step2:宿主操作系统在hdc目录下对内核文件修改

step3:卸载hdc文件系统sudo umount hdc,此时内核文件成功在宿主操作系统中修改

流程:

$ sudo ./mount-hdc
$ cd hdc
$ sudo touch hello.c
$ cd ..
$ sudo umount hdc
$ ./run