第二篇:在RHEL上用qemu-kvm安装xp

摘要: 问题,在RHEL中,虽然提供了对qemu/kvm的支持,但是并没有将qemu-kvm命令放在系统路径中。所以在用户目录下没法直接调用这个工具。所以,首先的一个任务就是要在RHEL找到qemu-kvm工具。方法就是获得管理员权限。在根目录下执行下面的命令:find / -name qemu* 可以找到qemu-kvm可执行文件在 usr/libexec/qemu-kvm。所以下面要做的就是把/usr/libexec加到path中。然后就是用qemu-kvm来安装并比起用系统。 阅读全文
posted @ 2012-09-27 16:03 hydah 阅读(946) 评论(0) 推荐(0) 编辑

第一篇:在RHEL上安装xp

摘要: 创建virtual disk qemu-img create –f qcow2 name xxx.qcow2 size dd if=/dev/zero of=path-to-xxx.img bs=1M count=size安装并启动虚拟机配置网络 设置Host网络:添加网桥br0,将eth0接在br0上 需要在Guest OS中装网卡驱动: virsh attach-disk tmp-xp /home/xxx/xxx.iso安装过程中遇到的问题 首先用qemu-img创建的虚拟磁盘不能用 用NAT方式虚拟机可以上网,但外部不能连接虚拟机。所以我们选取了网桥模式... 阅读全文
posted @ 2012-09-27 15:42 hydah 阅读(374) 评论(0) 推荐(0) 编辑

【转载】console ,tty ,和keyboard调用关系

摘要: 源地址:http://blog.sina.com.cn/s/blog_633f46290100k4yt.html1:console的过程描述例如pmon下其内核命令 g console=ttyS0,115200 root=/dev/sda1 init=/bin/sh rw对console的过程讨论主要是讨论console=ttyS0 如何影响选取哪种console?1)在kernel/printk.c中的__setup("console=", console_setup);给出了用于解释console=ttyS0的函数console_setupconsole_setup调用 阅读全文
posted @ 2012-04-18 21:10 hydah 阅读(1394) 评论(0) 推荐(0) 编辑

【转载】从printk到framebuff

摘要: 源地址:http://blog.sina.com.cn/s/blog_633f46290100k4yw.html在linux内核的使用framebuff的vga显示中,有两种方式(可能不止,但笔者能力所限,仅知道两种)向屏幕输出,一种是通过printk向>屏幕输出,一种是通过向tty文件使用文件操作书写。1:从printk到vc_consprintk--------------------------------------kernel/printk.cprintk处理完参数后调用vprintkvprintk --------------------------------------k 阅读全文
posted @ 2012-04-18 20:43 hydah 阅读(1233) 评论(0) 推荐(0) 编辑

【转载】Framebuffer原理、实现与应用

摘要: *一、FrameBuffer的原理* FrameBuffer 是出现在 2.2.xx 内核当中的一种驱动程序接口。 Linux是工作在保护模式下,所以用户态进程是无法象DOS那样使用显卡BIOS里提供的中断调用来实现直接写屏,Linux抽象出FrameBuffer这 个设备来供用户态进程实现直接写屏。Framebuffer机制模仿显卡的功能,将显卡硬件结构抽象掉,可以通过Framebuffer的读写直接对显存进行操 作。用户可以将Framebuffer看成是显示内存的一个映像,将其映射到进程地址空间之后,就可以直接进行读写操作,而写操作可以立即反应在屏幕上。这种操 作是抽象的,统一的。用户不必 阅读全文
posted @ 2012-04-18 20:24 hydah 阅读(697) 评论(0) 推荐(0) 编辑

kernel入口函数编译运行

摘要: 内核的start_kenel函数在调用rest_init函数之前,其主要工作与操作系统核心层相关,包括进程调度、内存管理和中断系统等主要模块的初始化。而rest_init函数将创建kernel_init进程,并由该进程调用do_basic_setup->do_initcalls函数完成所有外部设备的初始化。1 extern initcall_t __initcall_start[], __initcall_end[], __early_initcall_end[];2 3 static void __init do_initcalls(void)4 {5 initcall_t *fn;. 阅读全文
posted @ 2012-04-12 20:12 hydah 阅读(1291) 评论(0) 推荐(0) 编辑

vim tab变空格

摘要: 对于使用vim的程序员来说,shiftwidth,tabstop,softtabstop绝对是经常接触的三个缩进因素。能否有方便美观的,整体化的缩进,主要是由他们相互间的配合决定。在经过一段时间试用后,总结一下我的设置经验。1 shiftwidth:这个是用于程序中自动缩进所使用的空白长度指示的。一般来说为了保持程序的美观,和下面的参数最好一致。同时它也是符号移位长度的制定者。2 tabstop:定义tab所等同的空格长度,一般来说最好设置成8,因为如果是其它值的话,可能引起文件在打印之类的场合中看起来很别扭。除非你设置了 expandtab模式,也就是把tabs转换成空格,这样的话就不会一起 阅读全文
posted @ 2012-04-10 11:25 hydah 阅读(10721) 评论(0) 推荐(1) 编辑

git rebase 版本。。变基

摘要: git rebase,顾名思义,就是重新定义(re)起点(base)的作用,即重新定义分支的版本库状态。要搞清楚这个东西,要先看看版本库状态切换的两种情况:我们知道,在某个分支上,我们可以通过git reset,实现将当前分支切换到本分支以前的任何一个版本状态,即所谓的“回溯”。即实现了本分支的“后悔药”。也即版本控制系统的初衷。还有另一种情况,当我们的项目有多个分支的时候。我们除了在本地开发的时候可能会“回溯”外,也常常会将和自己并行开发的别人的分支修改添加到自 己本地来。这种情况下很常见。作为项目管理员,肯定会不断的合并各个子项目的补丁,并将最新版本推送到公共版本库,而作为开发人员之一,提 阅读全文
posted @ 2012-04-10 11:23 hydah 阅读(8421) 评论(0) 推荐(1) 编辑

git 使用积累

摘要: Git 是 Linux 之父 Linus Trovalds,为管理 Linux 内核代码而建立的,被认为是分布式版本控制工具中的顶级水准。智能、友好、强健、高效。HEAD代表当前的工作树。SHA1代表项目文件的对象名。有40位。tag为对象标签。在git的概念里总共有四种对象:tree、blob、commit、tag。其关系如下图:一个重要的概念是:git与其他版本控制系统不一样的是,其它管理系统如svn采用的事增量文件系统。而git则是将每一次提交的全部内容都保存下来。这虽然占用了系统空间。但是在如今这个时代,容量已不是问题。这样做显然可以提高速度。这也是git快捷高效的一个原因。注:一个b 阅读全文
posted @ 2012-03-15 15:59 hydah 阅读(4033) 评论(0) 推荐(0) 编辑

linux启动信息完全详解 例子【转载】

摘要: 摘要我们在这里讨论的是对嵌入式linux系统的启动过程的输出信息的注释,通过我们的讨论,大家会对嵌入式linux启动过程中出现的、以前感觉熟悉的、但却又似是而非的东西有一个确切的了解,并且能了解到这些输出信息的来龙去脉。嵌入式linux的启动信息是一个很值得我们去好好研究的东西,它能将一幅缩影图呈现在我们面前,来指导我们更加深入地理解linux内核。关键字:linux,嵌入式,启动,bootloader正文作为一名嵌入系统开发者,你一定遇到过下面的情景:在某论坛上看到一篇帖子,上面贴着嵌入式linux开发板启动时的有关信息,然后大家在帖子里讨论着这个启动过程中出现的问题,随机举例如下:view 阅读全文
posted @ 2011-11-09 09:28 hydah 阅读(726) 评论(0) 推荐(0) 编辑