-
最新日志
最新评论
- 吴景鹏 发表于《自由软件日——华科站成功举办》
- Twinkle 发表于《Tech Lead, new start~》
- omycle 发表于《91%通过SCSA part2,认证持久战终于结束》
- sacs à main femme 发表于《拿到我心仪的IBM T61》
- 晚点末班车 发表于《自由软件日——华科站成功举办》
存档页
分类
功能
备案/许可证编号
湘ICP备09016480号
Category Archives: Linux&Minix
使用VirtualBox虚拟机和KGDB调试Linux内核
搞过内核开发的人都知道,内核调试是个脑力活,也是个体力活,因为底层的内核开发和应用程序开发有着较大的差别。应用程序的开发在操作系统之上,有许多优 秀的IDE供我们选择,从而能够非常方便进行调试;而内核级的开发则不一样,操作系统的内核调试器除完成一般的调试功能外,还必须工作在内核中。在 Linux中,内核调试方法有多种,可以在内核中插入printk()函数来调试分析,可以使用/proc文件系统对内核进行分析,也可以使用kgdb进 行内核源代码级的调试。本文将介绍如何使用VirtualBox 3.0.12 + RHEL 5 + KGDB的方式调试Linux内核(在一台主机运行RHEL 5,用VirtualBox 3.0.12虚拟两个RHEL 5代替两台机器,并在两台虚拟机上配置KGDB来进行内核的调试)。 kgdb提供了一种使用gdb调试Linux内核的机制。使用kgdb调试内核需要准备两台机器,一台作为开发机(用来远程查看内核信息并调试内核),另一台作为目标机(跑有要调试的内核), 并通过串口将它们连接起来。在2.6.26以前的Linux内核中使用kgdb需要打上补丁,而在2.6.26及以后的内核里已经加入了对kgdb的支 持。当kgdb内核调试环境搭好后,目标机上运行的是打了kgdb补丁的Linux内核,而开发机上运行gdb,gdb通过串口与要调试的内核进行通信, 对目标机上的内核进行控制,从而实现远程对内核的调试。 首先从http://www.virtualbox.org下 载for RHEL5的VirtualBox,目前的最新版本是VirtualBox 3.0.12。装上VirtualBox后,就可以虚拟出两个RHEL 5虚拟机来代替两台机器了。当然我们也可以使用VirtualBox的clone功能,如果第一台虚拟机的文件名为rhel1.vdi,可使用命令VBoxManage clonevdi rhel1.vdi rhel2.vdi命令迅速克隆出另一台虚拟机。我们将一台虚拟机用作目标机,另一台用作开发机。我 们可以利用主机的命名管道来完成两台虚拟机间的通信。一台虚拟机在主机中创建命名管道并将其串口与管道相连,另外一台虚拟机也将自己的串口连接到主机的命 名管道上,这样就实现了两个虚拟机串口的连接。两台虚拟机都使用自己的COM1端口,主机的命名管道同为/tmp/vbox,在配置时由一台虚拟机创建, 另一台则不创建。我们可使用以下的方式来测试两虚拟机的串口是否连接成功: (1)首先启动创建管道的虚拟机,再启动另一台虚拟机,然后使用命令stty ispeed 115200 ospeed 115200 -F /dev/ttyS0将各自COM1端口的输入输出波特率都设为115200。 (2)在其中一台虚拟机v1终端上执行cat /dev/ttyS0, 在另一台虚拟机v2上执行 echo ok … Continue reading
在RHEL 5上安装Xenoprof
Xenoprof是HP公司针对OProfile工具开发的一个接口,它使得OProfile能够适用于基于Xen的虚拟环境,从而能够对内核、应用程序等的性能信息进行监控,在官网http://xenoprof.sourceforge.net/上有详细的介绍。之前我在《OpenSolaris, Fedora and Xen 之 Fedora 10上Xen 3.3.1的安装与配置》一文中写了关于Xen 3.3.1的安装过程,本文我将介绍如何在RHEL 5上安装Xenoprof。 安装好Xen后,进入Dom0,如果你还未安装Xenoprof,键入opcontrol --reset命令,会有以下错误信息,而正常情况下是没有任何提示信息的。 [root@v6 oprofile-0.9.3]# opcontrol --reset FATAL: Module oprofile not found. FATAL: Module oprofile not found. Kernel doesn't support oprofile 具体安装过程如下: 1. 从http://oprofile.sourceforge.net/上下载oprofile-0.9.3(虽然目前的最新版是0.9.5,但目前Xenoprof只支持到oprofile 0.9.3); 2. 从Xenoprof官方网站http://xenoprof.sourceforge.net/上下载oprofile-0.9.3-xen-r2.patch; 3. tar xzvf oprofile-0.9.3.tar.gz解压oprofile,并将oprofile-0.9.3-xen.r2.patch复制进oprofile-0.9.3文件夹,然后执行patch … Continue reading
Fedora 10为Firefox安装Flash Player plugin
本文介绍的是在Fedora 10下如何为Firefox安装64位的Flash Player plugin。 首先去官网下载64位的Flash Player插件,下载地址:http://labs.adobe.com/downloads/flashplayer10.html 两条命令搞定: tar xzvf libflashplayer-10.0.32.18.linux-x86_64.so.tar.gz sudo mv libflashplayer.so /usr/lib64/mozilla/plugins 然后重启Firefox即可。
Posted in Linux&Minix
Leave a comment
在Fedora 10下安装Xen 3.3.1
近年来随着计算机硬件的高速发展,虚拟化技术已经成为计算机业的焦点之一。虚拟化技术从实现途径上来说,由两种典型的派别:泛虚拟化(para-virtualization)和完全虚拟化(HVM)。前者通过修改客户操作系统来配合虚拟化的环境,从而达到较高的性能,但也付出了兼容性和维护性方面的限制,而Xen就是泛虚拟化技术的杰出代表;而完全虚拟化技术常常需要得到处理器级别的硬件支持(如Intel VT或AMD-V处理器),或者通过对客户机执行代码进行动态二进制代码转换,然后可以无需修改的直接运行一个已有的操作系统,使得虚拟化技术的应用更加容易。完全虚拟化的代表产品有VMware, VirtualPC, QEMU等。 即使你研究的不是虚拟化,体验一下Xen这个目前世界上最流行的虚拟机管理器(VMM)并感受其巨大的魅力也是值得的。本文主要介绍如何在Fedora 10下使用源码安装Xen 3.3.1。 首先准备好两个源代码包:xen-3.3.1.tar.gz和linux-2.6.18-xen.hg.gz,可从http://xen.org上下载。 使用tar xzvf xen3.3.1.tar.gz命令解压xen.3.3.1.tar.gz到Fedora 10系统目录(可以为任一目录,我将其解压在/usr/local目录)。 打开README文件可以查看安装Xen前必须安装的软件包: * GCC v3.4 or later * GNU Make * GNU Binutils * Development install of zlib (e.g., zlib -dev) * Development install of Python v2.3 or later … Continue reading
Posted in C/C++/Others, Linux&Minix, 虚拟化
Leave a comment
在OpenSolaris下玩转Linux
OpenSolaris 2008.11是OpenSolaris项目的第二个正式版本。与OpenSolaris 2008.05版本相比,它包含了改进的网络自动管理模块(NWAM)和软件包管理模块,使用了最新版本的GNOME 2.24作为用户桌面,更是集成了大量新增加的硬件驱动程序。我的Thinkpad T61声卡在2008.05里不能识别,但在2008.11里得到了很好地支持。在移动硬盘里装上OpenSolaris 2008.11,然后在OpenSolaris里装上最新的VirtualBox 2.1,再在VB上安装Windows XP SP3,只要带上自己的移动硬盘,就能在任何一台电脑上使用配置好的OpenSolaris和Windows,这是一件多么惬意的事情。而每天在OpenSolaris上跑Windows、Linux也成了我的一种习惯。 对于Linux的爱好者来说,如何在OpenSolaris下玩转Linux呢?Unix-Center为我们提供了一个很好的学习和实践平台,只要使用SSH我们就能连接到任何一台高配置的Unix/Linux服务器,包括Solaris 10, FreeBSD, Federo, Ubuntu, 等等。默认Unix-Center为每个注册用户提供了50M的空间,用户可以通过在UC上的积分来换取更大的使用空间。当然你也可以在OpenSolaris上通过VirtualBox安装Ubuntu、openSUSE等主流的Linux操作系统,并能得到很好的用户体验。但是,如果你想从头学习Linux,并希望学习Linux的基本操作及内核编译等知识,推荐使用世界上最小的Linux发行版:ttylinux。 ttylinux的确是小得可以,整个ISO 安装文件大小仅 3.7 MB,而提供的 Tarball 包更是只有 1.7 MB(不含内核,需要自己添加),源代码包则为 50 KB。不过“麻雀虽小,五脏俱全”,看看 ttylinux 为我们提供了什么? 1.命令行界面,当然图形化界面是没有的了,或许你可以自己进行扩展。 2.上网功能,可以通过 modem 或 ISDN 上网,然后用文本模式的 Web 浏览器查看网页。 3.SSH 客户端和服务端程序。 4.如果你需要一个文本编辑器,系统已经安装了 vi。 5.parman软件包管理器,可以使用wget下载其它有用的软件,并使用parman命令进行安装。 … Continue reading
Posted in Linux&Minix, Solaris, 虚拟化
Leave a comment
Minix、Linux及Solaris文件系统分析和对比
文件系统是操作系统中负责管理和存储文件的重要软件机构,它由三部分组成:与文件管理有关的软件、被管理的文件以及实施文件管理所需的数据结构。从系统角度来看,文件系统是对文件存储器空间进行组织和分配,负责文件的存储并对存入的文件进行保护和检索的系统。本文分析了Minix、Linux和Solaris文件系统,并对三者的文件系统特性进行了比较。 Continue reading
Minix,Linux2.6,Solaris10进程模型分析和对比
进程在操作系统中是一个非常重要的概念,应用程序被加载到内存后叫进程,也就是一个程序的一次动态执行。每个进程对应一道特定的程序,程序是静态的,而进程是动态的,进程描述程序的执行过程并且可以作为共享资源的基本单位。要想理解操作系统的各种机制原理,有必要对进程概念有深入透彻的理解。 本文重点介绍了Minix、Linux2.6及Solaris10的进程模型,并对三种操作系统的进程模型进行了比较。 Continue reading
体验最华丽的Linux操作系统openSUSE 11.0
装上最华丽的Linux操作系统openSUSE 11.0了,目前我的笔记本是Windows XP、OpenSolaris、Ubuntu和openSUSE共存的局面。 华丽的openSUSE 11.0桌面 一直想体验传说中的openSUSE 11.0,之前曾在OpenSolaris里使用VirtualBox安装过,但效果并不理想,特别是分辨率等效果不能达到最佳状态,而且在响应速度上也不能让人满意。过去曾经因为安装Ubuntu不能覆盖OpenSolaris的Grub而导致整个硬盘的分区表被破坏,而电脑上已经装上了OpenSolaris,为了不丢失硬盘数据,我一直特别谨慎,没有再安装其他系统。昨天猛然发现OpenSolaris里竟然没有smc,在网上搜索时发现了一个smc的替代软件Visual Panel,评价也不错,于是毫不犹豫地装上了。重启后发现OpenSolaris系统已经被破坏,原因就在于Visual Panel支持的是build 91以上的OpenSolaris,而我的系统版本过低,仔细看看那篇博文最后的几条评论,才后悔不已:一个外国朋友也因为这个原因系统无法启动,而且似乎无法修复。没办法,只有重装,懒得折腾。突然想起早几天刻录的openSUSE 11.0,何不先安装个openSUSE玩玩呢? 从openSUSE 11.0的安装界面就可想象得出它与众不同的炫,整个安装过程很快,感觉比Ubuntu要快一些,只不过安装的配置过程比Ubuntu稍复杂,所以新手最好在指导下安装(由于三个主分区已经被使用,所以我把它装在逻辑分区里)。安装完成后,openSUSE的Grub能自动将之前的Ubuntu8.10和Windows XP挂上。 一切比较顺利,拷贝出了openSUSE的/boot/grub/menu.lst后,继续安装OpenSolaris。安装后默认的Grub变成了OpenSolaris的,Ubuntu和openSUSE暂时无法识别,按照之前配置Ubuntu的方法修改了/rpool/boot/grub/menu.lst配置文件,即把title、boot、initrd等属性添加了进去,重启后发现Grub上四个系统虽都挂上了,但openSUSE不能正常启动,总是提示文件或目录被破坏。无奈进入Grub命令行,由于系统启动文件默认在根分区的第一个扇区,于是我开始尝试另一种boot方式。 #root (hd0,2) #chainloader +1 #boot 成功了!进入了openSUSE的Grub界面,系统也顺利地启动起来了!原来OpenSolaris的Grub并没有覆盖openSUSE的Grub,而只是变成默认的了,其他系统Grub还是存在的。把OpenSolaris配置文件里openSUSE的信息改成: Title openSUSE 11.0 Root (hd0,2) Chainloader +1 这样四个系统都会被OpenSolaris的Grub识别并顺利启动,相信如果默认使用openSUSE的Grub,这样配置OpenSolaris应该也是没有问题的。 体验了openSUSE 11.0后,发现它的桌面效果确实比Ubuntu好一些,风格也和Windows很相似,并且几乎集成了所有常用的软件(麻雀虽小,五脏俱全)。不过在使用Firefox上网时发现其响应速度相对比较慢,且默认的中文字体看起来有些奇怪,不过这些并不能掩饰它优秀的视觉效果。在中文输入法上, FCITX是很好的选择。在http://packages.opensuse-community.org/搜索fcitx安装后,终端键入sudo vi /etc/sysconfig/language,INPUT_METHOD="" 修改为fcitx ,然后重新启动openSUSE系统即可。 不知道openSUSE有没有像Fedora那样集成了Xen,去玩玩虚拟化……
如何在硬盘上同时安装OpenSolaris、Linux和Windows三系统
对于大多数电脑用户来说,Windows操作系统仍然是其首选。而如果要使用OpenSolaris、Linux等其它优秀的操作系统,可以在Windows上使用虚拟机,也可以直接在硬盘上安装多系统。使用虚拟机最大的瓶颈就是性能,而性能正是IT领域最关心的问题。所以,对于一个IT人士,在自己的电脑上同时安装多系统是有必要的。本文主要介绍了如何在硬盘上同时安装OpenSolaris 2008.05、Ubuntu 8.10和Windows XP三系统,由于水平有限,说得不当之处请谅解。 Continue reading