linux_lab3:基于VS Code的Linux内核调试环境搭建及start_kernel跟踪分析

zcb1234556 2023-03-24 01:23:00

一、安装开发环境

1.安装开发工具

sudo apt install build-essential
sudo apt install qemu # install QEMU
sudo apt install libncurses5-dev bison flex libssl-dev libelf-dev

2.下载内核源码

​wget https://mirrors.edge.kernel.org/pub/linux/kernel/v5.x/linux-5.4.34.tar.xz
sudo apt install axel
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
cd linux-5.4.34
patch -p1 < ../mykernel-2.0_for_linux-5.4.34.patch

3.配置内核选项

make defconfig 
make menuconfig

二、编译和运行内核

make -j$(nproc)
qemu-system-x86_64 -kernel arch/x86/boot/bzImage

 

三、制作根文件目录

#cd到busybox
cd busybox-1.35.0
make menuconfig
make menuconfig
#记得要编译成静态链接,不用动态链接库。
mkdir rootfs
cd rootfs
cp ../busybox-1.35.0/_install/* ./ -rf
mkdir dev proc sys home
sudo cp -a /dev/{null,console,tty,tty1,tty2,tty3,tty4} dev/

 四、调试

python ./scripts/gen_compile_commands.py

 

 

...全文
81 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

571

社区成员

发帖
与我相关
我的任务
社区描述
软件工程教学新范式,强化专项技能训练+基于项目的学习PBL。Git仓库:https://gitee.com/mengning997/se
软件工程 高校
社区管理员
  • 码农孟宁
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧