出於對用虛擬機器 除錯 核心**,看是否能對學習核心有比較大的幫助。。 進行了下驗證 。
中間 的命令僅作為參考, 是使用過程中的一些記錄, 檔案命名 路徑名 使用時 作出對應調整 需。
$ wget # 解壓 $ tar xvf linux-3.10.104.tar.xz
$ cd linux-3.10.104
進行配置
$ make menuconfig
編譯。$ make -j8 #
$ cp linux-3.10.104/arch/x86_64/boot/bzimage
安裝虛擬機器
$ sudo apt-get install qemu
2. 製作rootfs
vi hello.c
gcc -static -o helloworld hello.cecho helloworld | cpio -o --format=newc > rootfs
製作根檔案系統。
3, 啟動 啟動linux核心。
cd linuxkernel
qemu-system-i386 -kernel linux-3.18.6/arch/x86/boot/bzimage -initrd rootfs.img -s -s # 關於-s和-s選項的說明:
# -s freeze cpu at startup (use 』c』 to start execution)
# -s shorthand for -gdb tcp::1234 若不想使用1234埠,則可以使用-gdb tcp:***x來取代-s選項
4 啟動gdb除錯
gdb
(gdb)file linux-3.18.6/vmlinux # 在gdb介面中targe remote之前載入符號表
(gdb)target remote:1234 # 建立gdb和gdbserver之間的連線,按c 讓qemu上的linux繼續執行
(gdb)break start_kernel # 斷點的設定可以在target remote之前,也可以在之後
用Qemu執行 除錯arm linux
用qemu執行 除錯arm linux,這事情幹過好幾次了,久了就忘記了,每次都要重新去查資料,浪費不少時間。這次把整個過程弄成個指令碼,放到github上,需要是拿下來執行一下即可,方便自己也方便有需要的朋友。這裡解釋一下指令碼的內容 執行系統ubuntu 16.04 lts export arc...
使用QEMU除錯u boot
參考 qemu uboot kernel nfs檔案系統 qemu system arm vexpress a9踩坑記 u boot 分析 2 在qemu環境下的除錯 1.安裝交叉編譯和除錯工具 sudo apt get install gcc arm linux gnueabi sudo apt ...
IDA除錯QEMU修復除錯環境
本篇文章是按照家用路由器裡面的內容來敘述的.在目錄 my file dir605l fw 113.bin.extracted squashfs root 0 下 執行cp which qemu mips 而後執行命令 sudo chroot qemu mips bin boa 注意 書上是有錯誤的,...