1. 程式人生 > >ubuntu18.04搭建qemu核心除錯環境(待續)

ubuntu18.04搭建qemu核心除錯環境(待續)

目錄:

獲取環境

Ubuntu中安裝相關環境:

apt-get install qemu libncurses5-dev gcc-arm-linux-gnueabi build-essential

獲取kernel原始碼和busybox原始碼:
linux
busybox

編譯韌體

最小根檔案系統

由於根檔案系統製作過程比較繁瑣,所以直接使用已經制作好了的,這個採用靜態編譯的方法制作,將解壓出來的_install放到核心目錄下面即可。
根檔案系統

核心

進入核心目錄下,對選單進行配置:

export ARCH=arm
export
CROSS_COMPILE=arm-linux-gnueabi- make vexpress_defconfig make menuconfig

填入根檔案系統名字:
這裡寫圖片描述

清空string欄位:
這裡寫圖片描述

使用者空間、核心空間比選為3:1,並選擇高階記憶體選項:
這裡寫圖片描述
編譯核心:

make bzImage -j4 ARCH=arm CROSS_COMPILE=arm-linux-gnueabi-
make dtbs

啟動qemu

這條命令比較長,建議寫成指令碼

qemu-system-arm -M vexpress-a9 -smp 4 -m 1024M -kernel arch/arm/boot/zImage -append
"rdinit=/linuxrc console=ttyAMA0 loglevel=8" -dtb arch/arm/boot/dts/vexpress-v2p-ca9.dtb -nographic

效果:
這裡寫圖片描述

掛載sd卡

dd if=/dev/zero of=sd.img bs=64 count=1M
mkfs.ext2 sd.img

qemu啟動引數加上-sd sd.img即可。
核心掛載:

mount -t ext2 dev/mmcblk0 tmp
PS:建議在etc/init.d/rcS上加上這句,ramdisk核心需要重新編譯一下

使用gdb

1.下載gdb,我選擇7.8版本

gdb地址

2.安裝gdb

tar xjf gdb-7.8.tar.gz
cd gdb-7.8/
./configure --target=arm-linux
make
make install

3.使用

進入核心目錄執行qemu:

qemu-system-arm -s -S -M vexpress-a9 -smp 4 -m 1024M -kernel arch/arm/boot/zImage -append "rdinit=/linuxrc console=ttyAMA0 loglevel=8"  -dtb arch/arm/boot/dts/vexpress-v2p-ca9.dtb -nographic

在另一個終端啟動gdb

arm-linux-gdb --tui vmlinux
target remote localhost:1234
b start_kernel
c

這裡寫圖片描述

gdb命令說明

b
c
n
s
p
bt
info registers

相關推薦

ubuntu18.04搭建qemu核心除錯環境(待續)

目錄: 獲取環境 Ubuntu中安裝相關環境: apt-get install qemu libncurses5-dev gcc-arm-linux-gnueabi build-essential 獲取kernel原始碼和busybox

Linux核心除錯環境搭建(基於ubuntu12.04)

by Netfairy - 2016-05-29 一、測試環境 物理機:ubuntu16.04 LTS target(被除錯機)環境:VirtualBox 5.0.20+ubuntu 12.04 LTS + linux kernel 3.0.4 host

Ubuntu18.04搭建nodejs環境

首先安裝sudo apt install curl 然後安裝命令(當前最新版本是0.33.2,最新版本可以在https://github.com/creationix/nvm檢視): curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.

linux核心除錯環境搭建

版本linux4.17 ubuntu18.04先給系統至少80G記憶體1。編譯核心先配置檔案make mrpropermake menuconfig我這裡需要的依賴有 sudo apt install make cmake gcc g++ clang sudo apt-get install libnc

linux-2-6-11核心除錯環境搭建

linux核心除錯環境分為兩部分 1)用bochs除錯彙編 2)用qemu除錯從start_kernel開始的部分 環境說明: 核心版本: 2.6.11 ubuntu: 6.10 qemu: qemu-stable-0.13 busybox: 1.10.4 安裝ubuntu

ubuntu18.04搭建Hyperledger-fabric 1.1.0開發環境

Hyperledger-fabric 1.1.0更新已經兩三個月了,ubuntu18.04也更新了快一個月了。今天在ubuntu18. 04上進行了Hyperledger-fabric 1.1.0的環境搭建,現在把過程記錄下來。 Go語言環境 下載Go環

Ubuntu18.04搭建VSCode Python環境

最近看python原始碼看的頭大,想著邊調邊看會不會理解的快一點,就想搭一個python除錯環境。之前看原始碼用的就是VSCode,因為它的搜尋功能真的很喜歡~ 安裝VSCode 1、從VSCode官網下載deb軟體包 2、在Ubuntu中安裝VSCode sudo d

[Android] 在Ubuntu 12.04 (64bit)上使用搭建Android的除錯環境:ADB USB Connection By root

1.首先需要在Android裝置上使能USB方式的ADB功能,不同的Android廠家裝置有不同的方法:     以Philips TV為例:           (1).開機時按住SPACE鍵進入Uboot命令列模式,輸入                  mt589

linux核心除錯環境搭建-2 用busybox搭建

下載linux核心: $cd ~/work/ $wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.35.9.tar.bz2 解壓 $tar -jxvf linux-2.6.35.9.tar.bz2

linux核心除錯環境搭建-3 除錯核心模組

在虛擬機器中 建立兩個指令碼get.sh: tftp 192.168.100.1 -g -r $1 put.sh: tftp 192.168.100.1 -p -l $1 在linux裝置驅動開發詳解中原始碼: /*=========================

linux核心除錯環境搭建-

kvm系統的前端是qemu-kvm,工作在使用者空間,給使用者提供一套方便的kvm虛擬化工具集合。下面來介紹一下qemu-kvm-0.11.0的編譯過程。 1、下載 wget http://sourceforge.net/projects/kvm/files/qemu-kvm/0.11.0/qem

Ubuntu 17.04 搭建LAMP服務器環境流程

ins () 更改 lib tro code 文件 etc doc 安裝Apache2 安裝代碼 sudo apt-get install apache2 更改默認目錄 sudo vim /etc/apache2/apache2.conf // 將 <

【Android】Ubuntu 16.04搭建Android開發編譯環境

jdk8 per 參考 prot google官網 markdown ins 由於 log 一. 通用Android環境和工具配置 1. 系統更新升級 sudo apt-get update sudo apt-get upgrade 2. 配置ntlmaps代理上網環境

ubuntu16.04搭建hadoop集群環境

address hadoop 集群 所有 ipv ret 加載文件 keygen -- manager 1. 系統環境Oracle VM VirtualBoxUbuntu 16.04Hadoop 2.7.4Java 1.8.0_111master:192.168.19.12

ubuntu18.04錯誤配置變量環境導致無法進入系統

bash recover 解決方法 權限 export recovery 中修改 選擇 cover 1.問題描述   錯誤配置環境變量(直接在/etc/profile文件末尾添加了export xxx),關機後一直在登錄界面循環無法進入系統.   ###環境變量的添加是在原

Windows和Linux中搭建PostgreSQL原始碼除錯環境

本文使用Xming、Putty和VMWare幾款工具,在Windows桌面環境呼叫Ubuntu虛擬機器上的圖形介面進行PostgreSQL原始碼的除錯。文中的所有步驟適合真機Ubuntu系統,只是所有圖形介面的呼叫是在Windows桌面環境下。這樣做,和直接在Ubuntu虛擬機器中進行除錯,並沒有什麼區別,只

Hugh ubuntu 14.04搭建tensorflow-gpu開發環境

轉載地址:https://www.cnblogs.com/samo/p/8092708.html 一、安裝nvidia顯示卡驅動 去navidia官網檢視最新的驅動版本號:navidia官網:http://www.geforce.cn/drivers 找到顯示卡對應的驅動下載,例如

Ubuntu18.04搭建Zabbix3.4.2

系統環境: Zabbix-DB: 系統:ubuntu18.04 IP:172.17.0.2 DB:Mysql5.7.22 Zabbix-WEB: 系統:ubuntu18.04 IP:172.17.0.3 Apache:2.4.33 PHP:7.1.17 Zabbix-DB操作 建立

ubuntu18.04 配置python tensorflow虛擬環境+pycharm

在ubuntu18.04環境下裝tensorflow的時候,總是會被裝到~/.local下,尋找時候很麻煩,於是決定使用虛擬環境。 pycharm可以直接建立新的虛擬環境,並且可以直接在pycharm裡新增安裝環境需要的庫(文末會提到),不過在pycharm裡操作可控性不好,而且安裝tensor

ubuntu14.04搭建Android-NDK開發環境

1.建立Android平臺工作空間 mkdir AndroidWorkSpace 2.進入Android平臺工作空間,建立NDK工具目錄 cd AndroidWorkSpace mkdir NDK_Tools 3.獲取android-ndk-r10b 下載:wget ht