首页
学习
活动
专区
圈层
工具
发布

QEMU调试Linux内核环境搭建

一个最小可运行Linux操作系统需要内核镜像bzImage和rootfs,本文整理了其制作、安装过程,调试命令,以及如何添加共享磁盘。...配置Busybox 启动内核还需要一个具有根文件系统的磁盘镜像文件,根文件系统中提供可供交互的shell程序以及一些常用工具命令。 我们借助busybox工具来制作根文件系统。...制作rootfs 接下来制作rootfs镜像文件,并把busybox安装到其中。 使用dd命令创建文件,并格式化为ext4文件系统。...rootfs目录如下: 最后,卸载rootfs.img 1szp@r420-PowerEdge-R420:~/busybox-1.32.0$ sudo umount fs 至此,一个带有rootfs的磁盘镜像制作完成...创建64MB磁盘镜像文件,并格式化为ext4,作为共享磁盘备用。

3.4K01
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    gdb和qemu调试Linux内核

    vmlinux经过OBJCOPY后,并经过压缩后的文件 zImage是vmlinuz经过gzip压缩后的文件,适用于小内核 安装qemu apt安装 apt install qemu busybox制作磁盘镜像...常用的工具 3.制作磁盘镜像文件 cd /root/xxx qemu-img create qemu_rootfs.img 10g 其中qemu_rootfs.img是文件名,10g是磁盘大小,根据需要修改...-o loop的意思是将qemu_rootfs.img作为硬盘文件,挂载在qemu_rootfs目录下 挂载之后就可以在qemu_rootfs里面对qemu_rootfs.img进行操作了 4.配置磁盘镜像文件...最后将磁盘镜像从qemu_rootfs上卸载 umount qemu_rootfs gdb调试 1.如果在调试内核时,报Remote ‘g’ packet reply is too long的error...b do_fork c 去qemu窗口,执行一些操作触发do_fork()函数 参考 QEMU+busybox 搭建Linux内核运行环境 在qemu环境中用gdb调试Linux内核 Linux内核调试

    4.5K30

    【Linux】库制作与原理

    库有两种: 静态库 .a[Linux]、.lib[windows] 动态库 .so[Linux]、.dll[windows] 2.静态库 静态库(.a):程序在编译链接的时候把库的代码链接到可执...在Linux下,我们之前也了解过如何通过gcc编译器来完成这⼀系列操作。 接下来我们深⼊探讨⼀下编译和链接的整个过程,来更好的理解动静态库的使⽤原理。 先来回顾下什么是编译呢?...动态链接器: 动态链接器(如ld-linux.so)负责在程序运⾏时加载动态库。 当程序启动时,动态链接器会解析程序中的动态库依赖,并加载这些库到内存中。...环境变量和配置⽂件: Linux系统通过环境变量(如LD_LIBRARY_PATH)和配置⽂件(如/etc/ld.so.conf及其⼦配置 ⽂件)来指定动态库的搜索路径。...缓存⽂件: 为了提⾼动态库的加载效率,Linux系统会维护⼀个名为/etc/ld.so.cache的缓存⽂件。

    29510

    QEMU调试Linux内核环境搭建

    一个最小可运行Linux操作系统需要内核镜像bzImage和rootfs,本文整理了其制作、安装过程,调试命令,以及如何添加共享磁盘。...内核资料直通车:最新Linux内核源码资料文档+视频资料 学习直通车:Linux内核源码/内存调优/文件系统/进程管理/设备驱动/网络协议栈 配置Busybox 启动内核还需要一个具有根文件系统的磁盘镜像文件...制作rootfs 接下来制作rootfs镜像文件,并把busybox安装到其中。 使用dd命令创建文件,并格式化为ext4文件系统。...rootfs目录如下: 最后,卸载rootfs.img 1szp@r420-PowerEdge-R420:~/busybox-1.32.0$ sudo umount fs 至此,一个带有rootfs的磁盘镜像制作完成...创建64MB磁盘镜像文件,并格式化为ext4,作为共享磁盘备用。

    4.7K20

    库的制作 与 使用 (Linux下)

    动静态库的制作 前置知识 要学会制作动态库,必须要有软硬链接知识的基础,大家可以移步至该文章:软链接和硬链接的详解 (Linux系统下)-CSDN博客 库的基本构造 问题 问题: 我们都知道代码有源文件...*.so output/lib ​ .PHONY:clean clean: rm -f *.o *.a *.so 现在我们的库就可以拿给别人去使用啦(还没有完哦) 库的使用 我们直接将刚刚制作的...output文件夹给用户使用就好啦~~~ 自己制作的库的使用有三种办法 放进系统查找库函数的路径下(静态库) 导入环境变量(动态库) 放入/etc/ld.so.conf.d/的配置文件中...不需要带上该动态库文件名 (´▽`ʃ♡ƪ) 弊端 xshell退出后这个环境变量中就没有我们加的路径了,因为这是内存级环境变量,所以这种方法不适用于长期使用的库 法三:放入配置文件 这种方法是推荐的,Linux

    37410
    领券