在Ubuntu系统中使用KVM体验moblin

使用KVM体验moblin

系统要求

1. VT技术的CPU
你可以用下面的命令检查你的CPU是否支持VT技术。
$ egrep '(vmx|smx)' /proc/cpuinfo
如果输出中出现flags:…云云,那么恭喜你,你很会买东西。

2. Ubuntu 9.04操作系统
请确认你的操作系统运行官方支持的内核,目前的版本是:
$ uname -r
2.6.28-11-generic

需要的软件包

KVM和QEMU。

$ sudo apt-get install kvm qemu

启用VT技术

使用modprobe载入kvm相关的内核模块。

$ modprobe kvm
$ modprobe kvm_intel
或者
$ modprobe kvm_amd

如果你得到如下的错误,说明你需要在BIOS设置中启用VT技术。

FATAL: Error inserting kvm_intel...Operation not supported.

如果已经用上面的方法确认了CPU是支持VT技术的,那么,说明在BIOS中VT并没有被启用。看看吧,浪费东西了吧。这说明使用Windows的很多用户都在浪费机器的性能。如果正是这样,请重新启动计算机,进入BIOS设置,在CPU相关选项中启用VT技术。

下载Moblin的KVM镜像文件

文件夹
http://repo.moblin.org/moblin/releases/test/alpha1/images/
KVM镜像的地址是
http://repo.moblin.org/moblin/releases/test/alpha1/images/moblin-netbook-core-alpha1-kvm.tar.bz2
用wget直接下载。

$ wget http://repo.moblin.org/moblin/releases/test/alpha1/images/moblin-netbook-core-alpha1-kvm.tar.bz2

解压,

$ mkdir moblin-kvm
$ tar jxf moblin-netbook-core-alpha1-kvm.tar.bz2 -C moblin-kvm/

然后可以尝鲜啦。

kvm moblin-netbook*.raw

当然,你可以尝试一下alpha2,镜像文件的下载地址如下:
http://repo.moblin.org/moblin/releases/test/alpha2/images/
已知问题可以参照Mobline V2的ReleaseNote。
http://moblin.org/community/blogs/tshureih/2009/announcing-moblin-v2-core-alpha-release

最后,一起欣赏一下桌面截图吧。
moblin-run-in-KVM-ubuntu

打造嵌入式软件开发团队(2) tftp服务器

上回书说到嵌入式开发环境的根文件系统如何通过NFS挂载,接下来说一下内核如何通过tftp服务器调试和加载。

Bootloader

通过tftp加载内核的前提是,开发使用的bootloader支持tftp功能。这样的bootloader有很多,在MIPS结构(MIPS4K,BRCM,龙芯等处理器)上,可以尝试使用U-Boot或者CFE。其中U-Boot适用于多种平台,包括ARM,PowerPC,MIPS等多中体系结构,而CFE是Broadcom公司开发的一个开放源代码BL,被广泛应用于MIPS结构。

安装和配置TFTP服务器

在Debian base的Ubuntu系统上安装tftp的方法非常简单。首先,你可以尝试用apt-cache命令查看一下发行版上都提供了哪些tftp相关的软件可以使用。


$ apt-cache search tftp
...
tftp-hpa - HPA's tftp client
tftpd-hpa - HPA's tftp server
atftp - advanced TFTP client
atftpd - advanced TFTP server
...
tftp - Trivial file transfer protocol client
tftpd - Trivial file transfer protocol server

atftp和tftp-hpa都是比较特殊的版本,所以,为了简便起见,这个介绍中只安装通用的tftp和tftpd。你可以使用下面的命令安装TFTP。


$ sudo apt-get install tftpd tftp

确认inetd.conf中是否正确安装了tftpd。


grep tftp /etc/inetd.conf

准备TFTP服务器使用的目录,可以在这个目录中放入需要共享的文件,比如编译好的内核image文件。


$ sudo mkdir /tftpboot
$ sudo chmod 777 /tftpboot

一般,为了配置简便,通常将tftp服务的目录放在/tftpboot,当然这个位置是可以配置的,在/etc/inetd.conf文件中,可以看到tftp目录被放在了/srv/tftp中,你可以根据需要更改。


$ sudo sed -e "s,/src/tftp,/tftpboot," /etc/inetd.conf >
/etc/inetd.conf_out &&
sudo mv /etc/inetd.conf /etc/inetd.conf_bak &&
sudo mv /etc/inetd.conf_out /etc/inetd.conf

测试一下。


$ echo "HELLO" > /tftpboot/FILE.txt
$ tftp
tftp> connect localhost
tftp> get FILE.txt

另外一个选择是使用xinet.d来驱动tftpd,取代inet.d。

安装xinet.d。

$ sudo apt-get install xinetd

配置tftpd服务。

打开/etc/xinet.d/tftpd文件,根据下面的样子照猫画虎就行了,需要注意的是disable=yes这一行变成disable=no。另外,默认的配置文件中可能需要增加访问控制选项,即将only_from这个选项固定为局域网。


service tftp
{
protocol = udp
port = 69
socket_type = dgram
wait = yes
user = nobody
group = nobody
server = /usr/sbin/in.tftpd
server_args = /tftpboot
only_from = 192.168.1.0/24
disable = no
}

使用xinet.d的好处是安全性增强。也是一个比较不错的选择。


参考URL:
http://hogeo.jp/blog/memo/2008/07/tftpubuntu.html
http://0x100.com/Gentoo/Server/tftpd.html

Ubuntu9.04中Intel图形芯片组上启用图形效果

Ubuntu9.04已经发布有1个月左右了,发布当天我就找了USB盘来更新了在Thinkpad X61上的Ubuntu 8.04。但是,因为这个版本中Ubuntu决定升级到新的X Server,而Intel的X驱动并没有适时的进行更新,在新的X server中Intel驱动存在Bug。这就使很多笔电用户无法享受到眩目的桌面图形效果。Ubuntu9.04的Release Note中说明了已知存在的问题并且将使用Intel图形芯片的桌面屏蔽了Compiz功能。昨天查看LaunchPad上的Bug更新状态,发现这个Bug已经被修复了,于是兴冲冲的升级相关软件包之后启用Compiz,可仍然只得到了启用失败的提示。原因是Compiz在启动时仍然使用了禁用设置。这里仍然需要一点小小的调整才能启用桌面效果。

首先,保证你的Ubuntu 9.04在最新状态。

$ sudo apt-get update
$ sudo apt-get upgrade

接着,命令Compiz启动时的错误检查跳过去

mkdir -p ~/.config/compiz/ && echo SKIP_CHECKS=yes
>> ~/.config/compiz/compiz-manager

最后在”系统”->”外观设置”->”桌面效果”中启用Compiz就可以了。

这时如果你用glxgear测试图形性能的话会得到一个比较奇怪的结果,那就是图形的FPS只有700左右。这个值远远小于能够运行3D加速功能的预期值。Ubuntu8.04中,我在同样的机器上得到的FPS测试结果在1500左右,仅仅看数值的话感觉性能降低到了原来的一半。但实际使用的感觉确是,你的桌面效果运行良好。

前几天有为朋友在ML中回复我,他说需要将Ubuntu9.04发布的内核2.6.28升级到2.6.30-r3才能得到比较高的FPS值,这种情况下才可以启用Compiz。但事实并非如此,理由是glxgear测试得到的值并非真正的3D性能标识,这个测试应用成功只是表示了一个2D的图形并且不断的互换,通过统计这种互换在一秒钟之内发生的次数而得到一个相对的性能指标。也就是说glxgear并没有真正的测试到显示芯片的3D加速功能。那把它作为3D性能的标准就无从谈起了。那么应当用什么来测试Linux的3D性能呢?!Here comes Extreme TUX RACER!!!