amd64下基于per_cpu变量current_task获取task_struct amd64下基于per_cpu变量current_task获取task_struct 获取current_task地址 1nm vmlinux | grep current_task 获取task_struct指针 获取当前正在运行的cpu所属线程: 1info threads 从上图看到有8个cpu,可以改动qemu虚拟化时-smp 8参数调整cpu个数。 1(struct task_ 2023-04-19 linux > kernel > qemu #Linux #qemu #git #linux
amd64下基于qemu调试uos-v20-1060-amd64 amd64下基于qemu调试uos-v20-1060-amd64 安装环境 1sudo apt-get install qemu qemu-system-arm qemu-efi qemu-efi-aarch64 virtinst virt-manager virt-viewer 制作启动盘 下载镜像 1wget https://cdimage.uniontech.com/daily-iso/10 2023-04-19 linux > kernel > qemu #Linux #qemu #git #linux #HTML
arm64下基于qemu调试uos-v20-1060-arm64 arm64下基于qemu调试uos-v20-1060-arm64 安装环境 1sudo apt-get install qemu qemu-system-arm qemu-efi qemu-efi-aarch64 virtinst virt-manager virt-viewer qemu-system-aarch64 制作启动盘 下载镜像 1wget https://cdimage.uni 2023-04-19 linux > kernel > qemu #Linux #qemu #git #linux #HTML
helloworld-initramfs helloworld initramfs helloworld.c源码 做一个最简单的Hello World initramfs,来直观地理解initramfs。 Hello World的C程序如下,与普通的Hello World相比,加了一行while(1)。 123456789#include <stdio.h>void main(){ printf("H 2023-04-19 linux > kernel > qemu #Linux #qemu #linux #HTML #initramfs
linux内核调试 linux 内核调试 1qemu-system-x86_64 -s -S -kernel ~/code/linux/arch/x86/boot/bzImage -initrd ~/code/busybox-1.35.0/initramfs.cpio.gz -append "nokaslr console=ttyS0" -nographic 1qemu-system-x86_64 2023-04-19 linux > kernel > qemu #Linux #qemu #linux #HTML #initramfs
mac下基于qemu调试ubuntu-22 mac下基于qemu调试ubuntu-22.04.01 安装环境 1brew install qemu 创建磁盘映像 1qemu-img create -f qcow2 ubuntu-22.04.1-desktop-amd64.qcow2 20G 安装 Ubuntu 12345678910qemu-system-x86_64 \ -machine type=q35,accel=hvf \ 2023-04-19 linux > kernel > qemu #Linux #qemu #linux
去掉编译内核的优化选项 去掉编译内核的优化选项 优化级别从 -O2 改为 -O1 修改内核源代码根目录下的Makefile: 1sed -i 's/KBUILD_CFLAGS += -O2/KBUILD_CFLAGS += -O1/g' Makefile 内核调试选项 1234567Kernel hacking ---> Compile-time checks and comp 2023-04-19 linux > kernel > qemu #Linux #qemu #linux #HTML
uts_namespace uts_namespace内核实现 本次调试基于linux v5.10-rc7,具体参加下方链接: 基于qemu桥接网络、debootstrap 调试内核、根文件系统 断点 12(gdb) save breakpoints ust_namespace.breakpointSaved to file 'ust_namespace.breakpoint'. 1234567891 2023-04-19 linux > kernel > namespace > uts_namespace #Linux #qemu #git #linux #namespace