Web Analytics

初装Ubuntu 7.10

花了大半天时间备份数据,重装Windows后,终于可以安装Ubuntu了。Ubuntu 7.10的光盘在我的抽屉里都躺了多个月了,今天终于有了用武之地了。因为有了移动硬盘,我将笔记本硬盘的一个分区腾了出来,用来安装Ubuntu,分区大约20G,分出10个G来挂载/,1个G做SWAP分区,剩下一个FAT32分区存用户数据。 ...

February 17, 2008 · 2 min · Tony Bai

又获Ubuntu 7.10光盘

Mark Shuttleworth,Ubuntu的创始人,给了Ubuntu爱好者一个免费获取Ubuntu光盘的机会,自从去年年初收到一次Ubuntu 5.10的光盘后,昨天我又拿到了最新的Ubuntu 7.10的光盘。 去年的光盘数目很多,估计当时的Canonical是为了扩大自己的linux distribution的影响,在"shipit“页面上鼓励你多多索取光盘。也正如Canonical所期望的,我将大部分光盘都分给了周围的同事和朋友了,也算帮Ubuntu进行了一次"推广"工作了:) 而这次我申请光盘时,其网站上提供的标准选择就是一张PC CD和一张64-bit PC CD了。当然你也可以选择索取更多,但是页面上会提醒你索取非标准选项的光盘数目,邮递周期会长达6-10 weeks。我选择了标准选项。从提交订单到拿到光盘,好像只用了3 weeks的时间。 ...

November 25, 2007 · 2 min · Tony Bai

在Solaris上编译Ethereal的注意事项

自从上次’编译Ethereal On Windows‘之后,好久没有接触Ethereal了,前期策划的基于Ethereal开发的一个工具的任务就落到了这批来的一个新员工的头上了。第一阶段他在Windows上开发了一个基于Ethereal的插件用于分析CMPP协议之用;第二个阶段我们需要移植到Unix上,我们使用的是Solaris。 ...

November 8, 2007 · 4 min · Tony Bai

也谈计算机字符编码

以前真的未就计算字符编码有过什么深入的学习探究,这次学习也是源于客户的一次投诉。客户的投诉简要来说就是:我们的网关在截断客户发的长度越限的短信内容时,导致该短信在终端上显示为乱码。顺着这个起因,我花了一些时间概要性的学习了一些关于计算机字符编码的常识性知识。 ...

November 3, 2007 · 12 min · Tony Bai

不是不奉献

中午在CSDN上看到一则新闻,说的是"中国开源社区热潮背后 缺少奉献型人才",看完后有些感触,也就想在这里说两句。 谈到为开源项目奉献,我认为首先要具备三个条件: 1、投身开源的热情,即有奉献的意愿; 2、参与开源的技术能力,这里是指能参与到某开源项目核心或主力开发行列的能力;当然你要说参与开源的形式是多样的。如提交一个bug,辅助做一个模块测试同样也是为开源奉献,这里我也不否定,见仁见智。 3、时间与精力,无后顾之忧或者说生存之忧患。 ...

November 2, 2007 · 3 min · Tony Bai

GCC警告选项例解

程序员是追求完美的一族,即使是一般的程序员大多也都不想看到自己的程序中有甚至那么一点点的瑕疵。遇到任意一条编译器警告都坚决不放过。有人会说:我们可以使用比编译器更加严格的静态代码检查工具,如splint。这个建议也很不错。不过lint工具使用起来较繁琐,有时候还需要记住一些特定符号并插入到你自己的代码中才行,门槛较高,这也让很多人止步于此。那么我们就从此放弃么?不,如今的编译器做得都很好,它可以帮助我们的找到绝大多数可能出现问题的代码,前提是你要学会控制编译器去找到这些问题代码,而熟悉编译器的警告选项恰恰是体现控制力的好方法。当你可以自如控制编译器警告输出的时候,你就算是’入道’了,同时你对语言的理解也更进一步了。 ...

March 14, 2006 · 10 min · Tony Bai

Kernel 'head.S'

After being decompressed, the kernel image starts with another ‘startup_32′ function included in $(linux-2.6.15.3_dir/arch/i386/kernel/head.S’. This ‘head.S’ is the second one in linux source package, which is also called ‘kernel head’. And it is exactly what we want to describe in this artical. ...

March 2, 2006 · 3 min · Tony Bai

Compressed 'head.S'

_Why do we do this? Don’t ask me.. Incomprehensible are the ways of bootloaders. _ — comments in arch/i386/boot/compressed/misc.c There are two ‘head.S’ in linux source package. One is in $(Linux-2.6.15.3_dir/arch/i386/boot/compressed and the other one is in $(Linux-2.6.15.3_dir/arch/i386/kernel. The first one will be analyzed in this artical. Before we go ahead, let’s show a news of linux, that is ‘Army leans toward Linux for FCS(Future Combat System)’. ...

February 25, 2006 · 3 min · Tony Bai

Transfer to '32-bit'

The phase we talked about before is in ‘Real-address Mode’, which runs 16-bit program modules. At the tail of “Begin ‘setup.S’”, we had moved to ‘Protected Mode’, which usu runs 32-bit program modules. So there are two big problems which are ‘How to transfer control between 16-bit code and 32-bit code’ and how to transfer control from ‘real-mode’ to protected mode’. They are also what we wanna talk about in this artical. ...

February 17, 2006 · 5 min · Tony Bai

Outline 'memory layout'

So far we have arrived at the gate leading to the real kernel. And we’d better stop for a short break in order that we would have more energy to go ahead. Now let’s examine what we do to memory these days. Virtually what we want to do is drawing some pictures to describe the layout of the memory in various phases. For the layout is related to the bootloader, we’d better make our work based on the following assumption: The machine has two systems installed (Windows XP and Linux) and uses LILO as the bootloader. Let us look at the LILO configuration: ...

February 15, 2006 · 3 min · Tony Bai