1. 程式人生 > >linux工具---用qemu除錯linux核心

linux工具---用qemu除錯linux核心

一.qemu模擬x86
1.1 qemu的安裝
        ubuntu 12.04下安裝qemu很簡單, 
        sudo apt-get install qemu
1.2 linux核心的編譯
    www.kernel.org 下載核心, 以linux-3.0.1為例
    [email protected]:/work/x86/kernel$ tar xf ./linux-3.0.1.tar.bz2
    [email protected]:/work/x86/kernel$ cd linux-3.0.1/
    [email protected]:/work/x86/kernel/linux-3.0.1$ make menuconfig

    [email protected]:/work/x86/kernel/linux-3.0.1$ make bzImage 
    這樣就會生成核心檔案 arch/x86/boot/bzImage
1.3 busybox的編譯
    http://www.busybox.net/ 下載busybox, 以busybox-1.21.1.tar.bz2為例
    [email protected]:/work/x86/kernel$ tar xv busybox-1.21.1.tar.bz2 
    [email protected]:/work/x86/kernel$ cd busybox-1.21.1/

    [email protected]:/work/x86/kernel/busybox-1.21.1$ make menuconfig 
     Busybox Settings  --->  
           Build Options  ---> 
               [*] Build BusyBox as a static binary (no shared libs)           //靜態方式編譯
     Networking Utilities  --->
          [ ] inetd                                                                                 
//去掉inetd
   [email protected]:/work/x86/kernel/busybox-1.21.1$ make install 
       這會生成 _install目錄
1.4 最小檔案系統的建立
只用一個指令碼creatfs.sh就可以生成cramfs檔案系統

相關推薦

linux工具---qemu除錯linux核心

一.qemu模擬x861.1 qemu的安裝        ubuntu 12.04下安裝qemu很簡單,         sudo apt-get install qemu1.2 linux核心的編譯    www.kernel.org 下載核心, 以linux-3.0.1為例    [email 

Qemu除錯Linux核心

Qemu是很有名的ARM虛擬程式,可以在Qemu中執行除錯ARM平臺Linux核心。編譯Qemu,Linux核心,busybox的環境是安裝ubuntu 10.4系統的virtualbox。  在安裝完ubuntu 10.4之後,最好先準備一下編譯環境。  首先需要安裝

ubuntu14.04下qemu除錯linux核心

if (buf_len > 2 * rsa->sizeof_g_packet) { rsa->sizeof_g_packet = buf_len ; for (i = 0; i < gdbarch_num_regs (gdbarch); i++)

linuxqemu除錯linux核心

編譯核心 下載kernel原始碼 git clone git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git cd linux-stable/ -配置核心 mak

第一步,qemu啟動linux核心,從跑個Helloworld開始

       老生長談的內容了,就是自己編譯核心,然後製作initramfs,在用qemu跑 起來。不過在這之前先跑個helloworld玩玩。順便我在學校寫部落格的筆記本系統是ubuntu16.04,在實習單位玩的時候用的系統是centos7,兩個不同的地方我會盡量說明,

在arm-linuxgdb除錯程式,出現“Program received signal SIGPIPE, Broken pipe”

        出現這種情況大多是因為程式採用CS架構(伺服器/客戶端)在讀寫操作時出現,我第一次也是在這樣的情況下遇到的。首先我們都知道套接字的通訊方式是雙工的,同端即可寫也可讀。而出現Broken pipe這種情況的原因是寫段正在寫入時,另一端已關閉套接字,這樣程序就會向

vs2010開發linux平臺C++程式開發環境配置+vs2010除錯linux程式 ----VisualGDB 使用教程

VIM 其實配置為IDE後,其實也是相當不錯的,編輯功能相當強大,偶爾看到有人提到了本文中的寫程式碼方式,於是就想嚐嚐新。 搜尋了一下,這個方式的帖子不是很多,稍微花了點時間,摸索了下,還行,在VS2010下編寫程式碼,到ubuntu下編譯,一切OK! 主機:

QEMU+gdb除錯Linux核心全過程

1、編譯原始碼(Linux kernel 4.6.2) make menuconfig 執行make menuconfig時報錯缺少庫檔案 需要安裝依賴庫 sudo apt-get install aptitude sudo aptitude i

除錯linux核心環境搭建方法(ddd+busybox+qemu+linux3.5.4核心

環境搭建 1.1.準備工作 (1).qemu虛擬機器 (2).busybox軟體 (3).linux-3.5.4核心 (4).ddd 除錯工具(終端中輸入 sudo apt-get install ddd 安裝) 1.2.編譯核心 (1)建立工作目錄:mkdir -p ~

利用eclipse + qemu| Vmware + gdb 除錯linux核心

      繼續回到eclipse中,這時候我們在選單中選擇Run -> Debug Configurations ,這時候開啟一個配置頁面。然後我們在C/C++ Application上雙擊滑鼠,這時在右側的頁面彈出了debug配置選項,然後我們在project一欄選擇 linux-kernel ,在

qemu模擬i386的linux核心,用於核心學習

安裝 apt-get install qemu 下載http://kernel.org/  這裡也測試過4.5版本,但是無法啟動 wget http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.7.4.tar.bz2 tar

Linux下執行Qemu模擬AArch64硬體除錯核心

環境說明: Fedora21 x86_64 ARM公司推出ARM V8架構後,全面進入64位CPU時代,可是目前市場上出現的裝置太少或者說價效比不高,但是又想做相關平臺下的開發,那麼可以考慮下使用qemu模擬器 安裝aarch64-qemu: $

第三方開源工具trash-git放置linux誤刪除文件

python rm trash #!/bin/sh environment_python(){ yum -y install python echo "python OK " } environment_git(){ yum -y install git echo "git OK" } get

Linux工具命令 - rz/sz

http prev ges ack pre tom done list mov Linux系統中將本地的文件上傳到服務器或者從服務器上下載文件到本地可以通過安裝lrzsz工具來簡單便利的完成。 >>RZ :將本地的文件上傳到服務器 >>SZ:從服務器

關於Linux戶,組,權限,文本處理工具,正則表達式,vim文本編輯器

rtx 元字符 否則 權限 tdi 行編輯 directory e2fs 登錄 一、 用戶 ??在Linux系統中,可以創建多個用戶,每一個用戶都有一個與其對應的ID號,就像每一個人都有一個×××號一樣,這就是用戶的UID,??在Linux中管理員 root的默認UID

qemu+gdb tcp server+CDT調試linux內核啟動-起步

pen 軟件 virt pub 繼續 location settings bin vmlinux 用qemu+gdb tcp server+CDT調試linux內核啟動-起步 說明: 環境信息與 用virtualbox+模擬串口+CDT調試linux內核 TCP IP協議棧

使用systemtap除錯Linux核心

最近在公司看Linux核心的nmi死鎖檢測功能的實現機制,當然,是因為它變了,所以我才看的,簡單來說就是在紅帽的某牛提交了一個核心patch:new nmi_watchdog using perf events,這個patch已經被合入到核心主線2.6.38版本,所以使用自該版本開始後核心的

qemu啟動linux核心

linux核心原始碼請自行下載了。 下面開始編譯Linux4.16.4的核心試試, 進入核心根目錄,先生成核心配置檔案: make ARCH=arm vexpress_defconfig 因為準備掛載ramdisk檔案系統,所以這裡還需要再配置一下核心, make ARCH=ar

Linux上好的截圖工具——flameshot

我在windows上習慣了QQ的Ctrl+Alt+A截圖,在linux也想擁有這樣愉快截圖的體驗,flameshot無疑是一個比較好的選擇。 flameshot的功能: 繪畫 直線 箭頭 矩形框 實心矩形 圓環 標記 模糊 儲存 複製到剪下板 移動 該百

20121022 sysctl調整linux核心選項

需求:在我們的dlna程式執行期間,發現有丟包的現象,有的NOTIFY包丟失,有的M-SEARCH包丟失。更極端的是,有次使用電信msm7627a手機,通過抓包,在出現了3此NOTIFY之後,M-SEARCH一直都沒有出現。而通常情況下,兩個廣播包在開始是交替出現的。這樣,就導致這款只能傳送廣播不能接收廣播的