启动android模拟器:invalid command-line parameter: Files
[| 2011/08/02 23:57]
今天启动android模拟器时报invalid command-line parameter: Files错误,原来这是sdk的一个bug。
要求sdk的安装路径中不能有空格,比如安装在program files下就不行。
解决方法非常简单,安装到无空格的路径下即可。
完整的错误信息应该是类似于如下的格式:
invalid command-line parameter: Files
Androidandroid-sdk ools/emulator-arm.exe. Hint: use '@foo' to launch a virtual device named 'foo'.
please use -help for more information
要求sdk的安装路径中不能有空格,比如安装在program files下就不行。
解决方法非常简单,安装到无空格的路径下即可。
完整的错误信息应该是类似于如下的格式:
invalid command-line parameter: Files
Androidandroid-sdk ools/emulator-arm.exe. Hint: use '@foo' to launch a virtual device named 'foo'.
please use -help for more information
windows xp安装到vhd上
[| 2011/07/24 21:59]
最近发现某些程序还得跑到xp上,于是决定装个xp。虽然预留了一个主分区,但想着是给win8或者其他系统预留的。并且常规安装不可避免的要覆盖系统引导项。还需要恢复linux的grub,win7和08r2的bcd,实在麻烦。最近发现有个工具叫vboot,可以支持xp装在vhd里。可以看成是一个grub+xp下vhd磁盘驱动的一个组合体。
大概启动原理是这样(由于我对这方面了解不深,一些地方是个人推测):第一次启动,将vboot.img作为软盘,xp安装盘作为光盘,vhd作为硬盘启动,grub引导vboot.img,而后vboot.img挂载光盘作为光驱,并加载vhd驱动,将vhd文件虚拟成硬盘。
第二次启动使用xp安装盘作为光盘,vhd作为硬盘,从vhd启动,同时挂载光盘镜像。
然后是正常启动过程,直接引导vhd作为硬盘,在前几步安装时已经给xp插入了vhd驱动,所以xp可以直接从vhd启动了。
刚开始下载的是原版vboot,自己拷贝各种文件,配置bcd,创建chd。后来发现有12f蓝屏,一查原来vboot试用版过期了。。找了无限时间的文件替换上,7b蓝屏,这是开启ahci的原因。关闭ahci后,发现光标闪了两下后屏幕黑了,卡住不动。。尝试几次后推测是显卡不兼容。
既然正常安装无法进行,只能尝试ghost模式,跳过第一次启动和第二次启动,使用ghost后直接进入正常启动流程。这里就用到了一个无忧启动论坛网友制作的工具:WinXP_VHD。这个工具支持两种模式,一种模式是安装光盘iso,就是普通方式。还有一种模式就是ghost模式,该程序会自动将制定gho文件中的内容镜像到vhd文件中,并向其中插入vhd驱动和相应注册表信息。这样就可以直接进入正常启动模式。
手头正好有雨林木风的xpsp2纯净ghost镜像,收藏很多年一直没有正式用上,这次终于发挥了作用。拿出来弄好后,重启,顺利进入了系统!安装各种驱动。使用感觉很不错,不过thinkpad的active protection在vhd里貌似发挥不了作用,这是个小遗憾。
大概启动原理是这样(由于我对这方面了解不深,一些地方是个人推测):第一次启动,将vboot.img作为软盘,xp安装盘作为光盘,vhd作为硬盘启动,grub引导vboot.img,而后vboot.img挂载光盘作为光驱,并加载vhd驱动,将vhd文件虚拟成硬盘。
第二次启动使用xp安装盘作为光盘,vhd作为硬盘,从vhd启动,同时挂载光盘镜像。
然后是正常启动过程,直接引导vhd作为硬盘,在前几步安装时已经给xp插入了vhd驱动,所以xp可以直接从vhd启动了。
刚开始下载的是原版vboot,自己拷贝各种文件,配置bcd,创建chd。后来发现有12f蓝屏,一查原来vboot试用版过期了。。找了无限时间的文件替换上,7b蓝屏,这是开启ahci的原因。关闭ahci后,发现光标闪了两下后屏幕黑了,卡住不动。。尝试几次后推测是显卡不兼容。
既然正常安装无法进行,只能尝试ghost模式,跳过第一次启动和第二次启动,使用ghost后直接进入正常启动流程。这里就用到了一个无忧启动论坛网友制作的工具:WinXP_VHD。这个工具支持两种模式,一种模式是安装光盘iso,就是普通方式。还有一种模式就是ghost模式,该程序会自动将制定gho文件中的内容镜像到vhd文件中,并向其中插入vhd驱动和相应注册表信息。这样就可以直接进入正常启动模式。
手头正好有雨林木风的xpsp2纯净ghost镜像,收藏很多年一直没有正式用上,这次终于发挥了作用。拿出来弄好后,重启,顺利进入了系统!安装各种驱动。使用感觉很不错,不过thinkpad的active protection在vhd里貌似发挥不了作用,这是个小遗憾。
nginx日志中400错误
[| 2011/07/08 21:06]
今天发现日志中有一定比例的400错误,查了一下说是因为浏览者http头发送的过大导致的。于是在nginx配置文件里加上:
client_header_buffer_size 16k;
large_client_header_buffers 4 32k;
改善了不少,不过还是有400错误,待后续考证原因。
client_header_buffer_size 16k;
large_client_header_buffers 4 32k;
改善了不少,不过还是有400错误,待后续考证原因。
风扇清理作用很有效
[| 2011/07/08 00:14]
到了夏天,笔记本底面总是很热,我以为是灰多了,拆开看了看,发现貌似也不算多,感觉那么一点灰会对散热影响很大么。。。后来发现公司发的新电脑底面都是凉的。。。决定清清灰。
tb上买了罐压缩气,拆开电脑吹了一下,效果很好,看起来黏在风扇上的一层灰一吹就掉了。通风口也吹出一堆灰来。气罐倒是越用越凉,到后来都冰手。
吹完装好,cpu压满,跑了会,cpu温度稳定在53。底面温度大为降低。以前cpu温度都能到70-80度,看来效果还是相当明显的。
tb上买了罐压缩气,拆开电脑吹了一下,效果很好,看起来黏在风扇上的一层灰一吹就掉了。通风口也吹出一堆灰来。气罐倒是越用越凉,到后来都冰手。
吹完装好,cpu压满,跑了会,cpu温度稳定在53。底面温度大为降低。以前cpu温度都能到70-80度,看来效果还是相当明显的。
php中引用的使用
[| 2011/07/06 11:01]
php使用引用的方法很简单,函数定义中的参数列表中使用引用的参数加上地址符号即可,函数内和实参都按普通方式。
智器rdesktop无声的问题
[| 2011/07/06 01:00]
之前一直试图让电脑可以连接智器放歌,一度试图搞一下direct sound抓取电脑声音发送到智器,搞了几天后发现不可行,对windows下的那套api完全不会,要想搞这个得先学很长时间的windows api,时间成本太大。又没有别的现成程序,于是考虑别的途径。
后来发现rdesktop可以用来远程登录windows,而windows的远程桌面是带了声音重定向的,于是准备反向来搞,让智器去登录windows,把声音redirect到智器上。
rdesktop使用倒是很简单,可惜连接上后所有关于声音的程序都无法运行,查了一下,说需要在组策略gpedit.msc里配置一下,让windows允许对声音重定向,默认是不允许的。配置允许后,程序可以运行了,但是声音依旧没有。
由于alsa有独占声卡的问题,一度以为是智器里某个程序把声卡占用了,导致rdesktop无法获取声卡控制权,在上面花了很长时间,没什么进展,也没法调试,很乱。
后来想到有个帖子里说到不同版本的rdesktop对于声卡独占还是不一样的,于是考虑是不是rdesktop的问题,上网一搜,果然很多人表示在使用rdesktop连接vista以后的系统时无声音,是个bug。很高兴,下了新版的代码编译了一下,但发现还是没声音。。。继续搜索,有人说在08 r2和win 7下要想播放声音,不但需要设置声音的redirect,还要设置一下磁盘的redirect才行。估计也是个bug。。于是随便设置了floppy=/tmp/***,有声音了。。很高兴。
播放了几首歌,发现声音总是断断续续,不知道是带宽问题还是智器cpu问题还是智器声卡问题,留待查证。
后来发现rdesktop可以用来远程登录windows,而windows的远程桌面是带了声音重定向的,于是准备反向来搞,让智器去登录windows,把声音redirect到智器上。
rdesktop使用倒是很简单,可惜连接上后所有关于声音的程序都无法运行,查了一下,说需要在组策略gpedit.msc里配置一下,让windows允许对声音重定向,默认是不允许的。配置允许后,程序可以运行了,但是声音依旧没有。
由于alsa有独占声卡的问题,一度以为是智器里某个程序把声卡占用了,导致rdesktop无法获取声卡控制权,在上面花了很长时间,没什么进展,也没法调试,很乱。
后来想到有个帖子里说到不同版本的rdesktop对于声卡独占还是不一样的,于是考虑是不是rdesktop的问题,上网一搜,果然很多人表示在使用rdesktop连接vista以后的系统时无声音,是个bug。很高兴,下了新版的代码编译了一下,但发现还是没声音。。。继续搜索,有人说在08 r2和win 7下要想播放声音,不但需要设置声音的redirect,还要设置一下磁盘的redirect才行。估计也是个bug。。于是随便设置了floppy=/tmp/***,有声音了。。很高兴。
播放了几首歌,发现声音总是断断续续,不知道是带宽问题还是智器cpu问题还是智器声卡问题,留待查证。
linux下查看网卡即时流量的工具:iftop
[| 2011/07/06 00:50]
以前一直没找到比较好的工具查看网卡当前流量,今天发现了一个好东西:iftop,很不错的小工具,ubuntu源里面自带,装上后就可以了,还带了文字图形界面,可以查看每个连接的速度,很不错。
pcntl_fork使用注意事项
[| 2011/07/05 15:24]
今天同事用到了pcntl_fork,看了一下源码,发现就是简单的对c里面fork的一个封装,那么问题就来了,岂不是cgi每执行一遍就fork出一个新的cgi出来,并且cgi不退出,最后导致进程爆炸?试了下,果然是。所以这个函数只能用在cli模式下的php脚本里,跑在cgi模式下的php用这个就是自杀。
php中数组加法
[| 2011/06/30 12:40]
以前很少用加号连接数组,今天看到一个把数组相加的代码,以为就是简单的两个数组拼接。但逻辑上感觉不对,查了一下,原来是把后面数组中的元素按key添加到前一个数组中,若前一个数组已有该key,则不覆盖。即类似于取了一个并集。对于交叉元素以加号左边的数组中的对应值为准。
智器mount权限问题
[| 2011/06/30 00:50]
今天给智器mount一个sd卡,发现mount后的权限总是700,各种设置umask均无效,修改hal无效,折腾了好久。
后来经测试,当快速换卡,存储卡在proc中为非mmcblk0p1时(如mmcblk2p1),可以mount成非700权限。为mmcblk0p1时,无论怎样都是mount成700。怪事,莫非是智器的bug。
后来经测试,当快速换卡,存储卡在proc中为非mmcblk0p1时(如mmcblk2p1),可以mount成非700权限。为mmcblk0p1时,无论怎样都是mount成700。怪事,莫非是智器的bug。