成都小游【11P】

此次算是毕业旅行吧,一共 8 天,去一天,回一天,剩余 6 天,成都市内 2 天,九寨沟黄龙等 4 天,大部分时间是花在路上。

成都市内风景没什么特别的,无非是宽窄巷子,锦里,春熙路,然后还有个东北边的熊猫基地。吃的倒是蛮多的。人民公园里面的鹤鸣茶社很有特色;蜀九香味道很好,点的微辣,服务类似海底捞;陈麻婆豆腐倒是一般,没什么特别的;春熙路上的龙抄手总店倒是不错,钟水饺很好吃;然后最后一天住在西玉龙街小福建营巷子里的凉拌面也不错,不过口味都比较重,偏闲偏辣,估计成都人的高血压的比较严重。

某天晚上去春熙路吃完闲逛,看到 breadtalk,进去人山人海,都在抢面包,感觉面包不要钱似得;二环内大兴土木,三环外更加严重,两边全是房地产广告。室内交通可能是由于修建二号线的缘故更是一塌糊涂,不比北京好到哪里去。由此 YY:成都市人民日益增长的物质财富需求跟落后的生产力,基础设施之间有着比较严重的矛盾。

接下来的四天都是在成都以北的山间地区度过,这四天是跟团走的,就花了那么多钱,因此服务啥的不说了。跟室内相反,吃的比较差,但是风景确实很漂亮。从成都到九寨沟要差不多8、9个小时的样子,沿 G213 国道,路过了 512 遗址,海拔 3k 左右,沿途风光也很不错,晚上到沟口,出现间歇性的有高原反应,表现为呼吸困难,第二天以后缓解,基本恢复正常。

第二天去九寨沟,美的就不形容了。

第三天上午去了一户藏民家,靠近小西天嘎米寺,听藏民背背书扯扯蛋,讲讲党对藏族人民是多么的好,从话语中可以判断,这地方还是比较贫困的,思想也比较落后,家里挂着老毛和胡 core 的画像。不过有一点值得肯定的是,据他们介绍,藏民很有信仰,比如不是自己的东西坚决不要等等,这个跟大部分没有信仰的一味只向钱看齐的汉族相比,不知要高尚多少倍。下午去黄龙,海拔最高 4km 的样子,花 100 淫民币买盒合红景天,吃了几支貌似没啥不适。沿途风光雄伟壮观,蓝天白云,牦牛悠闲吃草。但是黄龙景区的风光跟九寨沟比相差不少。

最后一天返回。

总的来说,此次出行,最大的感受就是成都(非市内)的环境特别好,天很蓝,水很清,空气很清新,真是花钱买新鲜空气呼吸来着。 Continue reading

毕业

第一年好好学习,奖学金满满以及认识了某只小熊猫。
第二年开始不务正业,研究科学上网,原来除了北朝鲜之外,还有一个与之遥望的「大哥」。
接下来的一段时间有机会看到一个团队慢慢长大的过程,当自己置身在一群学校名气比你大,学历比你高,技术比你牛逼的团队当中的时候,才发现自己的渺小。这一年进步确实不少,不管是技术、思维还是做事的方式。最享受的是能搞定一个又一个的挑战,那种山重水复疑无路,柳暗花明又一村的感觉至今难忘,这或许就叫「存在感」吧。

能在学校摸到服务器相比敲敲代码并不是件很容易的事,特别要感谢陈云芳老师对我的培养和信任,俗话说的「师傅领进门,修行在个人」大概指的就是这个意思吧。

再见的依然会再见,不见的一辈子都不见。

How time flies

4 years passed

goodbye

Linux Kernel in a Nutshell 笔记(四)

7.Customizing a Kernel

判断系统需要哪些驱动的最简单的办法就是查找发行版本内核的配置;或者可以查找 /proc/ 下面的 config.gz 文件:
$ ll /proc/config.gz
-r–r–r– 1 root root 31089 May  1 20:40 /proc/config.gz
$ cp /proc/config.gz ~/linux
$ cd ~/linux
$ gunzip -dv config.gz

解压之后将其复制到 kernel 的顶层目录,然后就可以参照之前的步骤编译了。当然不是每个系统都有 config.gz 文件,这个要看当初该内核的配置文件里面有没有下面这两行:
$ cat /boot/config-$(uname -r) | grep -i ikconfig
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y

如果没有的话,就不会在 /proc/ 下面发现 config.gz 文件了,可以在编译内核的时候加入下面的选项:
General setup —>
<*> Kernel .config support
[*] Enable access to .config through /proc/config.gz
Continue reading

Linux Kernel in a Nutshell 笔记(三)

5.Install and Booting from a kernel
6.Upgrading a Kernel

通过 make 得到了可执行的二进制文件以及内核模块,接下来需要安装,下面所有的步骤都需要 root 权限。

大多数发行版本都有个叫 installkernel 的脚本,该脚本可以将内核安装到正确的位置并且修改 bootloader,该脚本通常位于 mkinitrd 的包中。ubuntu 下的叫 initramfs-tools:
$ sudo apt-cache show initramfs-tools | head
Package: initramfs-tools
Priority: required
Section: utils
Installed-Size: 432
Maintainer: Ubuntu Kernel Team <kernel-team@lists.ubuntu.com>
Original-Maintainer: Debian kernel team <debian-kernel@lists.debian.org>
Architecture: all
Version: 0.92bubuntu78
Provides: linux-initramfs-tool
Depends: initramfs-tools-bin (= 0.92bubuntu78), klibc-utils (>= 1.5.9-1), busybox-initramfs (>= 1:1.13.3-1ubuntu5), cpio, module-init-tools, udev (>= 147~-5), findutils (>= 4.2.24), util-linux (>> 2.15~rc1)
Continue reading

Linux Kernel in a Nutshell 笔记(二)

3.Retrieving the Kernel Source
4.Configuring and Building

过去,kernel 被划分为两棵树,"development" 和 "stable" branch,前者的发行版号的第二位是奇数,而后者是偶数,2.5.25 就是 development 版本,2.4.25 则是稳定版本。但是自从 2.6 版本之后,内核开发不再区分这两种情况,而统一称为 "stable"。kernel team 发行版了 2.6.17 版本,接着开发人员继续开发新的功能,将其命名为 2.6.18-rc1,2.6.18-rs2 等,直到成熟了变为 2.6.18,而原来的 2.6.17 版本则由于各种 bug 的修复已经安全等升级变为 2.6.17.1,2.6.17.2 等版本。

下载源码文件:
$ wget -nd -r -b ftp://ftp.kernel.org/pub/linux/kernel/v2.6/longterm/v2.6.32/linux-2.6.32.28.tar.gz
$ mkdir ~/linux
$ mv linxu-2.6.32.28.tar.gz linux; cd linux
$ tar zxvf *tgz.gz

接下来需要生成内核配置文件 .config,在刚刚解压下来的 linux-2.6.32.28/ 目录下,并没有 .config 文件,因此需要我们创建。可以 "白手起家",根据默认配置创建,从当前运行的 kernel 创建或者从一个发行版本的 kernel 中获取,这里先涉及前两种方式。
Continue reading