Thursday, November 26, 2009

用VMWare Workstation 跑Chromium OS (不成功的尝试1)

11月18日Google宣布了 Chrome OS,展示了其切入上网本领域、以初步实现其“云计算”蓝图的野心。同时,其开源版“Chromium OS”的源码树git也于同日正式上web(实际上10月底开始这个git树已经开始)。有好事者编译了11月19日的此源码树,做成VMWare磁盘镜 像发上网,(具体请自己查找文件名chromeos-image-999.999.32309.211410-a1.vmdk.bz2)我大概在几个小时 内就拿到了这个镜像。
由于主力笔记本显卡烧坏,不得不使用一台只有512MB内存的较老的机器来跑ChromiumOS VMWare镜像。这是这个虚拟机的基本配置:
Chrome OS ChromeOS Chromium VMWare
可以看到,我仅仅分配了256MB内存给ChromeOS虚拟机,使用NAT网络,没有使用USB适配器等高级虚拟设备。
启动系统。这个系统就算在256M内存的VMWare之下,从VMWare BIOS logo到出现登录画面,其中发生的唯一事情就是黑了5-6秒屏而已。这是登录界面。
Chrome OS ChromeOS Chromium VMWare
这个界面里,我估计按照Google的考虑,用户名就是你的Google账号,密码就是你Google账号的密码。我并不敢把自己的账号密码让 这个刚刚出现的系统吃掉,但是用自己的小号登录却直接出现了“Network not connected,”这样的错误。原种子的说明中提到万能账号mark,直接输入进去,登录系统成功。
Chrome OS ChromeOS Chromium VMWare
系统直接打开了一个Chromium浏览器,而且无法DNS其默认主页——Google.com。而且系统的整体反应速度也非常慢,比 VMWare里未安装VMWare Tools的Fedora、Ubuntu都要慢得多,估计是ChromeOS的X在编译时就只对某种他们用来测试的特殊硬件做了优化,而默认的优化选项都 没有打开。
这个NAT在Windows下完全正常,为何这里就不能用了?我得诊断一下。先把VMNAT dhcp得到的东西在VMware模拟的windows中列出:
Photobucket
然后就是尝试在ChromeOS中查找网络设置和终端了。我找遍了Chromium的界面,没有看到网络设置的任何影子,只有打开或者关闭网 络、Wifi这样的东西;而试图通过Ctrl+Alt+F2打开一个新的命令行终端,能看到的只有黑屏。很可能编译设定中并没有启用字符模式的终端驱动, 因此不仅启动整个是黑屏,开命令行终端也是黑屏。
不过我最后发现,按Ctrl+Alt+T能够在Chrome运行的那个图形会话中打开一个图形界面的终端。sudo -s,用原镜像提供者说的密码chromeos,成功root。
马上运行ifconfig查看IP地址,ping vmnat提供的网关和DNS。结果如下:
Chrome OS ChromeOS  Chromium VMWare
似乎都是正常的。但是,一ping 外网的地址,问题就来了。
Chrome OS ChromeOS Chromium VMWare
无法解析域名。/etc/resolv.conf里记录的DNS居然是本地,其第一个注释行的内容说的是让什么connman提供的本地dns 代理服务来解析。估计问题就在connman了。
一Google,发现connman是Intel Moblin项目中和诺基亚合作的一个子项目,它.“提供一个为运行Linux的嵌入式设备来管理Internet连接的服务”(http://connman.net/)。估计我得查一些文档,才能把这个 connman的问题搞定了。
试图手工修改resolv.conf,居然发现/是只读的文件系统。Linux知识不够,暂时不知道怎么把根目录按读写方式mount。
因此VMWare 运行Chromium OS 20091119 第一战宣告暂时失败。
不过,连接用IP访问的网站,还是可以的。比如ACFun:
Chrome OS ChromeOS Chromium VMWare
用过Android的人都能很明显地看出,ChromeOS内置了Droid字体,中文则是用文泉驿微米黑。由于ACFun上有很多外部链接的 图片和脚本,由于它们此时无法解析对应域名,因此打开acfun的速度非常慢。
Chrome OS ChromeOS Chromium VMWare
嗯?预装了Flash插件?这似乎牵扯到授权的问题了啊!不过据说Chromium OS是BSD授权,我看看这个系统的uname -a看看它是不是Linux内核:
Chrome OS ChromeOS Chromium VMWare
果然也是Linux。记得wiki说BSD和GPLv2是兼容的,但是Adobe的Flash插件EULA呢?Google的人估计还是出了点 小差错。
Chrome OS ChromeOS Chromium VMWare
Chrome OS虽然主要倾向是连到长城另一边的服务器群上搞什么云计算,但是用来看一些“认真你就输了”的东西似乎是完全没问题的!就是现在这个DNS没搞定啊。
找遍GUI,没找到关机的命令,只有终端下shutdown -h now了。

用VMWare Workstation 跑Chromium OS (不成功的尝试2)

上次尝试VMWare上跑Chromium OS没有彻底成功。现在主力笔记本已经修好,拿笔记本上的Workstation 5.5再来跑跑看。
先如此配置一个虚拟机:


因为上次碰到了不能解析域名的问题,这次决定手工修改下resolv.conf。

记得当时碰到的问题是,resolv.conf里面默认的那个什么connman代理不能用,而且主文件系统是只读的。因此考虑从外部尝试修改resolv.conf。
先用Knoppix liveCD启动系统,强制按照读写模式装上chromeos的root卷(在这个虚拟镜像里是第三个分区)。
同时,把resolv.conf的权限改为644,所有者允许编辑。


之后,修改resolv.conf,加入OpenDNS的IP地址。


之后,启动系统,还是先用mark登录。


非常好,现在虚拟机中已经可以上网了。试试看用自己的账户登录:


登录成功,直接打开了登录自己账号的Google首页。


其他网站都完全可以上。

Chromium OS的浏览器的User-Agent是:
Mozilla/5.0 (X11; U; CrOS i686 9.10.0; en-US) AppleWebKit/532.5 (KHTML, Like Gecko) Chrome/4.0.253.0 Safari/532.5
看来,CrOS以后将成为ChromeOS/Chromium OS在User-agent中的识别标志。这个9.10.0版本,我没搞清是什么意思,但是这很可能代表的是Ubuntu 9.10,Chromium OS内核的母系分支。


也许有人会问了,从这些看来,所谓的Chromium OS不就是一个内核加上浏览器作为外壳的“超级浏览器”么?Google自己的演示当然不是这个样子,按左上角那个按钮能出来一个所谓的“应用程序”(其实也不过是到某些网页的快捷方式罢了)菜单。但是我按那个按钮,出来的却是——


而很多洋人点开却确实看到了程序菜单,这又是因为什么呢?
nslookup一下这个域名,结果是——
C:\Documents and Settings\yksoft1.YKSOFT-PC>nslookup goto.ext.google.com
Server: resolver1.opendns.com
Address: 208.67.222.222

Non-authoritative answer:
Name: ghs.l.google.com
Address: 74.125.53.121

原来是放在ghs上的。但是通过能有效打开我的备用博客的代理,仍然无法打开,看来不是我们封他,而是他还没准备好向我们公开这个“应用程序”页。
今天的测试就暂时到这里吧。
就在停笔的时候,虚拟机里的Chromium OS似乎死机了。鼠标还可以移动,但是屏幕对鼠标的移动和键盘输入完全没有任何反应。奇怪的是,在点击链接的时候,虚拟机的硬盘有反应,按 Ctrl+Alt+T,硬盘也有反应。看来并不是真的死机,而只是图形部分死掉了而已。强行重启虚拟机,启动到某个地方,vmware-vmx出错,虚拟机自动关闭。看来这个build的X驱动是真的不通用或者有Bug。

Sunday, November 22, 2009

比Windows 1.01更老的Windows预发行版本(Beta、Premiere)

Windows 1.01是1985年11月左右发布的,第一个正式的Windows版本。但是最近,之前的好几个预览版和测试版都泄露了出来,成为软件古董爱好者的玩物。
泄露的版本包括1985年8月的
Windows Premiere Edition(Windows先行预览版)
1985年 5月的 windows 1.0 beta
1985年1月的 windows 1.0 alpha
1984年11月的 windows 1.0 developer release 5

经过我的测试,Premiere Edition和1.01基本是一样的,也可以通过替换mouse.drv为2.03或者2.1版的办法来支持PS/2鼠标。而Beta版则不同,其驱动程序结构和1.01、Premiere Edition都有区别,无法替换Mouse.drv,而且高版本DOS下退出将会导致死机。至于Alpha版和Developer Release 5,根本就不能支持3.0以上的DOS,高版本DOS下虽然能安装,但启动会出现DMAADD不正确的错误,因此我无法测试了。
注意 Premiere Edition和Beta虽然能在高版本DOS下启动,但是和所有的1.x、2.x一样,必须先使用DOSVER强制指定DOS的版本。
这是我在一台现代的机器上直接使用U盘启动DOS,测试Windows Premiere Edition和Windows 1.0 Beta的截图。
http://i121.photobucket.com/albums/o220/yksoft1/Windows%201%20Prerelease/w1beta.gif

http://i121.photobucket.com/albums/o220/yksoft1/Windows%201%20Prerelease/w1pre.gif
这里我提供安装软盘镜像(全部是360K盘,如果要用winimage转必须先转720K,再转1.44M)
http://www.mediafire.com/?lyie3onmyno
和我测试用的安装完毕的全部文件。
http://www.mediafire.com/?jjnt5mfnmoy


Saturday, December 27, 2008

quicktime?Slowtime!

现在觉得QT所谓“追随工业标准”就是个商业噱头而已。。QT6的时候出了个压不出ASP profile、速度慢、可选项少、效果很一般的Quicktime MPEG4编码器,不过解码其实还可以(假设容器是.mov的话)。9系统、10.1-10.2系统上基本看不到几个mov封装的MPEG4文件,大多数都是用divx doctor之类的东西从avi转过去的(另外quicktime avi组件的问题相信使用过的都知道,好像只是VFW1.1标准,AVI里的mp3、ac3音频编码根本不行,后来divx和现在的perian都开发了替代的AVI组件,解决了这个问题)。论性能,当初divx5比Quicktime MPEG4快;编码上,quicktime mpeg4和设置好的divx、3ivx以及现在的xvid是根本无法比的。
到了H264称王的时代,苹果出了QT7。QT的H264在QT7.2之前根本就无法解码大多数实际遇到的Main profile的H264 MP4文件;就算是7.2支持了,那个解码效率,不和硬件解码、coreavc比,和libavcodec里的h264都没法比。编码么,quicktime h264和mpeg4有一样的毛病,没有几个可选项,一次只能占用一个CPU,而且也只能压出simple profile。iPod、iphone只能支持simple profile的h264,看来qt的人也认为所有的人都不需要用qt来压出他们。因此,和良好设置过的x264相比,qt的h264在相同码率、都是 1pass的情况下几乎不堪入目。
另外,在网络上低码率mp4中HE-AAC横行的时候,只支持AAC-LC的解码(编码就懒得说了)也不太好说。
熊猫本系统里的qt755总算支持了NV的h264硬件加速,这是个好事。Quicktime X是jobs在某次公开雪豹存在的会上说的,通过全硬件加速,应当会把解码性能提高一个数量级吧。而当初MPEG4的问题,至今还是那个样子。
QT的多种编辑用codec倒一直很强大,用到这点的那些软件是jobs赚大钱的部分,qt组当然不会怠慢了。
QT还有个大问题是它抛不开789系统时代的那些古旧代码。最初QT是给6系统写的,pascal代码还是占主要部分。不过在qt2.1还是2.5的时候 QT组必须把QT全部代码都移到PPC平台,以前的东西都改写成C了。qt基础部分由于和系统结合很紧,到了OSX的时代和以前几乎就没有联系了;但是问题是那些8、9系统时代写的编码解码器,就不那么好全面翻新了。有些是根本不能全面翻新(比如sorenson、qdesign、purevoice之类从别家公司授权来的编解码器,苹果没有多少权利去进行大幅度修改和优化),有些则是因为过于古老没人用,qt组懒得去翻新(比如什么cinepak、 imadpcm一类)。还有刚才说过的AVI组件,这个大概是97年底98年初qt3的时候做的,当时apple估计只是把这个当作当时QT“兼容性”的一个宣传工具,以后应该是没有怎么更新过。后面还有flash 4、flash 5支持(7.3.1废掉了),这个也自从qt5之后就再也没有过任何更新,也许是因为当时realplayer搞了flash支持,apple只是跟一下风。这一系列古董代码,全部是用老的OS9 toolbox,或者后来稍作修改改成carbon,来编译出来的。相对于9系统到carbon,carbon到cocoa是非常复杂的,阿多币、M$搞了7年都没搞定,qt组估计看着屁股后面这一大堆的老codec,估计心有余而力不足了。qt7终于加上了一个控制QT的cocoa api QTkit,但是实际上它还是得用那些carbon的库来实际实现quicktime功能。iphone的osx没有carbon,这点大家可能都清楚;iphone能播放mpeg4、h264 simple profile的视频,播放mp3、aac、alac、pcm的音频,我认为应当是把整个qt底层移植到了cocoa。jobs应当把这个为同属于OSX 的iphone os开发的新框架移植到mac的osx上来(也许qt组已经作了一两年甚至4年以上,也许这就是quicktime X)。至于那些古董codec,我认为qt741默认隐藏它们的编码功能,qt731废掉flash5支持,其实就是为了quicktime X将彻底不支持那些古董做准备。这样,也许qt就不再是slowtime了。

不过,QT最大的问题还是跨平台后的性能问题。当初qt1-2的时候,apple请一家小公司移植了少部分7系统API,做了个只能播放视频和支持少部分从mac移植的软件,没有什么其它功能的qt1-2 forwin;后来这个小公司和intel、m$合作,最终导致了苹果历史上与M$的第二场大官司(第一件是win2.0的外观与感觉案)。后来jobs 和M$谈判把这两个官司私了了,但估计还是怀恨在心还是怎么的,QTWin虽然变成apple自己制作,但是其性能和稳定性和在自己系统上相比,完全是一个天上一个地下。看看mplayer、mencoder,在win上性能比在老家linux上还要好;苹果就不很厚道了。不知道quicktimeX的 win版会有什么大变化,希望速度上有所提升,但是又不要加更多从OSX移植的东西。safari win其实性能并不差,不过它太OSX化(连quartz字体渲染都搞过来)了。苹果的人不知是故意还是怎么,把Win版苹果软件的界面设计得和win环境不协调(safari中出现了OSX的滚动条和按钮),这点也不知以后会怎么发展。
无聊乱敲了这么多字,其实也就因为一个文件转得太慢而已。希望quicktime X能真正quick吧。
追记:qt731干掉flash5的问题,影响到了那么一些在qt影片里用flash搞互动内容的洋人。当初imac g3有几个宣传片就有flash的互动内容在里面。

这篇文章纯属用qtpro连续出现crash之后的牢骚,别看得太重。

Monday, June 23, 2008

最近被GFW的国外BT站

thepiratebay
demonoid
这两个最大的国外BT站被盾了。而奇怪的是,mininova没有被盾。
今天gfw放blogger一下风,我也溜出来贴个贴先。

Monday, April 14, 2008

我的 eeepc 安装 Windows XP 的步骤之第一步

我的eeePC是一台4GB版本的标准版,预装的是Xandros Linux操作系统。这个系统确实非常简单,但是我并不是一个完全的UNIX人士。因此,我决定在其上安装Windows XP 操作系统。
因为我没有USB接口的光驱,不得不使出我的拿手好戏——从U盘启动DOS实现系统安装。
1、准备一个支持FAT32的DOS启动U盘(建议使用惠普DriveKey HPUSBFW.exe进行制作操作,不建议使用USBoot等软件),需要himem.sys、smartdrv.exe、format.com,将himem.sys和smartdrv.exe放入config.sys,将smartdrv.exe放入autoexec.bat,另外需要DiskGenius分区软件。将Windows安装盘的i386目录(注意:使用DPS第一种方式整合驱动包的系统,就算加入$OEM$目录,也不一定能够自动安装成功!)也复制入其中。
2、插入U盘,启动时按下ESC,选择U盘设备名,等待片刻即可进入DOS系统。此时,运行DiskGenius(一般名为dskgen.exe)。 选择第二个4G左右大小的硬盘,删除其上所有分区,建立一个占据全部磁盘空间的分区。最后,别忘记修复主引导记录!否则启动报Error 17错误。
3、重启动系统,format d:(如果你的U盘只有一个分区)。如果愿意的话,可以在eeepc的磁盘分区上先安装DOS。
4、在DOS下运行i386中的winnt.exe,按提示进行系统安装。如果没有在eeepc的磁盘分区上先安装DOS,可以考虑将分区转换成NTFS。
至此,第一步安装结束。是不是不很麻烦?
PS:blogger是一个“能写不能读”的地方。。

Wednesday, March 26, 2008

最新IM软件 百度HI 试用之一(多PNG图,杀猫杀内存)

百度试水IM领域,第一个版本就很重量级。今天拿到了邀请,下了个beta版本来测试。
这是主界面。
Photobucket
这是程序的关于画面,看来至少百度要搞三年。。
Photobucket
基本的对话窗口,很像TM和MSNM的混合体。还是不如AIM的简洁。
Photobucket
基本设置,和QQ相当类似。
Photobucket
注意:用户根目录在我的文档\Baidu\Baidu Hi下,一个账号一个子目录。消息数据库msg.db不是明文。
这个是安全设置(其实如果没有QB,QQ的所谓安全中心只需要两个小功能,对不?)
Photobucket
文件发送功能(我这里经常发送成功却显示失败,甚至根本不能发送,直接取消,估计是BUG了)。
Photobucket
更换主题(现在还只是两个颜色不同的)。
Photobucket
截图功能。如果能成功发送,就是先出缩略图再出大图!但是不能,就是只有小缩略图。
Photobucket
添加联系人。很像QQ
Photobucket
快速启动栏图标主菜单,
Photobucket
多人对话。这个还不是群。
Photobucket
因为还没找到能够加入的群,因此暂时不发群功能的图,等待下次继续吧。
虽然是beta,但是我觉得这个比简陋的QQ for Mac成熟太多了。内存占用呢?和QQ在一个水平上~(下图是各开4个窗口)
Photobucket
seamonkey占用这么多的原因是因为,adblock在0320的nightly突然失效了,,,
下次待续,群和音视频功能。