Posts

about gentoo-cn.org

There's been some problem renewing this domain. We might as well abandon this domain name altogether and switch to gentoo-zh.org. Actually I have already registered the later one. Probably will set it up this weekend. Meanwhile you can access the site using zhangle.is-a-geek.org. Everything works fine, except sub domains, like {planet,irc...}.gentoo-cn.org. Sorry for the convenience caused, if any.

gentoo-zh overlay

So gentoo-china and gentoo-taiwan overlay will merge. The new overlay will be called gentoo-zh. I have already added gentoo-zh overlay to repositories.xml based on which layman-global.txt is generated. Thanks to microcai for merging the repository of these two projects. EDIT: sorry there is an error about the source type. already fixed.

New job, New life

So, as some of you may know, I have just settled down in San Jose, CA. My new job is Site Reliability Engineer in Google Mountain View office. I would like make some new friends here. If you live nearby, let me know, ;)

Linux 2.6.35 + glibc compiled with >linux-header-2.6.34 == Unusable MIPS N32 System

getdents64 was added to N32 ABI during 2.6.35 merge window. But it has a problem which is later fixed by a patch merged in 2.6.36 window. IIRC, readdir in glibc works with both getdents and getdents64, and it prefers getdents64 if it is available. So if your glibc is compiled against linux-header-2.6.35 and upwards, readdir will use getdents64, but on Linux 2.6.35 it actually calls getdents. So readdir will be confused. As a consequence, you will have problems accessing files. The system will be effectively unusable. So if you have encountered this problem, pray that you have another system which could boot the machine. Compile a kernel 2.6.36 or upwards and use it to boot the system. Then you should be able to get your system back.

MIPS N32 Firefox

Almost forget to mention, now with this workaround http://bit.ly/d5rBqp , N32 firefox-3.6.8 is working again. I am still trying to fix the binutils bug. http://sourceware.org/bugzilla/show_bug.cgi?id=11956 I am feeling that I am not far from a break through. BTW, Shenzhen Linux User Group will celebrate Software Freedom Day 2010 on this Saturday. If you happen to be in town by then, do drop by, ;) http://bit.ly/sz_sfd_2010 If you can come, and don't understand Chinese, I am always ready for help. ;)

Loongson 2F N32 stage3 is now available on gentoo mirrors

It is under experimental/mips/stages/loongson/. Like: http://mirrors.xmu.edu.cn/gentoo/experimental/mips/stages/loongson/ I should have done it long ago, just don't familiar with catalyst and catalyst lacks documentation. Thanks to leio and robbat2 for making it happen. http://bugs.gentoo.org/show_bug.cgi?id=330021 I have already included kernel modules in the stage3. You can find the corresponding kernel here: http://www.gentoo-cn.org/~zhangle/ If you want to build your own kernel, use the source here: http://dev.lemote.com/code/linux-loongson-community/wiki/WikiStart You also need loongson overlay. Just use layman to add it. Of course you need to emerge layman first. http://www.gentoo-cn.org/gitweb/?p=loongson.git;a=summary If you find portage ask you to downgrade packages, you can try this trick ACCEPT_KEYWORDS="x86 ~x86 ~mips" However you need to understand that there is no guarantee that software installed in this way would work. But at least some of them will work.

Type special characters in xterm in N900

Image
UPDATE: The build failed because of gcc's multislot USE flag(seed stage has it while catalyst can't set USE for stage3). I was on a trip so there is actually no progress for the last 5 days. Sorry. I have worked around it. Now rebuilding. First, sudo gainroot. Then run the following two commands: /home/user # gconftool-2 -s /apps/osso/xterm/key_labels -t list --list-type=string '[Tab,Esc,~,`,|,>,<]' /home/user # gconftool-2 -s /apps/osso/xterm/keys -t list --list-type=string "[Tab,Escape,asciitilde,grave,bar,greater,less]" Then restart your xterm, you will see the bottom bar looks like the one showing in the following picture: This picture shows that I am building new stage3 for Loongson 2F, N32 ABI, ;)

FEATURES installsources not working on MIPS?

Update 2010-07-09: the patch received upstream attention. The maintainer said it's better to send to rpm-devel@rpm5.org directly. Update: just reported to upstream http://rpm5.org/cvs/tktview?tn=61 I resumed my quest to xulrunner linking problem on Loongson: http://old.nabble.com/R_MIPS_TLS_GD-reloc-overflow-when-linking-%3E%3Dxulrunner-1.9.1.5-td26755056.html But I found that "installsources" FEATURE is not working on Loongson. I investigated it and found that it is because debug.sources file produced by debugedit is empty. Then I found that in turn was because debug related sections in MIPS elf file is not of type SHT_PROGBITS, but SHT_MIPS_DWARF. [32] .debug_aranges MIPS_DWARF 00000000 0845c4 0002c0 00 0 0 1 [33] .debug_pubnames MIPS_DWARF 00000000 084884 001a2a 00 0 0 1 [34] .debug_info MIPS_DWARF 00000000 0862ae 015221 00 0 0 1 [35] .debug_abbrev MIPS_DWARF 00000000 09b4cf 002c9a 00 0 0 1 [36] .debug

Show real swap usage for each individual process

Image
Update: the kernel patch is already in 2.6.34-rcN. Currently, in top, the SWAP column only shows the difference between VIRT and RES: case P_SWP: MKCOL(scale_num(PAGES_TO_KB(p->size - p->resident), w, s)); So currently the value is of no use. As a matter of fact, a recent enough kernel has provided the information which is needed to calculate the swap usage for each process. It is in /proc/$PID/smaps. But using smaps may affect top's performance because you have to calculate the sum yourself. But with this patch https://patchwork.kernel.org/patch/56929/ , the kernel will keep track of each process's swap usage for you. This patch (maybe not exactly in the same shape) is already in mmotm tree ( http://userweb.kernel.org/~akpm/mmotm/ ) 2.6.34-rcN. However, checking the /proc/$PID/status file directly may not be a thing which people would like to do. So I decided to make a patch for ps and top. Now it seems to be working. This is the vanilla ps: $ ps -o m_swap,comm

Generate coredumps automatically in specified directory

If you are into investigating coredumps, or you are just curious about how many processes have coredumped, then this is for you: 1. add the following line to /etc/security/limits.conf * - core unlimited 2. add the following line to /etc/sysctl.conf kernel.core_pattern = /corefiles/core.%e.%p %e is the executable filename, %p is pid. Please check the "Naming of core dump files" section of man 5 core for more information on this. 3. run "sysctl -p", then logout and login. Or just reboot. This is what I have on my Yeeloong: $ ls /corefiles/ core.genstrings.11832 core.nscd.10278 core.nscd.12821 core.nscd.13617 core.nscd.23172 core.nscd.29367 core.nscd.6428 core.genstrings.18210 core.nscd.10281 core.nscd.13061 core.nscd.13620 core.nscd.23175 core.nscd.29368 core.nscd.6431 core.main.19478 core.nscd.10284 core.nscd.13064 core.nscd.19028 core.nscd.24042 core.nscd.29369 core.main.19702 core.nsc

Gentoo Penguins

One of my friends has been to Antarctica. She has taken some photos of Gentoo Penguin. Enjoy! (and sorry the blog is in Chinese. :P) http://blog.sina.com.cn/s/blog_657eb8a70100h34p.html

Germany Training confirmed

Anyone in Nuremberg? ;) Activity : Linux Kernel Internals and Crash Dump Analysis Activity Code : Linux-IHC-001 Type : Internally Held Classroom From : 01/26/2010 To : 01/28/2010 Facility: EMEA - Nuernberg, DEU

silent splash progress bar does not progress

I got a laptop from my employer (Novell) nearly 3 months ago. I installed both Gentoo and SLED in it. I didn't setup fbsplash on it when I installed Gentoo. I tried it today. However, I found the progress bar in silent mode did not progress. It stayed at "Initializing kernel", 0%. Finally, I found the reason was that I didn't have "/lib/rc/plugins" directory and as a consequence splashutils openrc plugin splash.so can't be installed into this directory. And that's why the progress bar does not progress. I think maybe it is a bug in openrc. But I am not sure and I can't investigate it further today, it is already 3 pm. :( So I just left a note here. :)