用Qemu執行 除錯arm linux

2021-08-14 09:07:15 字數 2665 閱讀 9716

用qemu執行/除錯arm linux,這事情幹過好幾次了,久了就忘記了,每次都要重新去查資料,浪費不少時間。這次把整個過程弄成個指令碼,放到github上,需要是拿下來執行一下即可,方便自己也方便有需要的朋友。這裡解釋一下指令碼的內容(執行系統ubuntu 16.04 lts):

export arch=arm

export machine=vexpress

export target=arm-linux

export gdb_version=8.0

export kernel_version=4.4.1

export busybox_version=1.25.1

export cross_compile=arm-linux-gnueabihf-

function prepare()
function download_linux

() .tar.xz ]

then

echo linux-$.tar.xz exist

else

wget

fiif [ -e linux-$ ]

then

echo linux-$ exist

else

tar xf linux-$.tar.xz

fi}

function build_linux

() make $_defconfig

make zimage -j8

make modules -j8

make dtbs

cd -

}

function copy_linux() /arch/arm/boot/zimage arm-linux

-kernel

/ cp -fv linux-$/arch/arm/boot/dts/*ca9.dtb arm-linux-kernel/

cp -fv linux-$/.config arm-linux-kernel/

}

function download_busybox

() .tar.bz2 ]

then

echo busybox-$.tar.bz2 exist

else

wget

fiif [ -e busybox-$ ]

then

echo busybox-$ exist

else

tar xf busybox-$.tar.bz2

fi}

function build_busybox

() make defconfig

make cross_compile=$

make install cross_compile=$

cd -

}

function make_rootfs() /_install/* rootfs/ -rf

dd if=/dev/zero of=rootfs.ext3 bs=1m count=128

mkfs.ext3 rootfs.ext3

mkdir tmpdir

mount -t ext3 rootfs.ext3 tmpdir/ -o loop

cp -r rootfs/* tmpdir/

mknod tmpdir/dev/tty1 c 4

1 mknod tmpdir/dev/tty2 c 4

2 mknod tmpdir/dev/tty3 c 4

3 mknod tmpdir/dev/tty4 c 4

4 umount tmpdir

}

function download_gdb

() .tar.gz ]

then

echo gdb-$.tar.gz exist

else

wget

fiif [ -e gdb-$ ]

then

echo gdb-$ exist

else

tar xf gdb-$.tar.gz

fi}

function build_gdb

() ./configure --target=$ --enable-sim --prefix=/usr/local/

make

cp -fv gdb-$/gdb/gdb /usr/local/bin/arm-linux-gdb

cd -

}

function

gen_gdb_init

() /vmlinux" >gdbinit

echo

"dir linux-$" >>gdbinit

echo

"target remote :1234" >>gdbinit

}

function

build

() build

echo

"done"

還包括其它一些指令碼和使用說明,一併放在上。

ubuntu用qemu除錯linux核心

出於對用虛擬機器 除錯 核心 看是否能對學習核心有比較大的幫助。進行了下驗證 中間 的命令僅作為參考,是使用過程中的一些記錄,檔案命名 路徑名 使用時 作出對應調整 需。wget 解壓 tar xvf linux 3.10.104.tar.xz cd linux 3.10.104 進行配置 make...

使用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 注意 書上是有錯誤的,...