-
【日志】看了一些公司网站 - [有话说的日子]
2007-07-08
在一家企业的老总博客上面看到他推荐员工看《致加西亚的信》,下面内容简介摘自新浪:
100多年前的一个傍晚,出版家艾尔伯特·哈伯德与家人喝茶时受儿子的启发,创作了一篇名为《致加西亚的信》的文章,刊登在《菲士利人》的杂志上,杂志很快就告罄。到1915年作者逝世为止,《致加西亚的信》的印数高达40,000,000册。创造了一个作家的有生之年一本图书销售量的历史记录。其后的80余年,该书被翻译成所有的文字,许多政府、军队和企业都将此书赠送给士兵和职员,作为培养士兵、职员敬业守则的必读书。
不管怎么样,自己也将要结束掉学生生涯开始正式工作,用前几天同学的话说也是社会人士了,我想看一看这书应该有好处的。

-
看电影版的《侠骨仁心》的时候听到的这首歌曲,上网找歌,顺带着找到这个榜单,有时间的话慢慢找来听

Patti Austin - Say You Love Me -
【转贴】诺基亚的一个广告,挺有意思的 - [文艺我的爱]
2007-07-07
特浪漫的广告-will u marry me? -
[技术]剖析RedHat Linux中三个重要内核文件 - [曾经学过的]
2007-07-07
在网络中,不少服务器采用的是 Linux系统。为了进一步提高服务器的性能,可能需要根据特定的硬件及需求重新编译Linux内核。编译Linux内核,需要根据规定的步骤进行,编译 内核过程中涉及到几个重要的文件。比如对于RedHat Linux,在/boot目录下有一些与Linux内核有关的文件,进入/boot执行:ls –l。编译过RedHat Linux内核的人对其中的System.map 、vmlinuz、initrd-2.4.7-10.img印象可能比较深刻,因为编译内核过程中涉及到这些文件的建立等操作。那么这几个文件是怎么产生 的?又有什么作用呢?本文对此做些介绍。
一、vmlinuz
vmlinuz是可引导的、压缩的内核。“vm”代表“Virtual Memory”。Linux 支持虚拟内存,不像老的操作系统比如DOS有640KB内存的限制。Linux能够使用硬盘空间作为虚拟内存,因此得名“vm”。vmlinuz是可执行 的Linux内核,它位于/boot/vmlinuz,它一般是一个软链接。
vmlinuz的建立有两种方式。一是编译内核时通过“make zImage”创建,然后通过:“cp /usr/src/linux-2.4/arch/i386/linux/boot/zImage /boot/vmlinuz”产生。zImage适用于小内核的情况,它的存在是为了向后的兼容性。二是内核编译时通过命令make bzImage创建,然后通过:“cp /usr/src/linux-2.4/arch/i386/linux/boot/bzImage /boot/vmlinuz”产生。bzImage是压缩的内核映像,需要注意,bzImage不是用bzip2压缩的,bzImage中的bz容易引起 误解,bz表示“big zImage”。 bzImage中的b是“big”意思。
zImage(vmlinuz)和bzImage(vmlinuz)都是用gzip压缩的。它们不仅是一个压缩文件,而且在这两个文件的开头部分内嵌有gzip解压缩代码。所以你不能用gunzip 或 gzip –dc解包vmlinuz。
内核文件中包含一个微型的gzip用于解压缩内核并引导它。两者的不同之处在于,老 的zImage解压缩内核到低端内存(第一个640K),bzImage解压缩内核到高端内存(1M以上)。如果内核比较小,那么可以采用zImage 或bzImage之一,两种方式引导的系统运行时是相同的。大的内核采用bzImage,不能采用zImage。
vmlinux是未压缩的内核,vmlinuz是vmlinux的压缩文件。
二、initrd-x.x.x.img
initrd是“initial ramdisk”的简写。initrd一般被用来临时的引导硬件到实际内核vmlinuz能够接管并继续引导的状态。initrd-2.4.7- 10.img主要是用于加载ext3等文件系统及scsi设备的驱动。比如,使用的是scsi硬盘,而内核vmlinuz中并没有这个scsi硬件的驱 动,那么在装入scsi模块之前,内核不能加载根文件系统,但scsi模块存储在根文件系统的/lib/modules下。为了解决这个问题,可以引导一 个能够读实际内核的initrd内核并用initrd修正scsi引导问题。initrd-2.4.7-10.img是用gzip压缩的文件。
linuxrc这个脚本initrd实现加载一些模块和安装文件系统等。 initrd映象文件是使用mkinitrd创建的。mkinitrd实用程序能够创建initrd映象文件。这个命令是RedHat专有的。其它 Linux发行版或许有相应的命令。这是个很方便的实用程序。具体情况请看帮助:man mkinitrd。
三、 System.map
System.map是一个特定内核的内核符号表。它是你当前运行的内核的System.map的链接。
内核符号表是怎么创建的呢? System.map是由“nm vmlinux”产生并且不相关的符号被滤出。对于本文中的例子,编译内核时,System.map创建在/usr/src/linux-2.4/System.map。像下面这样:
nm /boot/vmlinux-2.4.7-10 > System.map
下面几行来自/usr/src/linux-2.4/Makefile:
nm vmlinux | grep -v '\(compiled\)\|\(\.o$$\)\|
\( [aUw] \)\|\(\.\.ng$$\)\|\(LASH[RL]DI\)' | sort > System.map然后复制到/boot:
cp /usr/src/linux/System.map /boot/System.map-2.4.7-10
在进行程序设计时,会命名一些变量名或函数名之类的符号。Linux内核是一个很复杂的代码块,有许许多多的全局符号。
Linux内核不使用符号名,而是通过变量或函数的地址来识别变量或函数名。比如不是使用size_t BytesRead这样的符号,而是像c0343f20这样引用这个变量。
对于使用计算机的人来说,更喜欢使用那些像size_t BytesRead这样的名字,而不喜欢像c0343f20这样的名字。内核主要是用c写的,所以编译器/连接器允许我们编码时使用符号名,当内核运行时使用地址。
然而,在有的情况下,我们需要知道符号的地址,或者需要知道地址对应的符号。这由符号表来完成,符号表是所有符号连同它们的地址的列表。变量名checkCPUtype在内核地址c01000a5。
Linux 符号表使用到2个文件:
/proc/ksyms
System.map/proc/ksyms是一个“proc file”,在内核引导时创建。实际上,它并不真正的是一个文件,它只不过是内核数据的表示,却给人们是一个磁盘文件的假象,这从它的文件大小是0可以看 出来。然而,System.map是存在于你的文件系统上的实际文件。当你编译一个新内核时,各个符号名的地址要发生变化,你的老的System.map 具有的是错误的符号信息。每次内核编译时产生一个新的System.map,你应当用新的System.map来取代老的System.map。
虽然内核本身并不真正使用System.map,但其它程序比如klogd, lsof和ps等软件需要一个正确的System.map。如果你使用错误的或没有System.map,klogd的输出将是不可靠的,这对于排除程序 故障会带来困难。没有System.map,你可能会面临一些令人烦恼的提示信息。
另外少数驱动需要System.map来解析符号,没有为你当前运行的特定内核创建的System.map它们就不能正常工作。
Linux的内核日志守护进程klogd为了执行名称-地址解析,klogd需要使 用System.map。System.map应当放在使用它的软件能够找到它的地方。执行:man klogd可知,如果没有将System.map作为一个变量的位置给klogd,那么它将按照下面的顺序,在三个地方查找System.map:
/boot/System.map
/System.map
/usr/src/linux/System.mapSystem.map也有版本信息,klogd能够智能地查找正确的映象(map)文件。(T004)
-
【技术】编译内核学习计划 - [曾经学过的]
2007-07-06
在短暂的思想波动之后,发现我还是很崇尚技术的,当然,我并不排斥我所喜爱的技术之外的技术:存在即是理由,不懂即是动力。
今 天再拜访过刘老师之后,不得不感叹刘老师实在是太好了,为了我们几个论文的事情,特地跑到上海一趟,而且已经计划好与经理会面,却最终因经理回台湾而没能 成行,很遗憾。听过刘老师的指导,我觉得我的论文中的确很少技术含量高的内容,就是凑字。回来后继续在图书馆里面找资料,发掘还是有一些东西可疑研读的。
想一想自己还没有编译过内核,其实是都没有照着文档作一遍,因此,晚上决定使用公司现在空闲 的那台PC来实际操作一遍。呵呵,首先先搞定了这台电脑上的 grub和root的密码,然后在从kernel.org下载内核源码的时候,看了一些文档,并且总结了一下比较好、可以用来参考的网站,先列举如下:
(1) http://www.kernel.org/
(2) http://fedora.linuxsir.org/main/?q=node/88 《内核管理概述》
(3) http://fedora.linuxsir.org/main/?q=node/66 《编译内核操作流程 ─为新手指南》
(4) http://www.linuxforum.net/forum/postlist.php?Cat=&Board=linuxK
China Linux Forum的内核技术版块很好,“新手必读”中很多帖子需要看。
(5) http://www.howtoforge.com/kernel_compilation_fedora
(6) http://www.howtoforge.com/kernel_compilation_fedora
同时howtoforge是个很不错的地方,与linux有关的话题都可以到这里来搜索
好站、好文待添加……
-
【技术】Linux的技巧两则:恢复grub 与 root密码修改 - [曾经学过的]
2007-07-06
下面两则linux(我使用的是Fedora 4版本) 的技巧还是很实用的,第一条主要针对多windows/linux系统环境下,恢复grub。这里只给出总的修改原则,具体问题还要具体分析一下
【 一 】恢复grub
(1)使用Fedora安装盘启动系统,输入:linux rescue后回车,进入到rescue模式;
(2)在进入到rescue模式后,通常的做法是:chroot /mnt/sysimage,这时候你所安装的Fedora已经成功的mount到了/mnt/sysimage下(也有可能在 search installed Fedora的时候出现error,这时需要其它办法)。
(3)正常情况下,输入:grub-install hd0 即可搞定,如果搞不定,在grub命令行下使用root/setup方法。
【 二 】root密码修改
(1)在进入grub 启动界面时选择linux,并按键盘上的e键
(2)可以看到如下三个选项:
root (hd0,0)
kernel /boot/vmlinuz-2.6.15-1.2054_FC5 ro root=LABEL=/1 rhgb quiet
initrd /boot/initrd-2.6.15-1.2054_FC5.img修改其中的 kernel /boot/vmlinuz-2.6.15-1.2054_FC5 ro root=LABEL=/1 rhgb quiet
变成:kernel /boot/vmlinuz-2.6.15-1.2054_FC5 ro root=LABEL=/1 single rhgb quiet
(3)按回车退出修改界面。
(4)按键盘上的"B"键,启动系统,进入命令行界面。
(5) vi /etc/passwd 取消root用户的密码,
即修改第一行:root:x:0:0:root:/root:/bin/bash
去掉或者删除第一个“冒号”后面的"x",使之变成:root::0:0:root:/root:/bin/bash
(6)保存修改,reboot即可。再次启动登陆时root密码即为空了。
---------------------------------------------------------------------------------------------正常情况下grub.conf和passwd文件的内容如下:
[root@localhost grub]# cat grub.conf //显示grub.conf内容
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You do not have a /boot partition. This means that
# all kernel and initrd paths are relative to /, eg.
# root (hd0,0)
# kernel /boot/vmlinuz-version ro root=/dev/sda1
# initrd /boot/initrd-version.img
#boot=/dev/sda
default=0
timeout=5
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
hiddenmenu
title Fedora Core (2.6.15-1.2054_FC5)
root (hd0,0)
kernel /boot/vmlinuz-2.6.15-1.2054_FC5 ro root=LABEL=/1 rhgb quiet
initrd /boot/initrd-2.6.15-1.2054_FC5.img
title windows
rootnoverify (hd0,3)
chainloader +1
---------------------------------------------------------------------
[root@localhost grub]# cat /etc/passwd //显示密码文件内容
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin........................................还有很多,在此省略。
【 三 】附加一个修改屏幕分辨率的命令
# system-config-display
-
【转贴】网易创始人丁磊的真实笑话 - [文摘收藏夹]
2007-07-05
本文... -
【推荐】【电影】热血警探. Hot Fuzz(2007) - [文艺我的爱]
2007-07-03
热血警探 Hot Fuzz,没看过的赶紧去下,英式电影风格,很好看!!

-
【日志】改名为流水帐 - [有话说的日子]
2007-06-26
(一)上周末给CyberArticle反映了一个图片无法显示的问题,而且我定位到了是什么原因引起的。早上得到了魏拾俊的回应。
他很认真,给我一个带有调试信息的版本让我来运行,然后与他交流。后来他定位到了问题出在哪,修改后,传给我一个新的安装文件,这个问题算是解决掉了。呵呵,他还说我帮他解决了一个问题,要送给我一个注册号,我当然是欣然接受了! 以后使用网文快捕就可以没有限制了,全功能专业版啊!!
另外,李云建要回上海了,会待一周。已经联系好,周末给他接风,有机会的话我还是想多见见我的同学们,要不一年到头就过年那几天,还不一定谁都有时间!
(二)晚上开《杀出个黎明》,这片子集两大鬼才电影人呢啊,昆汀编剧、主演,罗德里格兹导演。看到一半的时候终于理解了片名是什么意思,风格转换太突然了。当萨耳玛海耶克变身的时候,我还没反映过来呢。呵呵,找得中文字幕里面说海耶克是“一代妖后 罪恶之花史上最淫邪的魔姬”。
完。
-
这片子挺好看的,正在下《云水谣》...... - [文艺我的爱]
2007-06-25
06.24.07.Teeth.of.Love.2006.DVDRip.XviD-NewMov_爱情的牙齿_0.7G
片子不错,挺特别的,想起了前一阵子颇受好评的《云水谣》、看完后还想看看《我们无处安放的
青春》。

◎译 名 爱情的牙齿
◎片 名...


