Monday, February 26, 2007

kgdb and 64bit loongson kernel

The kernel crashed at last.
But it didn't drop into gdb.
I have set up a breakpoint at panic(), so it is not a panic.
My speculation proved wrong, and I have no idea what went wrong here.
I will give up for the time being.
Gotta read some books and help to make the 32bit loongson port stable.

Sunday, February 25, 2007

gorg on loongson box

I have successfully run gorg on my loongson box.
Find more info about gorg here: http://gentoo.neysx.org/mystuff/gorg/gorg.xml
more info about loongson here: http://en.wikipedia.org/wiki/Loongson

Saturday, February 24, 2007

kgdb

最近在玩kgdb
似乎人们对于kgdb的热情不高
现在sf.net上cvs里的kgdb只能打在2.6.17内核上
目前的龙芯用的是2.6.18.1,好在要改动的地方不是很多,也不难
kgdb管理补丁用的是quilt,稍微看看man就明白了,用起来很方便
其实vanilla 2.6.18.1里也有一个kgdb选项,但实际上似乎是不能用的,连个断点都设置不了
之前我编的内核有两个问题,一个是网络传输速度慢,scp的时候经常断,如果用debian,速度恒定保持在2.x
M/s,一个是字符界面在显示器上显示不出,显示器报告超出范围,debian里正常。我之前用的是从dev.lemote.com里checkout出来的内核代码里面自带的配置文件,稍做了改动。后来我用了debian的/proc/config.gz,就好了。可是我对比两个config也没看出有什么差异可以导致这两个问题。目前还是一个谜。
最后玩kgdb光靠串口来控制还是不行,现在continue之后,gdb里显示到free多少多少memory之后,就没有任何信息了,但是在显示器上可以看到实际上已经成功启动了。
kgdb真的很爽,如果想让目标机器的内核停止运行,并等待被开发机器上的gdb连接和控制,只需要在开发机器上执行
echo -e "\003" > /dev/ttyS1

Wednesday, February 14, 2007

gentoo's mips toolchain

Gentoo's mips64el toolchain(created by 'crossdev') support n32 by default.
However, I want o32.
Good news is I don't need mips64el, instead I need mipsel.
Thanks to spbecker for pointing it out to me.
I think mips64 here is the name of processor architecture.
Apparently loongson doesn't belong to that category.

Saturday, February 10, 2007

按音序排序的utf8和gb18030 locale

https://gro.clinux.org/frs/download.php/1962/locale-pinyin-0.1.tar.gz
下载后,解压缩
cd locale-pinyin-0.1
make
sudo cp zh_CN.hacked /usr/share/i18n/locales/zh_CN
sudo cp iso14651_t1.pinyin /usr/share/i18n/locales/
locale-gen

修改/etc/env.d/xxi18n,如果LANG不是zh_CN.utf8,一定要单独设定LC_COLLATE
 $ cat /etc/env.d/100i18n
LANGUAGE=en_US
LC_CTYPE=zh_CN.utf8
LC_COLLATE=zh_CN.utf8
LANG=en_US.utf8

the difference between GB18030 charmap of redhat's glibc and that of GNU's glibc

GB18030 charmap of redhat's glibc is different from that of GNU's glibc.
I don't know exactly what this difference means to users.
But I wonder why this difference exists.

Get the former at http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/localedata/charmaps/?cvsroot=glibc
Get the latter at http://www.gnu.org/software/libc/resources.html#projectweb

I've created a diff which could be get here: http://robert.zhangle.googlepages.com/diff