Tag Archives: linux

重装系统。。。

这两天看球,顺便重装了系统,因为需要切换到64位。 32位的系统是02年开始使用,之后换了两次电脑也一直没重新装过,现在需要切换到64位,终于可以重新装一次了。 安装顺利。。64位桌面很成熟鸟,二进制发布的软件也对64位支持甚好,只是baidu vpn的client需要32位的java vm,略折腾了一下。 昨天在大悦城逛了逛apple店,决定下一个电脑是mbp。

Android Notes [system view]

android系统是一个典型的嵌入式linux,基础是linux kernel,整个android框架运行于一个称为dalvik的虚拟机之上,因此app是平台无关的,如果没有使用特殊的硬件,在armv6上运行的app可以直接放在android on mips中一致运行。事实上android为常用的硬件(gps,加速度感应等)提供了jni的接口,移植时只要重新把硬件操作包裹成.so供框架调用。 flash分为几个block: # cat /proc/mtd dev:    size   erasesize  name mtd0: 00040000 00020000 “misc” mtd1: 00500000 00020000 “recovery” mtd2: 00280000 00020000 “boot” mtd3: 05a00000 00020000 “system” mtd4: 05000000 00020000 “cache” mtd5: 127c0000 00020000 “userdata” mtd6: 20000000 00020000 “msm_nand” # boot存放kernel和ramdisk,dump出来后需要split_bootimg.pl或者unpack-H.pl来把两者分离出来。boot区的结构如下: format (from bootimg.h) ** +—————–+ ** | boot header     | 1 page ** [...]

linux 2.6.30 came out !!

feature一大把: NILFS2 NTT Labs捐赠的log-structured文件系统,类似couchdb的做法,把磁盘看作连续的block list,将操作附加在最后,不改写已写入的块。于是有了天生的崩溃回复能力,天生的snapshot能力,天生的高改写性能。 POHMELFS 为并行优化的文件系统,可以平衡多节点读取,writeback、cache、metadata机制大大加速多节点同时写入,据说在每个方面都比nfs强。 RDS oracle捐赠的Reliable Datagram Socket,针对cluster应用。以前写过一个类似的协议栈,所以关注这个更多。 fastboot intel捐的,主要是让开机时的存储设备扫描异步进行,启动速度能提升很多。 Integrity Management Architecture IBM捐赠,保护关键数据,可以和TPM集成。 还有不少,诸如802.11,新的系统调用,原有文件系统的提升,nfs4.1,新的安全子系统…… 硬件相关的改动也不少,显眼的是arm架构下的加强有长长的一串,VOB/V4L、网络部分和MTD的进展也相当多,可以窥见需求和发展的重心。 总之是重要的版本,可以大大巩固linux在集群和嵌入式的地位。

又得选择

目前的方案设计又到了岔道口,其一是stm32+uc/os,其二是sam9261+linux,裸跑不再考虑了。已经确定的部件和接口是can总线,这个在stm32上已经没问题了,但是9261上的linux driver能否顺利工作还是未知,而且linux启动比起uc/os慢了不少。但是考虑到将来可能需要接入已有系统,尤其是ethernet接入,9261和linux可能会是更好的选择。两者的成本差意外的并不大,毕竟无论如何不能带着双层板去交货。 另一个问题是人机界面,demo设备用的是1602液晶。。。。这次初步打算使用带触摸的240×320 TFT,good luck.

飞信中。。。win32移植,done

如果打算跨平台开发的话,始终使用gcc是首选对策。。。 我对vc不熟悉,不过似乎很多情况下用vc9编译的东西放在干净的机器上没法运行,把vc9的运行时放过去也不行,只能安装.net 3.5或者用非express的vc版本打包。。。这是无法接受的。。 前些天程序不正常的原因就是win32 下的 openssl 库用了vc9编译,而主程序和主要的库是mingw编译的,所以程序能运行,而Qt network库去load openssl库时openssl就会无法正常加载symbol,此时qt的network库并不报错,而是默默的把https请求变成http请求发出去。。。。。如果不是听了一下包我怎么也不会相信的。。 花了一个下午用mingw重新编译了openssl库,(虚拟机里编译!!!)编译出来的dll竟然和vc编译出来的不同名。。。。改了一下名字后qt network库终于可以使用ssl通信了。。。 qt库不用重新编译,把各种模块,plugin和外部库分开其实更方便发布和更新。。。 今天swap终于开始工作了。。4G的内存也不能再泰然下去了,一个eclipse,一个firefox,一个编译用的winxp,一个clean的测试winxp,一个测试用的fedora9,还有永远不舍得关的mldonkey。。。

飞信中。。。移植到win32,done

遇上一些问题,默认的win是不装openssl的,qt也是不带ssl的(虽然qxxsocket链接到ssl库),实在不熟悉win32的开发,花了两个小时才移植完,现在winxp下可以跑了。 多说一句,主动invite没做完。。所以我的客户端不能互发。。会被服务器踢下来,但是和官方的交流没问题。。