glinux开发摘要(2)-构建目录结构

下面的操作步骤青蛙基本上是从 lfs6.3 学来的,所以会有$LFS这个变量,如果你对lfs也有兴趣,可以 去它的官方网站 看看。

青蛙编译完成了toolchain以后,就可以开始建造glinux的目录体系了。

首先,构造虚拟内核文件系统(Virtual Kernel File Systems),这个东东是跟内核通信的一个途径。

执行下面的命令,来建立文件系统的挂载点:

mkdir -pv $LFS/{dev,proc,sys}

然后,建立几个必要的设备文件,

mknod -m 600 $LFS/dev/console c 5 1
mknod -m 666 $LFS/dev/null c 1 3

青蛙准备用udev来管理设备文件,所以只建立这两个文件就够了, 其他文件udev会在系统启动的时候自动创建 …

more ...

glinux开发摘要(1)--编译环境制作

在uty同学的积极鼓励下,青蛙开始了glinux下一个版本的制作 (关于glinux的历史,欢迎回顾青蛙从前的日志)。

一开始,青蛙准备利用debian现成的编译环境, 但是后来突然想自己构建一个工具链比较好。 工具稳定下来,做出来的东西才比较有保障。

于是,青蛙从新拾起lfs,开始第二轮lfs征程, 不过这次lfs只做三分之一,青蛙的目标就是:lfs6.3的Toolschain。

具体操作过程没啥好说的,简单的step by step就好, 但是在制作过程中,遇到了几个bug (可能也算不上bug,可能是青蛙系统的原因)。

这第一个,就是在glibc-2.5.1这步,会遇到下面这个错误:

mawk: scripts/gen-sorted.awk: line 19: regular expression compile failed (bad class -- [], [^] or [)
/[^
mawk: scripts/gen-sorted.awk: line 19 …
more ...

历经坎坷,安装VMWARE6

青蛙被vmware郁闷了整整一晚上,遇到问题无数, google了一大把关键字,看了一大叠邮件列表, 终于把它在2.6.24内核上给装上了。

赶紧写下来,免得以后遇到类似的问题再抓瞎。

(请注意青蛙给出命令的提示符,$表示不要求root权限,#表示必须用root权限执行)

  • http://www.vmware.com/download/ws/ 这里vmware6的安装包下载回来,总共有200多M。
  • 下载安装包的同时,还需要准备一些包: # aptitude install linux-source gcc-4.1 g++-4.1 libncurses5-dev 这些是linux源码包,还有gcc跟g++,待会编译模块会用到。
  • 解压vmware6的安装文件 $ tar zxvf VMware-workstation-6.0.2-59824.i386.tar.gz
  • # cd  vmware-distrib && ./vmware-install.pl。一路回车,到提示是否执行 …
more ...

修改系统时间引起sudo罢工的解决办法

青蛙今天使用sudo之后,把系统时间往回调了几小时, 然后sudo就罢工了,提示下面的信息:

sudo: timestamp too far in the future

改时间竟然还能改出毛病,这个sudo真是太fz了。 青蛙拿着这个出错信息一google,发现了俩解决方法。

第一个,不黄很暴力,用root权限删除/var/run/sudo目录。

第二个,执行sudo -k,这个命令是用来清除sudo的时间戳, 下次执行sudo的时候它会跟你重新要密码。

more ...

pidgin中群名称变为NULL的解决办法

前阵子pidgin从2.x版本升级到了2.3.1以后, 青蛙的QQ的群名称就全部变成了NULL, 然后所有群的消息都跑到了一起,看的我眼花缭乱。 于是青蛙就眼巴巴的等着pidgin的升级。

这不,它终于升级到了2.4.0了,结果这个问题还是没改!

看来老外是靠不住的,只能靠自己了。 青蛙拿起google一划拉,还真找到点东西。

这不, Linuxsir上的linuxahah同学说 ,这是因为死TX修改了协议导致的,并且放出了一个补丁。

但是这个补丁需要打到pidgin的源码里面重新编译,鉴于青蛙前N次编译pidgin的结果都是失败而告终,这个方法还是放弃了。

于是青蛙继续google,发现 Linuxsir的marklf大牛说 ,这个问题还是因为pidgin中的libqq.so引起的, 只要用以前版本的libqq.so替换现在的版本就可以了。

这个方法很好很强大,只要找到2.x版本的libqq.so文件就,然后把它复制到/usr/lib/purple-2/就可以了。

困扰了青蛙好久的问题解决了,终于可以开心的聊QQ了 :D

更新: [2008-03-02 11:33] 放上日志里提到的补丁文件和libqq.so。

qq …

more ...

KDE:跨越Linux、Windows和Mac OS X的桌面环境

1

KDE,这个Linux/Unix下华丽丽的桌面环境,正在走向Windows和Mac OS X。 一些核心的KDE程序,还有其他重要的应用软件,例如KOffice和Amarok,已经开始向这两个平台移植。

这些成就除了因为KDE4的新特性,例如Phonon和Solid,还因为 Trolltech在Qt4的windows版本中也采用了GPL许可 。大家都知道,Qt使用双许可证,对于开源软件的开发可以使用GPL许可证,对于专有软件就需要用商业许可来授权。 但是,在Qt以前的版本中,只有Mac OS X和Linux/X11版本才有GPL许可。 这次伴随着Qt4的发布,windows版本的Qt也终于可以使用GPL许可证了。这个变化最终打开了开源的KDE应用程序通向windows的大门。

当然,KDE开发社区使用 CMake 来替代Autotools也是使KDE走向这三大系统的一个重要原因。

Windows下的KDE

现在(其实是从1月22号起), 从KDE的镜像站点 中就能下载到二进制的Windows版本的KDE环境了。从 这里 可以下载到一个安装程序,用户可以通过这个小程序选择自己需要的KDE包。 这个小程序可以自动解决包依赖问题,下载并安装需要的包。

现在windows版本的KDE看起来更像是mingw的一个超集,它里面包含了很多mingw的应用程序, 例如gcc、gdb、tar、patch等等。 再加上KDE自身的应用程序,就构成了现在的windows版KDE …

more ...