易截截图软件、单文件、免安装、纯绿色、仅160KB

ubuntu 8.04下用 bochs安装及调试linux 0.11内核

要下载的软件包:
bochs-2.3.5
linux-0.11-081030.tar.gz (linux 0.11 内核源码,稍做修改就可以编译,个人感觉其它的修改挺麻烦的,图省事了)
linux-0.11-devel-060625.zip(hdc-0.11-new.img 文件系统)
(hdc-0.11-new.img 只用这一个文件也可以时入linux 0.11系统,只需在配置bochs时稍做修改就可以,但是要调试源码的话,还是自己编译来得爽)
安装bochs之前做一些准备工作
sudo apt-get install build-essential
sudo apt-get install xorg-dev
sudo apt-get install bison
一.安装bochs
1. 解包
tar xvfz bochs-2.3.5.tar.gz
2.进入bochs-2.3.5目录
cd bochs-2.3.5
3. 配置
编译两份不同的配置的版本
第一个的版本为使用bochs自带的内部调试器
./configure --prefix=/opt/bochs/debug --enable-plugins --enable-debugger --enable-disasm
注释:
    * --prefix=/opt/bochs/debug 软件将被安装到哪个目录下
    * --enable-plugins 是必须要的
    * --enable-debugger 是打开bochs的自带调试器
    * --enbale-disasm 允许反汇编
4. 编译
make
5. 安装
sudo make install
6.加一个符号连接
ln -s /opt/bochs/debug/bin/bochs /usr/bin/bochsdbg
第二个版本为使用gdb-stub的版本
1. 清理
在配置第二个版本之前,需要把刚才编译的东西清理掉,输入以下命令:
make clean
2. 配置
然后配置,配置命令为
./configure --prefix=/opt/bochs/gdbstub --enable-plugins --enable-disasm --enable-gdb-stub
配置注释:
    * --enable-gdb-stub 打开gdb stub支持
    * 其他选项同上,注意这个不同版本会安装到不同的目录下。
3. 编译
make
4. 安装
sudo make install
这样bochs使用外部调试器gdb的版本就编译好了。
5.建一个符号链接
ln -s /opt/bochs/gdbstub/bin/bochs /usr/bin/bochs
二. 编译linux 0.11 内核
linux 0.11源码文件在linux-0.11-081030.tar.gz中,进入目录解压后的目录linux-0.11中
1. ubuntu 8.04 gcc 版本为4.2.4,但是GCC4.x 默认检查stack安全,会导致出现__stack_chk_fail错误,所以在编译之前应先修改Makefile:
    linux-0.11/Makefile
    linux-0.11/kernel/Makefile
    linux-0.11/kernel/chr_dev/Makefile
 &nbs


相关文档:

用Linux下Perl脚本连接SQLServer

准备工作:
  用到的perl 扩展组件(modules)在上篇贴出.( win32::odbc 模块
)下载组件后按照Readme文件安装倒响应目录.配置好相应的odbc数据源.
  
  程序实现:
  使用
  use
Win32::ODBC;
  
  语句包含应使用的模块是win32::odbc,写出数据库
连接字符串
  
  $DSN = "DSN =
My DSN ......

Linux内核Vmalloc区域大小的计算

以前自己跟着内核内存管理的一些宏定义画过内存分布图
比如VMALLOC_START, VMALLOC_END, FIXADDR_START等等
一直以为这些值在实际内核中多多少少会有误差,没想到前几天看了一下
居然完全吻合。
来试着计算一下Vmalloc的总大小,为了便于计算我们认为1G的内核空间从0地址开始。
首先我的物理内存超过了896M,因此high_ ......

Linux设备 (转)

5.3.2  设备类型分类
纵览linux/drivers目录,大概还有35个以上的子目录,每个子目录基本上就代表了一种设备驱动,有atm、block、char、misc、input、net、usb、sound、video等。这里只描述在嵌入式系统里面用得最为广泛的3种设备。
1.字符设备(char device)
字符设备是Linux最简单的设备,可以像文件一样访问。 ......

Linux下忘记MySQL root密码的解决方案

最近实验室内部的mysql的root密码被修改了,需要想办法修改新密码。方法如下:
1, 关闭mysql服务
/etc/init.d/mysqld stop
2,使用–skip-grant-tables选项启动MySQL服务,可以修改/etc/inin.d/mysqld脚本启动位置增加此选项,
vi /etc/init.d/mysqld
在下面运行启动的语句里增加--skip-grant-tables
......

linux 下用C实现‘CAT’的功能

linux
下用C实现‘CAT’的功能
#include<stdio.h>
int main(int argc,char *argv[]){
FILE *file;
char buf[1024],name[20];
int n;
if(argc != 2){
printf("wrong argument\n");
return 1;
}
file=fopen(argv[1],"r");
if(file==NULL){
printf("Cant't open!\n&quo ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号