免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
vmware + kgdb + linux2.6.15內(nèi)核調(diào)試配置

vmware + kgdb + linux2.6.15內(nèi)核調(diào)試配置

===================================================

作者:ietf AT doit.com.cn

引用請注明出處。

===================================================

從早到晚,整整一天啊,總算成功了。
首先看看配置吧:

系統(tǒng)配置:
vmware workstation 5.5.3
FC-5,內(nèi)核2.6.15
具體可以參考《在VmWare Workstation中編譯Linux2.6.20內(nèi)核》(以下簡稱《2.6.20》)中“VmWare虛擬硬件環(huán)境:”和“VmWare原始系統(tǒng)內(nèi)核環(huán)境”,完成系統(tǒng)的安裝,命名系統(tǒng)為"FC-5-kgdb-client"。

Clone一個和預(yù)裝環(huán)境一樣的系統(tǒng),選則"Create a full clone",命名為"FC-5-kgdb-server"。

分別為兩個系統(tǒng)增加一個串口,以"use named pipe"方式,其中:
client端選擇"this end is theclient", "the other end is a virtual machine"
Server端選擇"this end isthe server", "the other end is a virtual machine"

文件下載:
進入client系統(tǒng),從網(wǎng)上下載如下源文件。(之所以算澤2.6.15版本內(nèi)核,是因為kgdb的patch目前最高只能支持到這個版本

linux kernel
http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.15.tar.gz
module-init-tools
http://www.kernel.org/pub/linux/utils/kernel/module-init-tools/module-init-tools-3.2.tar.gz
kgdbpatch
http://kgdb.linsyssoft.com/downloads/kgdb-2/linux-2.6.15.5-kgdb-2.4.tar.bz2

按照《2.6.20》所介紹方式,解壓縮各個包。假設(shè)最終kernel和patch的路徑如下:
/usr/src/linux
/usr/src/linux-2.6.15.5-kgdb-2.4

為內(nèi)核打上kgdb的支持補丁(俺的過程如下,具體可以參考patch中README,選擇需要得patch):

cd/usr/src/linux
patch -p1 <../linux-2.6.15.5-kgdb-2.4/core-lite.patch
patch -p1 <../linux-2.6.15.5-kgdb-2.4/i386-lite.patch
patch -p1 <../linux-2.6.15.5-kgdb-2.4/8250.patch
patch -p1 <../linux-2.6.15.5-kgdb-2.4/eth.patch
patch -p1 <../linux-2.6.15.5-kgdb-2.4/i386.patch
patch -p1 <../linux-2.6.15.5-kgdb-2.4/core.patch
patch -p1 <../linux-2.6.15.5-kgdb-2.4/module.patch
patch -p1 <../linux-2.6.15.5-kgdb-2.4/sysrq_bugfix.patch

按正常編譯內(nèi)核流程,進入makemenuxonfig階段,除了《2.6.20》文中為了支持vmware中內(nèi)核編譯必須的選項,還需要加上如下內(nèi)容:
http://kgdb.linsyssoft.com/images/xconfig-selection.jpg

但是這張圖片有點老,僅供參考。最關(guān)鍵的一條,上面沒有,就是:
Serial portnumber for KGDB,默認(rèn)選項是1,需要改為零。(正是這一點,折磨了我一個晚上)

接著該干嗎就干嗎,直到make bzImage完成。

下面要做的工作就相對簡單一點:
將/usr/src/linux/arch/i386/boot/bzImage和/usr/src/linux/System.map復(fù)制到server上,進入這兩個文件所在目錄,

cpbzImage /boot/vmlinuz-2.6.15.5-kgdb
cp System.map/boot/System.map-2.6.15.5-kgdb

創(chuàng)建symbolic鏈接(為什么是symbolic,參考俺關(guān)于文件系統(tǒng)的文章吧)

ln -s /boot/vmlinuz-2.6.15.5-kgdb /boot/vmlinuz
ln -s/boot/System.map-2.6.15.5-kgdb /boot/System.map

下面就該修改啟動項啦:

vim/boot/grub/grub.conf

我的給大家做個參考吧:

default=1
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
titleFedora Core (2.6.15.5-kgdb)
 root (hd0,0)
 kernel/vmlinuz-2.6.15.5-kgdb ro root=/dev/VolGroup00/LogVol00kgdb8250=0,115200 kgdbwait
title Fedora Core(2.6.15-1.2054_FC5)
 root (hd0,0)
 kernel/vmlinuz-2.6.15-1.2054_FC5 ro root=/dev/VolGroup00/LogVol00 rhgb quiet
 initrd/initrd-2.6.15-1.2054_FC5.img

OK, reboot就等著重啟吧。

系統(tǒng)引導(dǎo)到

"Uncompressing Linux... OK, booting the kernel."

所有的資料上都說看到

"Waiting for connection fromremote gdb..."

才是等待調(diào)試狀態(tài),可我看到的只是前面一句。再加上默認(rèn)得串口選項沒有看到資料提醒需要修改,所以總是無法連接。這兩個綜合起來,就一直折騰了整整一天。好在最后耐心的看patch的README才有所啟發(fā)。


就可以用client去連接了。在client上:

cd /usr/src/linux
gdb ./vmlinux

GNUgdb Red Hat Linux (6.0post-0.20040223.17rh)
Copyright 2004 FreeSoftware Foundation, Inc.
GDB is free software, covered by the GNUGeneral Public License, and you are
welcome to change it and/ordistribute copies of it under certain conditions.
Type "show copying"to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as"i386-redhat-linux-gnu"...Using host libthread_db library"/lib/tls/libthread_db.so.1".

(gdb) set remotebaud 115200
(gdb)target remote /dev/ttyS0
Remote debugging using /dev/ttyS0
breakpoint() at kernel/kgdb.c:1212
1212           atomic_set(&kgdb_setting_breakpoint, 0);
warning: shared libraryhandler failed to enable breakpoint
(gdb)

下面就隨心所欲,去折騰你的內(nèi)核吧。

參考文檔:
http://kgdb.linsyssoft.com/quickstart.htm
patch源碼中README
《在VmWare Workstation中編譯Linux 2.6.20內(nèi)核》

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
在vmware上建立kgdb調(diào)試linux kernel源碼的平臺-1
Linux 系統(tǒng)內(nèi)核的調(diào)試
linux kgdb gdb debug ? 內(nèi)核調(diào)試器kdb與kgdb模式相互切換
不使用KGDB 只用GDB+VMWARE 能調(diào)試內(nèi)核模塊嗎 - 內(nèi)核源碼
FC4下升級內(nèi)核到2.6.15.4及給netfilter打補丁 - 網(wǎng)絡(luò)與硬件 - Linux - ChinaUnix.net
用iptables封殺內(nèi)網(wǎng)的bt軟件 - 51CTO.COM
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服