Posts Tagged ‘ubuntu’
配置Ubuntu Jaunty和双显示器一起工作
OK. 这一篇的主旨只是为了记录我解决问题的过程。
关闭FrameBuffer设备
上周星期五,我以一千元人民币的价格淘到了垂涎已久的22存高清显示器。今天早晨送到家里,我自然是兴奋不已的打开看了。Ubuntu Jaunty启动之后可以很顺利的识别外接显示器,但是外接显示器的分辨率却不正确。使用xrandr查看,发现整个设备的大小受到限制。Thinkpad X61的spec上写的很清楚,整个图形卡的最大可表现区域是因该是外接显示器于笔记本固有显示器面积的总和,也就是2944×1080。使用xrandr -q查看,发现这个最大值并没有被正确设置。less /etx/X11/xorg.conf看到,配置文件中启用了FrameBuffer设备。立即恍然大悟。原来,早些日子,我在控制台上工作的时候,启用了FrameBuffer来获得更大的显示区域。为了支持这个控制台显示区域,X服务器只能割让一部分显示存储给FrameBuffer设备。要修改回来就是在内核参数行去掉vga=791选项——这个选项代表1024×768的FrameBuffer能力。并且,重新启动机器之后,利用sudo dpkg-reconfigure -phigh xserver-xorg来重新配制xserver。因为,从Ubuntu 8.10版本开始,这个发行版中启用了新的xserver,所以,大部分配置可以由xserver自动完成,不需要再手动更改xorg.conf配置文件了。重启xserver之后,我再用xrandr -q查看了设备能力,输入如下。这是保证双显示器expand输出的前提条件。
$ xrandr -q Screen 0: minimum 320 x 200, current 2944 x 1080, maximum 4096 x 4096 VGA connected 1920x1080+0+0 (normal left inverted right x axis y axis) 477mm x 268mm 1920x1080 60.0*+ 1280x1024 75.0 60.0 1152x864 75.0 1024x768 75.0 60.0 800x600 75.0 60.3 640x480 75.0 59.9 720x400 70.1 LVDS connected 1024x768+1920+0 (normal left inverted right x axis y axis) 246mm x 185mm 1024x768 50.0 + 85.0* 75.0 70.1 60.0 40.0 832x624 74.6 800x600 85.1 72.2 75.0 60.3 56.2 640x480 85.0 72.8 75.0 59.9 720x400 85.0 640x400 85.1 640x350 85.1
配置双显示器expand表示
利用gnome-display-properties,我可以在这里动态的设置双显示的规格。有图为证。

如果这个方法受限,那么还有一个后背方案,就是采用Intel显卡驱动官方站的指南,采用xrandr来手动配置。
更新Mesa
设置双显示expand之后,我发现小显示器的一部分不能正确更新。初次看到这个现象的时候,我开始怀疑是不是设备能力有限,不能支持这么大的屏幕显示区域。但是仔细计算了一下,这种情况应该是不可能发生的。我的图形卡支持的最大输出是2944×1080,那么宽度上1920+1024不会超过这个2944,而长度来看768小于1080。那问题出在哪里呢?我尝试关闭了“桌面效果”,也就是启用metacity来取代compiz做窗口管理器。我发现这样的话两个屏幕都是可以被正确更新的。立刻想到问题应该处在3D表示的驱动上面。也就是作为3D表示基础库的Mesa有问题。找到关键词就很容易搜索了,google之。立刻发现这个问题是出现在mesa-7.4版本之中的bug。而这个bug已经被修复了。这个时候,我想是不是可以拿到mesa的源代码,然后给它打上补丁后重新package。于是立刻行动,我用apt-get source libgl1-mesa-dev libgl1-mesa-dri那到mesa的源代码,照猫画虎的打补丁。转念一下,这个问题应该已经有很多人遇到了,因为Jaunty发布已经有近4个月的时间,不会只有我遇到这个问题。于是乎,我在launchpad上搜索一下,发现果然有新版本的mesa可以使用。因为这个PPA提供的是unstable版本软件包,所以该PPA的作者声明拒绝外部资源直接给出该PPA的使用方法用来保证每个用户都可以读到警告信息。这里就不再说到底怎么使用了。如果你想在Ubuntu中使用fresh的xorg相关软件包,那么直接点下面的连接跳转过去看看吧。
https://launchpad.net/~xorg-edgers/+archive/ppa
经过以上步骤的折腾之后,我的Ubuntu就可以使用双显示器正常工作了。写代码的时候再也不需要挤在那个1024×768的显示器上用Alt+Tab换来换去了。还有就是玩企鹅滑冰有些就更爽了。(话外音:真浪费)同学,我听见了,虽然这个安装过程还是遇到问题多多,但是谁让俺自己愿意折腾呢?由此可证,所有的GNU/Linux用户都是那“吃饱了没事撑着”的某些人。
–
参考URL:
http://lists.freedesktop.org/archives/xorg/2008-April/034707.html
http://www.thinkwiki.org/wiki/Xorg_RandR_1.2#Summing_up
https://bugs.launchpad.net/ubuntu/+source/mesa/+bug/146298
嘿~,如果您喜欢我的博客,您可以通过RSS.链接将本博客的最新文章传输到您喜欢的阅读器。
- Tags: 3D, Dual Monitor, Geek, GFX, Intel, ubuntu
- Posted in Linux tips
- No Comments
打造嵌入式软件开发团队(3) 使用minicom做串口连接
minicom的初始配置
起动minicom
在终端中敲minicom,然后回车……(画外音:老兄,这个地球人都知道吧)。
$ minicom
如果你非常unlucky,发行版的默认安装中居然没有包含这个简单易用的串口连接工具,那么,找apt-get帮忙吧。
$ apt-cache search minicom
$ sudo apt-get install minicom
这里需要注意的问题是,如果你的locale设置的是中文,那么minicom打开后,那些边边角角条条框框会不能对齐,这基本山是因为程序本身不能计算双字节字符在屏幕上的正确宽度造成的,如果你英文好一些,并且不愿忍受破坏视觉的痛苦,推荐使用下面的命令启动minicom。
$ LC_ALL=C minicom
为了以后方便一些,就直接把这个命令写入$HOME/bin/里面,并且将这个路径添加进入PATH变量最前面的位置用以替换默认的minicom启动程序。
$ echo "#!/bin/sh LC_ALL=C minicom" > $HOME/bin/minicom
$ chmod +x $HOME/bin/minicom
如果minicom是第一次启动,打开之后就会遇到提示,可能有两种情况
- minicom说普通用户不能打开设备文件/dev/modem之类,如果你确信你需要使用这个设备进行通信,那么请用root用户或者sudo命令将这个设备文件更改访问属性;
- minicom说找不到默认的配置文件
恩,我们要说的就是如何给他配置起来,接着看吧。
打开配置菜单
第一次启动minicom可以使用root身份打开,并且加入-s选项,这是为了方便配置。
$ LC_ALL=C sudo minicom -s
这时回打开一个对话菜单,它长的有点像下面这个样子。
+-----[configuration]------+
| Filenames and paths |
| File transfer protocols |
| Serial port setup |
| Modem and dialing |
| Screen and keyboard |
| Save setup as dfl |
| Save setup as.. |
| Exit |
+--------------------------+
用上下键选择Serial port setup,选择进入。
+-----------------------------------------------------------------------+
| A - Serial Device : /dev/ttyS0 |
| B - Lockfile Location : /var/lock |
| C - Callin Program : |
| D - Callout Program : |
| E - Bps/Par/Bits : 115200 8N1 |
| F - Hardware Flow Control : No |
| G - Software Flow Control : No |
| |
| Change which setting? |
+-----------------------------------------------------------------------+
将串口的各个配置值设置成你需要的样子。按每个选项前面的字母键进入配置选单。其中,Serial Device需要指定成你实际使用的串口设备的设备文件;Lockfile Location使用默认就可以了,这个文件使用来锁定设备的,以保证不会设备被另外一个程序同时使用;Callin/out Program略去,嵌入式软件开发的时候大多不需要这个,这选项大概是留给调制解调器用的,我也不晓得;Bps/Par/Bits用来配置你的串口的通讯速度,这里我的设备选择了115200 8N1的选项,跟据你的设备选择相应的值;Hardware/Software Flow Control是RS232协议的一部分,用以控制两个设备之间消息传递的流控制——这个玩意儿一两句讲不清楚,有兴趣的话看RS232 flow control and handshaking——这个例子里选择NO。
不同的RS232连接线或者开发版的特殊设计都会导致你需要的配置与例子所说的不同,所以,还是查看一下硬件的连接方式手册再进行配置比较好。
配置完成后,在配置菜单中选择Save setup as dfl,这样就可以将配置结果保存成默认设置。
测试
如果你的开发板中已经烧入了相应的固件支持串口通信的话(一般都会有),这个时候可以给开发版加电测试一下通信状况了。如果配置没有出错,那么就应该有相应的内容表示。
值得一提的是折行控制。如果不进行选择的话,minicom提供的终端是不会折行的,也就是说你输入终端的内容在表示的时候会被短截,为了让自己看得清楚一些,可以用CTRL+A W来进行切换。
退出
在minicom的画面中按CTRL+A,接着按X键。或者CTRL+A Q。两者的区别是X会重置modem,而Q不会重置,并且Q选项需要用户确认。
此后就无须多言了,串口连接只是提供一种连接方式,连接以后根据开发板给公给你的界面,该干嘛干嘛就好了。
–
参考URL:
http://www.interface.co.jp/cpu/sh240_howto/howto06.asp
http://tldp.org/HOWTO/Serial-HOWTO.html
嘿~,如果您喜欢我的博客,您可以通过RSS.链接将本博客的最新文章传输到您喜欢的阅读器。
在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
最后,一起欣赏一下桌面截图吧。

嘿~,如果您喜欢我的博客,您可以通过RSS.链接将本博客的最新文章传输到您喜欢的阅读器。
- Tags: Intel, KVM, linux, moblin, ubuntu
- Posted in Linux tips
- No Comments
