导航:首页 > 源码编译 > bochs源码注释pdf

bochs源码注释pdf

发布时间:2022-06-29 20:25:10

⑴ 怎么用gdb和bochs调试内核

gdbstub可以使得Bochs程序在本地1234网络端口侦听接收gdb的命令,并且向gdb发送命令执行结果。从而我们可以利用gdb对linux 0.11内核进行C语言级的调试。当然,Linux 0.11内核也需要进行使用-g选项重新编译

14.13.1 编译带gdbstub的Bochs系统{.j,
Bochs用户手册中介绍了自行编译Bochs系统的方法。这里我们给出编译带gdbstub的Bochs系统的方法和步骤。首先从下面网站下载最新Bochs系统源代码(例如:bochs-2.2.tar.gz):U
使用tar对软件包解压后会在当前目录中生成一个bochs-2.2子目录。进入该子目录后带选项“--enable-gdb-stub”运行配置程序configure,然后运行make和make install即可,见如下所示:
[root@plinux bochs-2.2]# ./configure --enable-gdb-stubI0B%
checking build system type... i686-pc-linux-gnu7.tY.
checking host system type... i686-pc-linux-gnuQ
checking target system type... i686-pc-linux-gnu{
...©OldLinux论坛 -- 有关早期Linux内核代码发展的论坛。M
[root@plinux bochs-2.2]# makeQ
[root@plinux bochs-2.2]# make installN?
©OldLinux论坛 -- 有关早期Linux内核代码发展的论坛。ufVz
若在运行./configure时我们碰到一些问题而不能生成编译使用的Makefile文件,那么这通常是由于没有安装X window开发环境软件或相关库文件造成的。此时我们就必须先安装这些必要的软件。>1z<z

14.13.2 编译带调试信息的Linux 0.11内核"jmg
通过把Bochs的模拟运行环境与gdb符号调试工具联系起来,我们既可以使用Linux 0.11系统下编译的带调试信息的内核模块来调试,也可以使用在RedHat 9环境下编译的0.11内核模块来调试。这两种环境下都需要对0.11内核源代码目录中所有Makefile文件进行修改,即在其中编译标志行上添加-g标志,并去掉链接标志行上的-s选项:2

LDFLAGS = -M -x // 去掉 -s 标志。XJFU)Y
CFLAGS =-Wall -O -g -fomit-frame-pointer / // 添加 -g 标志。iMN

进入内核源代码目录后,利用find命令我们可以找到以下所有需要修改的Makefile文件:_6

[root@plinux linux-0.11]# find ./ -name MakefileSn^
./fs/Makefile-
./kernel/Makefile/"`p%
./kernel/chr_drv/Makefile(pyM
./kernel/math/MakefileV
./kernel/blk_drv/Makefiles/CDu
./lib/Makefile[x~
./Makefile980
./mm/Makefile/zb
[root@plinux linux-0.11]#S9/Q

另外,由于此时编译出的内核代码模块中含有调试信息,因此system模块大小可能会超过写入内核代码映像文件的默认最大值SYSSIZE = 0x3000(定义在boot/bootsect.s文件第6行)。我们可以按以下方法修改源代码根目录中的Makefile文件中产生Image文件的规则,即把内核代码模块system中的符号信息去掉后再写入Image文件中,而原始带符号信息的system模块保留用作gdb调试器使用。注意,目标的实现命令需要以一个制表符(TAB)作为一行的开始。pP

Image: boot/bootsect boot/setup tools/system tools/build)=1
cp -f tools/system system.tmp=-&a
strip system.tmphQ6n0S
tools/build boot/bootsect boot/setup system.tmp $(ROOT_DEV) $(SWAP_DEV) > ImageA-)
rm -f system.tmpY3w[/@
sync9=P2n
©OldLinux论坛 -- 有关早期Linux内核代码发展的论坛。KuEo
当然,我们也可以把boot/bootsect.s和tools/build.c中的SYSSIZE值修改成0x8000来处理这种情况。a?g4

14.13.3 调试方法和步骤;M]3!
下面我们根据在现代Linux系统(例如RedHat 9)系统上和运行在Bochs中Linux 0.11系统上编译出的内核代码分别来说明调试方法和步骤。
1 调试现代Linux系统上编译出的Linux 0.11内核?E
假设我们的Linux 0.11内核源代码根目录是linux-rh9-gdb/,则我们首先在该目录中按照上面方法修改所有Makefile文件,然后在linux-rh9-gdb/目录下创建一个bochs运行配置文件并下载一个配套使用的根文件系统映像文件。我们可以直接从网站下载已经设置好的如下软件包来做实验:
使用命令“tar zxvf linux-gdb-rh9-050619.tar.gz”解开这个软件包后,可以看到其中包含以下几个文件和目录:MX{-
©OldLinux论坛 -- 有关早期Linux内核代码发展的论坛。X
[root@plinux linux-gdb-rh9]# ll'*5tfq
total 1600bJT~Q
-rw-r--r-- 1 root root 18055 Jun 18 15:07 bochsrc-fd1-gdb.bxrcf%J2s
drwxr-xr-x 10 root root 4096 Jun 18 22:55 linux[dM&
-rw-r--r-- 1 root root 1474560 Jun 18 20:21 rootimage-0.11-for-orig8EIChk
-rwxr-xr-x 1 root root 35 Jun 18 16:54 run{gj
[root@plinux linux--gdb-rh9]#t|f

这里的bochs配置文件与其他Linux 0.11配置文件的主要区别是在文件头部添加有以下一行内容,表示当bochs使用这个配置文件运行时将在本地网络端口1234上侦听gdb调试器的命令:NhL

gdbstub: enabled=1, port=1234, text_base=0, data_base=0, bss_base=0J,i/6

运行这个实验的基本步骤如下:@EkQ

(1).启动X window系统后打开两个终端窗口;(mPN
(2).在一个窗口中,把工作目录切换进linux-gdb-rh9/目录中,并运行程序“./run”,此时该窗口中会显示一条等待gdb来连接的信息:“Wait for gdb connection on localhost:1234”,并且系统会创建一个Bochs主窗口(此时无内容);1P=VI<
(3).在另一个窗口中,我们把工作目录切换到内核源代码目录中linux-gdb-rh9/linux/,并运行命令:“gdb tools/system”;iDqm8
(4).在运行gdb的窗口中键入命令“break main”和“target remote localhost:1234”,此时gdb会显示已经连接到Bochs的信息;p
(5).在gdb环境中再执行命令“cont”,稍过一会gdb会显示程序停止在init/main.c的main()函数处。v3L2

下面是运行gdb和在其中执行的一些命令示例。[2;jS

[root@plinux linux]# gdb tools/system hI/
GNU gdb Red Hat Linux (5.3post-0.20021129.18rh)!mC}
Copyright 2003 Free Software Foundation, Inc.|3
GDB is free software, covered by the GNU General Public License, and you areC$NY4
welcome to change it and/or distribute copies of it under certain conditions.boNdAL
Type "show ing" to see the conditions.3[nfHW
There is absolutely no warranty for GDB. Type "show warranty" for details.'1-V
This GDB was configured as "i386-redhat-linux-gnu"...Oq&*[
(gdb) break main }<;
Breakpoint 1 at 0x6621: file init/main.c, line 110.+%!.]{
(gdb) target remote localhost:12342 .yc
Remote debugging using localhost:1234X6X&7
0x0000fff0 in sys_mkdir (pathname=0x0, mode=0) at namei.c:481(
481 namei.c: No such file or directory.5QU
in namei.c&%P'
(gdb) cont Pv'/S$
Continuing.P:O_{
Breakpoint 1, main () at init/main.c:110 *
110 ROOT_DEV = ORIG_ROOT_DEV;T7PkpD
(gdb) list 5XT
105 { /* The startup routine assumes (well, ...) this */2L$
106 /*_c
107 * Interrupts are still disabled. Do necessary setups, then)Z0k
108 * enable themjZ@+wn
109 */u
110 ROOT_DEV = ORIG_ROOT_DEV;d&!*`
111 drive_info = DRIVE_INFO;#yRW,
112 memory_end = (1<<20) + (EXT_MEM_K<<10);9Uaw
113 memory_end &= 0xfffff000;`v8fAR
114 if (memory_end > 16*1024*1024)lA#
(gdb) next DH.zM
111 drive_info = DRIVE_INFO;X
(gdb) next ?+S:q
112 memory_end = (1<<20) + (EXT_MEM_K<<10);iXdDt
(gdb) print /x ROOT_DEV <W<
$3 = 0x21d }{%Q
(gdb) quit |
The program is running. Exit anyway? (y or n) yt
[root@plinux linux]#lixBs
=====================================================
14.1 利用bochs调试内核%UU
Bochs具有非常强大的操作系统内核调试功能。这也是本文选择Bochs作为首选实验环境的主要原因之一。有关Bochs调试功能的说明参见前面14.2节,这里基于Linux 0.11内核来说明Windows环境下Bochs系统调试操作的基本方法。m[2

14.1.1 运行Bochs调试程序.g8O
我们假设Bochs系统已被安装在目录“C:/Program Files/Bochs-2.1.1/”中,并且Linux 0.11系统的Bochs配置文件名称是bochsrc-hd.bxrc。现在在包含内核Image文件的目录下建立一个简单的批处理文件run.bat,其内容如下:R

"C:/Program Files/Bochs-2.1.1/bochsdbg" -q -f bochsrc-hd.bxrcjFypV+

其中bochsdbg是Bochs系统的调试执行程序。运行该批处理命令即可进入调试环境。此时Bochs的主显示窗口空白,而控制窗口将显示以下类似内容:D8v~

C:/Documents and Settings/john1/桌面/Linux-0.11>"C:/Program Files/Bochs-2.1.1/boRW6RNY
chsdbg" -q -f bochsrc-hd.bxrc2
========================================================================`)2?os
Bochs x86 Emulator 2.1.13$O@R
February 08, 2004x2
========================================================================/26c3(
00000000000i[ ] reading configuration from bochsrc-hd.bxrcq4
00000000000i[ ] installing win32 mole as the Bochs GUI4UW
00000000000i[ ] Warning: no rc file specified.1dsv
00000000000i[ ] using log file bochsout.txtmM
Next at t=0*
(0) context not implemented because BX_HAVE_HASH_MAP=0c
[0x000ffff0] f000:fff0 (unk. ctxt): jmp f000:e05b ; ea5be000f0g$
<bochs:1>i/

此时Bochs调试系统已经准备好开始运行,CPU执行指针已指向ROM BIOS中地址0x000fffff0处的指令处。其中'<bochs:1>'是命令输入提示符,其中的数字表示当前的命令序列号。在命令提示符'<bochs:1>'后面键入'help'命令,可以列出调试系统的基本命令。若要了解某个命令的具体使用方法,可以键入'help'命令并且后面跟随一个用单引号括住的具体命令,例如:“help 'vbreak'”,如下面所示。V7

<bochs:1> help@n{L(
help - show list of debugger commands5&6^
help 'command'- show short command description~B
-*- Debugger control -*-e!/;l
help, q|quit|exit, set, instrument, show, trace-on, trace-off,u7J
record, playback, load-symbols, slistr2:
-*- Execution control -*-pOHjE
c|cont, s|step|stepi, p|n|next, modebpj
-*- Breakpoint management -*-|EQ
v|vbreak, lb|lbreak, pb|pbreak|b|break, sb, sba, blist,dL/rBI
bpe, bpd, d|del|deleteyR%|
-*- CPU and memory contents -*-xsMy
x, xp, u|disas|disassemble, r|reg|registers, setpmem, crc, info, mp_cpu,@|'p
set_cpu, ptime, print-stack, watch, unwatch, ?|calc7
<bochs:2> help 'vbreak'_t*<#o
help vbreak/?
vbreak seg:off - set a virtual address instruction breakpoint0
<bochs:3>flx+

为了让Bochs直接模拟执行到Linux的引导启动程序开始处,我们可以先使用断点命令在0x7c00处设置一个断点,然后让系统连续运行到0x7c00处停下来。执行的命令序列如下:.Xfk

<bochs:3> vbreak 0x0000:0x7c00hDzuWy
<bochs:4> cfMH/'X
(0) Breakpoint 1, 0x7c00 (0x0:0x7c00))W&
Next at t=4409138<-0m5
(0) [0x00007c00] 0000:7c00 (unk. ctxt): mov ax, 0x7c0 ; b8c007b 03*
<bochs:5>3R28Q

此时,CPU执行到boot.s程序开始处的第1条指令处,Bochs主窗口将显示出“Boot From floppy...”等一些信息。现在,我们可以利用单步执行命令's'或'n'(不跟踪进入子程序)来跟踪调试程序了。在调试时可以使用Bochs的断点设置命令、反汇编命令、信息显示命令等来辅助我们的调试操作。下面是一些常用命令的示例:J'P

<bochs:8> u /10 # 反汇编从当前地址开始的10条指令。,S/2
00007c00: ( ): mov ax, 0x7c0 ; b8c007Wvl
00007c03: ( ): mov ds, ax ; 8ed8)1f*
00007c05: ( ): mov ax, 0x9000 ; b80090WmD1
00007c08: ( ): mov es, ax ; 8ec0(`|
00007c0a: ( ): mov cx, 0x100 ; b90001iW1|1
00007c0d: ( ): sub si, si ; 29f6ze_QZY
00007c0f: ( ): sub di, di ; 29ffZStl
00007c11: ( ): rep movs word ptr [di], word ptr [si] ; f3a5=yF
00007c13: ( ): jmp 9000:0018 ; ea18000090!s?PR9
00007c18: ( ): mov ax, cs ; 8cc8(
<bochs:9> info r # 查看当前CPU寄存器的内容aM>/D
eax 0xaa55 436057a@`_
ecx 0x110001 1114113/$3$K"
edx 0x0 00j3G?
ebx 0x0 0gE
esp 0xfffe 0xfffee7{
ebp 0x0 0x0]*lX
esi 0x0 0m
edi 0xffe4 65508TD}Zo
eip 0x7c00 0x7c00e
eflags 0x282 642Wlg
cs 0x0 0b s=]
ss 0x0 0=Z'
ds 0x0 02R;%
es 0x0 0!
fs 0x0 0BX/
gs 0x0 0D*)}n{

⑵ Ubuntu bochs源码安装时出现: make: *** 没有指明目标并且找不到 makefile。 停止。

用ubuntu中的ubuntu软件安装中心安装的bochs不带调试功能,所以我们要用源码安装bochs.

从http://sourceforge.net/projects/bochs/files/ 下载bochs-2.4.5.tar.gz

然后

tar vxzf bochs-2.4.5.tar.gz
cd bochs-2.4.5
./configure --enable-debugger --enable-disasm
make
sudo make install

结果出错,解决的办法是:

问题1:
checking for C compiler default output file name… configure: error: C compiler cannot create executables
解决办法:
[thornbird@thornbird bochs-2.4]$ sudo apt-get install libc6-dev
问题2:
...
checking how to run the C++ preprocessor... /lib/cpp
configure: error: C++ preprocessor "/lib/cpp" fails sanity check
See `config.log' for more details.
解决方法:
[thornbird@thornbird bochs-2.4]$ sudo apt-get install build-essential

问题3:
[thornbird@thornbird bochs-2.4]$ make
make: *** 没有指明目标并且找不到 makefile.停止。
解决方法:
[thornbird@thornbird bochs-2.4]$ sudo apt-get install build-essential

问题4:
...
checking for wxWidgets library version...
checking for default gui on this platform... x11
ERROR: X windows gui was selected, but X windows libraries were not found.

解决方法: 配置的时候加上"--with-nogui "
或者改成:[thornbird@thornbird bochs-2.4]$sudo apt-get install xorg-dev (建议)

问题5:

Package gtk+-2.0 was not found in the pkg-config search path.Perhaps you should add the directory containing `gtk+-2.0.pc'to the PKG_CONFIG_PATH environment variableNo package 'gtk+-2.0' foundERROR: pkg-config was not found, or unable to access the gtk+-2.0 package.Install pkg-config and the gtk+ development package,or disable the gui debugger, or the wxWidgets display library (whichever is being used).

解决方法:

[thornbird@thornbird bochs-2.4]$sudo apt-get install libgtk2.0-dev

问题6:

install: 无法获取"./bochsdbg" 的文件状态(stat): 没有该文件或目录

解决办法:需要在make后,将bochs拷贝一份,命名为bochsdbg

[thornbird@thornbird bochs-2.4]$ cp bochs bochsdbg

⑶ bochs配置文件中的bochsre.txt中的megs是什么意思

首先要明白我们为什么要配置Bochs——配置的目的是什么。原因很简单,因为Bochs能够模拟多种硬件平台,所以它需要知道你想模拟一个什么样的平台。
配置的方法:配置的方法有2种(应该是,我没有仔细考证)1.运行Bochs后会自动让你选择进行配置;2.通过配置文件配置。第一种方法我觉得比较麻烦,没有仔细研究,我选择的是第二种通过配置文件配置的方法。
Bochs为我们提供了一个配置文件的模版,这个模版为bochsrc-sample.txt,可以在 bochs的安装目录中找到。稍微看一下,你就会知道:在配置文件中”#”为注释符号,表明后面#后面的全部是注释的内容(类似于C / C++ 中的行注释“//”)

⑷ ubuntu12.04.5怎样才算安装好了bochs

安装介质:U盘:使用linuxliveusbcreator软件将U盘打造成安装“光盘”1常用工具与系统安装(1)删除Unity工具,用回Gnomesudoapt-getinstallgnome-sessioin-fallback注销重新登陆(2)在官网下载deb包或在软件中心安装Dropbox,Mendely,Truecrypt,Calibre管理电子书,Chrome,workrave,GIMP(3)安装谷歌拼音输入法sudoapt-getinstallibus-googlepinyin重新启动输入法生效(4)安装vim:sudoapt-getinstallvim(5)通过Ubuntu的软件中心安装CherryTree(亦可直接到相应的官网下载对应的deb文件)说明,CherryTree在Windows下的数据文件在Ubuntu下无法打开,推测在两个平台上使用的sqlite引擎不同(6)pdf阅读整理标注除了mendeley自带工具外,还可安装Okular(7)增加对RAR压缩文件的支持sudoapt-getinstallp7zip-rar说明,使用sudoapt-getinstallrar可能会遇到“无效的编码“这一问题,原因在于该rar文件中的编码与ubuntu的不同,推荐使用p7zip-rar(8)Libreoffice乱码sudoapt-getinstallgnome-tweak-tool在系统工具->首选项->高级设置,defaultfont:默认的是ubuntu,换一个中文字体,然后就可以看到libreoffice的菜单已经不是乱码了.如果你想调整好看的英文字体,则libreoffice的菜单很可能又成了乱码彻底的解决方法是,在libreoffice的菜单---工具---选项,对话框左边点"视图",右边有一项"将系统字体用于用户界面",默认是打勾的,去掉这个勾,字体问题圆满解决(9)PDF中文显示乱码的解决方案sudoapt-getinstallxpdfpoppler-data删除/etc/fonts/conf.d/49-sansserif.conf文件(保险起见可以备份之,如下)sudomv/etc/fonts/conf.d/49-sansserif.conf/etc/fonts/conf.d/49-sansserif.conf.backup邮件thunderbird新建163邮箱时测试可能不成功,但不影响使用,使用“SSL/TLS+普通密码”可正常收发邮件(10)词典GoldenDict,使用星际译王提供的词典(11)chm文件阅读sudoapt-getinstallchmsee,完美支持中文目录书签等(12)选做:安装indicatorofubuntuone•sudoadd-apt-repositoryppa:rye/ubuntuone-extras•sudoapt-getupdate•sudoapt-getinstallindicator-ubuntuone=============================================2Texlive安装$sudomount-oloop-tiso9660/home/likuan/textlive.iso/media/iso安装perl-tk包,以便使用图形界面进行安装。sudoapt-getinstallperl-tksudo./install-tl–gui之后出现图形界面。之后的操作就比较简单了注意选择最后一项““,让安装程序自动创建语法链接。确定安装,等待……配置环境变量。sudogedit/etc/bash.bashrc在此文件末尾添加PATH=/usr/local/texlive/2011/bin/i386-linux:$PATH;exportPATHMANPATH=/usr/local/texlive/2011/texmf/doc/man:$MANPATH;exportMANPATHINFOPATH=/usr/local/texlive/2011/texmf/doc/info:$INFOPATH;exportINFOPATH重启或注销后生效安装Texworks,有两种方式:(1)sudoapt-getinstalltexworks--without-recommends必须跟后面的参数,否则会和已经安装好的texlive冲突(2)编译安装,在texworks官网上下载源代码包step1解压缩到特定文件夹step2安装必要的编译环境sudoapt-getinstallbuild-essentialsubversionlibpoppler-qt4-devlibhunspell-devlibdbus-1-devstep3qmake+make关于Qt的说明,此处使用的是系统自带的QT4.8.1,未使用自行编译的4.8.2(需要暂时从$HOME/.profile里吧QT_DIR相关变量删除)至此,英文环境的tex编译工具搭建完毕,测试一切正常。安装中文环境安装texlive的时,ctex和xecjk都会预装安装中文字体,在/usr/share/fonts/下新建一个目录(假定/texfonts.)四款Adobe字体AdobeSongStd,AdobeHeitiStd,AdobeKaitiStd,AdobeFangsongStd六套win字体建立tex字体缓冲cd/usr/share/fonts/texfonts/-cache-fv至此,中文字体安装完毕。fc-list:lang=zh-cn查看是否安装成功。中文字体YouYuanKaiTi_GB2312SimSunSimHeiFangSong_GB2312并根据fc-list:lang=zh-cn查看到的fonts编辑ctex-xecjk-winfonts.defsudogedit/usr/local/texlive/2011/texmf-dist/tex/latex/ctex/fontset/ctex-xecjk-winfonts.def将其中字体名称不一致部分修改掉%ctex-xecjk-winfonts.def:Windows的xeCJK字体设置,默认为六种中易字体%vim:ft=tex\setCJKmainfont[BoldFont={SimHei},ItalicFont={KaiTi_GB2312}]{SimSun}\setCJKsansfont{SimHei}\setCJKmonofont{FangSong_GB2312}\setCJKfamilyfont{zhsong}{SimSun}\setCJKfamilyfont{zhhei}{SimHei}\setCJKfamilyfont{zhkai}{KaiT_GB2312}\setCJKfamilyfont{zhfs}{FangSong_GB2312}%\setCJKfamilyfont{zhli}{LiSu}%\setCJKfamilyfont{zhyou}{YouYuan}\newcommand*{\songti}{\CJKfamily{zhsong}}%宋体\newcommand*{\heiti}{\CJKfamily{zhhei}}%黑体\newcommand*{\kaishu}{\CJKfamily{zhkai}}%楷书\newcommand*{\fangsong}{\CJKfamily{zhfs}}%仿宋%\newcommand*{\lishu}{\CJKfamily{zhli}}%隶书%\newcommand*{\youyuan}{\CJKfamily{zhyou}}%幼圆\endinput注意按照fc-list中的名字来,不要有.ttf.ttc,也不要有[]按照同样的方式修改/usr/local/texlive/2011/texmf-dist/tex/latex/ctex/fontset/ctex-xecjk-winfonts.def一定要使用xelatex进行编译测试\documentclass[UTF8]{ctexart}\begin{document}\kaishu{中国}\heiti{中国}\songti{中国}\fangsong{中国}\end{document}如在输出PDF时使用墨色更为均匀的Adobe中文字体,在使用ctexart类前要加上[adobefonts]选项测试:打开并复制其中的中文文字,没有问题=============================================3开发环境安装(1)安装codeblocks(软件中心),确保gcc/g++/gdb等组件(buildessentials)正确安装(2)安装UML工具Umbrellosudoapt-getinstallumbrello使用gitg管理代码sudoapt-getinstallgitg(3)安装QTUbuntu12.04中自带Qt4.8.1及python2.7.3自己编译Qt步骤如下:Step1下载对应的源码包,解压缩Step2执行./configure,选择开源协议说明configure处可不指定参数,也可制定诸如静态编译,只编译某些组件等等,现在暂时使用默认选项,随着了解的深入再看其他在./configure阶段出错!原因就在于需要安装libX11的开发包sudoapt-getinstalllibX11-devlibxext-devStep3执行make命令sudomakeinstall将编译出来的东西安装到/usr/local/Trolltech/Qt-4.8.2/下如果想更换目录,可以在configure时使用参数-prefix,如/configure-prefix/usr/local/Qt-4.8.2Step4设置环境变量可以在home/用户/.profile中增加QTDIR=/usr/local/Trolltech/Qt-4.8.2/(根据实际路径修改)PATH=$QTDIR/bin:$PATHMANPATH=$QTDIR/man:$MANPATHLD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATHexportQTDIRPATHMANPATHLD_LIBRARY_PATH测试到/usr/local/Trolltech/Qt-4.8.2/目录下,输入./qmake或双击designer等(4)安装OpenCV第一种方式:apt-getUbuntu12.04providesapackageofOpenCV2.3.:sudoapt-getinstalllibopencv-dev第二种方式:编译源码Essentialssudoapt-getinstallbuild-essentialcheckinstallcmakepkg-configyasmImageIOsudoapt-getinstalllibtiff4-devlibjpeg-devlibjasper-devVideoI//encoding/.sudoapt-getinstalllibavcodec-devlibavformat-devlibswscale-devlibdc1394-22-devlibxine-devlibgstreamer0.10-devlibgstreamer-plugins-base0.10-devlibv4l-.sudoapt-getinstallpython-devpython-numpyOtherthird-.sudoapt-getinstalllibtbb-devGUIThedefaultback-endforhighguiinLinuxisGTK.n(seenextsection).sudoapt-getinstalllibqt4-devlibgtk2.0-devGetaofthesourcecodehere,:tar-xvfOpenCV-2.4.0.tar.bz2cdOpenCV-2.4.0/..ThisiswhatIuse:cmake-DWITH_QT=ON-DWITH_XINE=ON-DWITH_OPENGL=ON-DWITH_TBB=ON-DBUILD_EXAMPLES=ON..Notice,thatbyaddingthe-DWITH_QT=ON,..,lookattheCMakeLists.txtfile.,youcanstartcompiling:,youcaninstallbysaying:sudomakeinstallFinally,-/etc/ld.so.conf:/usr/local/-timebindings:OpenCVtestutilities.=============================================4影音播放(1)如果需要bt下载,使用qBittorrent,速度要比默认的TransmissionBittorrent快(2)播放电影使用smplayer(自带的totem有时会卡)sudoapt-getinstallsmplayer(3)摄像头问题,使用web 聊天时不启动,怀疑是驱动问题,通过安装cheese程序试着解决sudoapt-getinstallcheese(4)根据需要选做:安装常见的解码器。命令:sudoapt-getinstallnon-free-codecslibxine1-ffmpeggxinemencodertotem--script-audio--progs=============================================5其他(1)拨号连接sudopppoeconf根据提供的帐号和密码进行设置如果是无线+拨号方式的话,不要选择在系统启动时自动连接ADSL手动连接命令:sudopondsl-providerADSL手动断开:sudopoffdsl-provider查看日志:plog(2)Ubuntu下软键盘onboard(3)$sudoapt-getinstallnautilus-open-terminal这样便会在每个文件夹的右键菜单中出现"在终端中打开"的一个选项,选择便会打开一个终端,路径为当前文件夹(4)重启X服务命令(Ubuntu和别的linux发行版不同)rightalt+printscreen+k(5)ctl+alt+F1/F7切换伪终端,会出现中文乱码,可使用LANG=C来切换(不具备记忆性,每次都要运行)(6)使用gedit打开文件,如果文件编码是gb2312或者gbk,中文可能就会是显示为乱码。解决:使用gedit的打开菜单,选择文件的同时选择编码(7)播放器(如totem)字幕乱码时,可以在选项中设定编码,将unicode设置为gbk=============================================6最后,根据需要,可对不用的功能进行清理Ubuntu软件中心删除即可,如游戏,thundermail,empathy聊天等

⑸ debian 源码安装 bochs

$dpkg-source -x bochs_2.4.5-1.dsc
$ cd bochs_2.4.5-1
$ fakeroot dpkg-buildpackage
编译完成后,在源代码的上级目录会生成deb扩展名的包
#dpkg -i bochs*.deb

⑹ 如何编译bochs源码

bochs-2.62版本进行编译安装.
安装前准备:安装build-essential,主要是gcc/g++编译器.
安装gtk库:libgtk2.0-dev
需要注意的是,如果make中出错了,然后再安装了一些库后,必须全部重新执行,不能仅仅重新make。
a.解压源代码
b.执行如下命令,建议写成shell脚本,便于修改.注意,此处并没有指定安装位置,不修改安装位置则程序会安装到默认路径下.
./configure --with-x11 --with-wx --enable-debugger --enable-disasm --enable-all-optimizations --enable-readline --enable-long-phy-address --enable-debugger-gui
c.make
d.sudo make install

⑺ bochs这是怎么回事

我不是这样弄的,这是我的方法:Bochs源代码:

适用于Bochs的WindowsXP系统镜像

下载地址:

开始之前

你若尝试过早期版本的Bochs,你可能还记得,那个时候的Bochs并没有用户界面,如果你想顺利地在Bochs上运行Windows,则必须修改两个配置文件:bochsout.txt和bochsrc.txt,并将其和Windows系统镜像一起放置于手机内部存储(或存储卡)根目录的SDL文件夹下。而现在,新版的Bochs已经有了图形界面,你将可以在Bochs里更加直观地配置硬件和修改参数。

开始安装

首先,将apk格式的Bochs安装包和img格式的Windows系统镜像传送到你的手机,放置于任何目录下均可,前提是你可以找到它们。

安装Bochs并打开它,你将看到硬件和参数的配置界面,

将ata0-master前面的复选框选中,然后点击select;

选择img格式的系统镜像文件,答主这里的是Windows.img;

其他项无需更改;

点击顶部的HARDWARE选项卡,按照以下设置方法完成设置:

CPUModel无需更改;

Chipset选择i440fx;

内存的大小视你的手机的实际硬件配置而定,答主的手机内存为2GB,故在此项,答主将内存设置为517MB;

VGACard设置为cirrus_5446;

SoundCard设置为sb16;

EthernetCard设置为rtl8029;

PCI设置中,Slot1设置为cirrus,Slot2设置为ne2k,Slot3设置为es1370,Slot4设置为voodoo,Slot5设置为none。

设置完成后结果如下:

点击顶部的MISC选项卡,

将Fullscreen前面的复选框选中以使Windows可以全屏运行;

点击右上角绿色的Start按钮以启动Windows。

阅读全文

与bochs源码注释pdf相关的资料

热点内容
我的世界命令方块该怎么拿 浏览:780
浙江容错服务器厂家云空间 浏览:194
linuxpython3idle 浏览:739
程序员成就感从哪来 浏览:545
游资抄底源码公式 浏览:802
用VF命令 浏览:948
解压速度14m 浏览:329
php获取httpheader 浏览:297
什么软件可以修改pdf文件 浏览:867
命令行截图软件 浏览:734
程序员加班多 浏览:123
android设置view的背景 浏览:684
u盘加密工具哪个好 浏览:571
php生成html模板引擎 浏览:26
如何设置app封杀 浏览:823
手机将照片弄成压缩包 浏览:221
卡联购卡盟官网源码 浏览:867
网页弄成pdf 浏览:223
dos的删除命令 浏览:309
区块链的加密物联网传输 浏览:572