linux操作系统分析实验二-搭建mykernal

实验二:mykernel

实验内容:搭建虚拟的实验平台mykernel(x86-64 CPU)

实验环境

windows11

WSL Ubantu20.04.5 LTS

 

安装所需工具(axel工具及调试工具)

sudo apt install axel

sudo apt install build-essential gcc-multilib

sudo apt install qemu # install QEMU

sudo apt install libncurses5-dev bison flex libssl-dev libelf-dev

 

下载mykernal补丁

wget https://raw.github.com/mengning/mykernel/master/mykernel-2.0_for_linux-5.4.34.patch

 

下载linux-5.4.34内核源码并解压

axel -n 20 https://mirrors.edge.kernel.org/pub/linux/kernel/v5.x/linux-5.4.34.tar.xz

xz -d linux-5.4.34.tar.xz

tar -xvf linux-5.4.34.tar

文件下载准备完成,如图所示

 

进入linux内核源码目录

cd linux-5.4.34

patch补丁

patch -p1 < ../mykernel-2.0_for_linux-5.4.34.patch

 

配置文件

make defconfig # Default configuration is based on 'x86_64_defconfig'

 

编译

make -j$(nproc)

运行

qemu-system-x86_64 -kernel arch/x86/boot/bzImage

 

注意如果linux上没有安装图形化界面,则需要增加参数 -nographic

默认情况下会弹出gui,需要图形化界面的支持

重新在vmware的虚拟机(Centos7)上进行上述配置后,进入qemu如下:

能够观察到my_start_kernel和my_timer_handler的执行

 

 

posted @ 2023-03-13 21:59  skadfj  阅读(68)  评论(0)    收藏  举报