用户模式Linux之初次体验
用户模式Linux (User Mode Linux), 缩写为UML。顾名思义,UML就是在一个可以在用户空间运行的linux内核。
UML能够为kernel虚拟一些实际的物理设备,启动UML只需要要指定一个root文件系统的image文件。UML实际上也是一种虚拟化技术。
UML的好处
第一,做一个虚拟服务器,UML可以以安全的方式运行在用户空间,它可以确保服务器不会对本机的内容进行破坏
第二,便于kernel开发和调试。kernel中一些与平台无关的模块,如文件系统,内存管理等,使用UML调试更加方便。
运行UML
1. 准备好一个rootfs的img文件
UML需要指定一个包含完整根文件系统的img文件。首先创建一个大小为2G的img文件,然后将其格式化为ext3文件系统。
# cd ~/uml
# dd if=/dev/zero of=rootfs.img bs=1M count=2048
# mkfs.ext3 rootfs.img
rootfs.img实际上是一个ext3文件系统的存储设备,但是还没有什么内容。所以现在要做的是,将一个已有的根文件系统拷贝到rootfs.img中(假设这个根文件已经打包为your-rootfs.tar.gz):
# mkdir uml-rootfs
# sudo mount -o loop rootfs.img uml-rootfs
# cd uml-rootfs
# tar xf your-rootfs.tar.gz
# cd ..
# umount uml-rootfs
还有一种办法制作一个root文件系统的img文件,假设你自己的linux发行版(Fedora, Ubuntu,etc)是按照在/dev/sda5设备上,你可以将整个/dev/sda5拷贝到一个单独的img文件:
dd if=/dev/sda5 of=rootfs.img bs=1M count=2048
注意上面的count只有2G,如果安装在/dev/sda5的根文件系统大于2G,需要增大count值
2. 以UM模式编译linux内核
从kernel.org上下载一个稳定的kernel版本,然后以um模式重新编译:
# cd kernel-2.32.26.y
# make mrproper ARCH=um
# make defconfig ARCH=um
# make ARCH=um
成功编译后,在kernel-2.32.26.y中会出现一个名为linux的可执行文件,它就是UML!
3. 运行UML
# ./linux mem=512M ubda=~/uml/rootfs.img
一个用户空间的linux就运行了....开源力量很好很强大!
更多UML的信息请参考:
UML项目首页:http://user-mode-linux.sourceforge.net/
下一步将试验如何在UML中调试kernel模块。
2010-2-2
相关文档:
1. HCI层协议概述:
HCI提供一套统一的方法来访问Bluetooth底层。如图所示:
从图上可以看出,Host Controller Interface(HCI) 就是用来沟通Host和Module。Host通常就是PC, Module则是以各种物理连接形式(USB,serial,pc-card等)连接到PC上的bluetooth Dongle。
在Host这一端:application,SDP,L2cap等协议 ......
bin/mail会默认使用本地sendmail发送邮件,这样要求本地的机器必须安装和启动Sendmail服务,配置非常麻烦,而且会带来不必要的资源占用。而通过修改配置文件可以使用外部SMTP服务器,可以达到不使用sendmail而用外部的smtp服务器发送邮件的目的:
修改
/etc/mail.rc
set from=fromUser@domain.com
smtp=smtp.domain. ......
MEMCACHED安装
一、服务端。先安装libevent,再安装memcached。(注:libevent是一套跨平台的事件处理接口的封装,能够兼容包括:Windows/Linux/BSD/Solaris等操作系统的事件处理)
1、下载最新版本的libevent和memcached,笔者的安装目录为/soft
>cd /soft
>wget http://www.dange.com/memcached/dist/memcach ......
1、下载phpMyAdmin至web服务器目录并重命名为:phpmyadmin。假设服务器目录为www,则存放位置为www/phpmyadmin,访问路径为http://localhost/phpmyadmin
2、复制"/phpmyadmin/libraries/"目录下的"config.default.php"文件至"/phpmyadmin/"目录下,并重命名为"config.inc.php"
3 ......
一。linux系统的默认编码设置。
/etc/sysconfig/i18n
Controls the system font
settings. The language variables are used in /etc/profile.d/lang.sh. An
example i18n file:
LANG="zh_CN.GB18030"
LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"
SUPPORTED="zh_CN.GB18030:zh_CN ......