Le's profileSomething like a home pa...PhotosBlogListsMore ![]() | Help |
|
October 29 龙芯怎么能发展龙芯需要和自由软件社区友好的合作才能发展 可悲的是 龙梦论坛充斥着一批对自由软件完全不了解,甚至充满了曲解和误解,甚至有时候会对自由软件恶语相向并且事后无一点悔意的人乃至版主…… 如果用一个成语来描述他们的话,那就是叶公好龙 不可否认他们对龙芯是有热情的,而且有人也懂一些mips,但是相信他们实际生活中根本不用Linux,推论就是根本不用龙芯 他们对所有的和“自主知识产权”沾点边的东西都有一种自然的好感,而不管那些东西到底是否有一丁点价值 http://www.lemote.com/bbs/viewthread.php?tid=19192 更可悲的是 龙梦官方对这种情况视若罔闻,完全无作为 实在令人寒心 I will write this in English and publish on gentoo planet, bring this issue to a much wider audience. October 28 公司里来了个来取经的巴西哥们名叫Daniel 个子和我差不多高 说话声音很轻柔,不想我想象中的巴西人 家在圣保罗州的Campinas 最喜欢的球队圣保罗 最喜欢的欧洲联赛:西班牙,意大利 不太怎么玩winning eleven 不能吃辣 早年喜欢踢街头5人制足球,最近不怎么踢了 Daniel说他基本技术还行,但是那种超高难度的,比如后背停球,就不行了 明天上班老板让我带个足球,让Daniel显露一下球技 今天开了regional hk-based yahoo all hands meeting 明确了香港也会加入这次全球10%的裁员计划 计划12月初搞定 之后去海吃了一顿,吃的我走不动路,现在还撑的慌 October 27 令龙芯2E盒子可以使用libata的补丁http://www.nabble.com/-PATCH--lemote-lm2e%3A-added-io_map_base-to-pci-controller-td20190522.html 这是我第三次发布了 相信这次应该可以了 为了这个补丁,我还专门复习了一下内核启动过程 更新一下: 已经apply了 据有关统计只给Linux内核贡献过一个补丁的人,占贡献过的总人数的一半 现在我已经脱离了这个阵营,进入了另一半,哈哈 龙芯2E盒子,串口,USB键盘通过串口操作pmon时,盒子上不能插着键盘 否则,宿主机键盘不起效 October 26 fuse真是个好东西 现在,我的笔记本能不能读这张新买的卡,已经完全无关紧要了 因为有了obexfs obex是蓝牙的协议栈里的一种,是object exchange的缩写 用于在蓝牙设备之间传文件 obexfs就是基于fuse的一个文件系统 利用它可以通过蓝牙直接把手机挂载到系统的一个目录里 然后想干嘛就干嘛 爽啊 现在我在/etc/fstab里加入这么一行 obexfs#-b00:23:39:40:2B:05 /mnt/phone fuse allow_other,user 0 0 以后每次想和手机交换文件时,只需要 mount /mnt/phone 然后手机上输入pin,然后kde会弹出一个对话框,输入一样的pin 然后就挂载上了 October 25 玩了一把蓝牙 真的很惭愧,用了4年半的笔记本才知道原来是有蓝牙支持的。 今天给新手机买了个卡。本来买的是4G的。没有想到的是,手机支持的卡的容量居然有上限。 我只好拿下去换了个2G的。老板找还给我80块钱。 这老板是个好人,尽管这样,我想他心里也不会是那么的舒服。毕竟到手的买卖跑了一半。 我只好说,“真不好意思,本来想买个大的,结果居然用不了……” 然后,卡果然可以用了。 但是,套上SD卡的外套插到笔记本(话说我这笔记本真的是当时市面上超强的型号)上的时候,居然发现无法正确读取。 之前那个4G倒是没有问题。话说那个4G的卡我还回去的时候里面还有一个周杰伦的专辑…… 也罢,不如试试蓝牙。 我的笔记本支持蓝牙么?上网搜了一会,没有什么头绪。 不过,搜bluetooth linux的时候,发现了gentoo的bluetooth guide http://www.gentoo.org/doc/en/bluetooth-guide.xml gentoo和我的笔记本一样的可爱,急人之所急 然后照葫芦画瓢搞定了蓝牙设定 October 23 又发了一次2E盒子io_map_base的补丁http://www.nabble.com/-PATCH-1-2--defined-LEMOTE_IO_PORT_BASE-for-Lemote-Loonson-2E-box%27s-IO-base-to20133268.html 上次发,人家给指出问题了 后来我看了一下其他平台的做法 用了一个现成的macro 这次应该行了吧 btw, 连续两次发,第二封email都成了第一封的回复 原来git send-email要加个--no-thread参数 或者在~/.gitconfig里配置一下 自由开源软件中的9个态度问题 http://itmanagement.earthweb.com/osrc/article.php/3778096/Nine+Attitude+Problems+in+Free+and+Open+Source+Software.htm 学而不思则罔 2) Talking Software to outsiders ... In the same way, instead of talking about software or its licenses, the FOSS community needs to talk more about issues such as consumers' rights and privacy and free speech -- matters that extend far beyond the keyboard and terminal. 4) Hostility to newcomers ... Too often, I've seen well-meaning, if uninformed newbies lose interest in learning about FOSS because their basic questions provoked rude replies in which "RTFM" featured as a prominent comment. 5) Giving the developer a special position ... FOSS began among developers, and their work remains central to the movement. But what many people haven't noticed is that the community has grown far past its origins. Especially in large projects, documenters, testers, artists, marketers and managers -- to say nothing of general end users -- have all become essential contributors. Increasingly, a FOSS software release is becoming a collaboration among people of different skill sets. October 21 龙芯2F处理器GCC 4.4优化探秘2e盒子与libata 尝试使用2.6.27.2内核加kgdb的同时,想换用libata 结果启动失败 原因是2e盒子没有定义pci_controller里的一个成员.io_map_base 龙芯内核oops(续I) 为了解决这个问题,首先学习了一下oops-tracing.txt 了解了make path/to/file.s就可以直接编译出.s 然后objdump -d了一下之前编译内核留下来的fs/ext3/inode.o 找到了案发现场: Disassembly of section .text.ext3_get_branch: 00000000 <ext3_get_branch>: .... 2c: 8cc20000 lw v0,0(a2) 案发时pc指向这条指令 8cc20000 从oops的信息可以看到,此时a2寄存器里的值是 00000003 结合代码分析,这应该是一个指针 但这个指针的值显然有问题 October 20 龙芯内核oops 之前在2e上用2.6.25的时候,经常发生几个进程处于(top里的)D状态,然后杀不死 最后只能重启 以为新版本可能会消失 结果2.6.26还有 我这时才想起看dmesg,结果发现了这个 Unhandled kernel unaligned access[#1]: Cpu 0 $ 0 : 00000000 00010000 8f0abd70 8f0abd40 $ 4 : 8e020080 00000003 00000003 8f0abd70 $ 8 : 8022be30 8028453c 00000000 00000000 $12 : 8e2ef560 48fc1167 7fc4b300 8e247cd0 $16 : 00000001 00000000 00000000 8e020080 $20 : 8f0abd40 8f3a5000 8f0abd50 000044b2 $24 : 00000000 8022abc0 $28 : 8f0a8000 8f0abcf8 00000000 8022b088 Hi : 1201350d Lo : 4a4b2b02 epc : 8022993c ext3_get_branch+0x2c/0x144 Not tainted ra : 8022b088 ext3_get_blocks_handle+0xd8/0xe80 Status: 1000a403 KERNEL EXL IE Cause : 10000010 BadVA : 00000003 PrId : 00006302 (ICT Loongson-2) Modules linked in: nfsd lockd nfs_acl auth_rpcgss sunrpc exportfs iptable_nat nf_nat nf_conntrack_ipv4 nf_conntrack xt_tcpudp iptable_filter iptable_mangle iptable_raw ip_tables x_tables snd_seq_dummy snd_seq_oss snd_seq_midi_event snd_seq snd_pcm_oss snd_mixer_oss snd_via82xx snd_ac97_codec ac97_bus snd_pcm snd_timer ohci_hcd snd_page_alloc snd_mpu401_uart snd_rawmidi atkbd 8139too ehci_hcd snd_seq_device i2c_viapro i2c_core snd 8139cp uhci_hcd Process kjournald (pid: 796, threadinfo=8f0a8000, task=8f0ea380, tls=00000000) Stack : 8f0abe38 8022b0c4 8f631de8 8f045ec0 00010001 00000001 00000000 00000000 8e020080 00000000 8f0abe60 8022b088 0000000d 00000010 0000009e 804e0120 8f0abd40 80278c38 00000000 00000359 8e020034 0000091e 0000000d 00000010 000000a6 8e3452d0 88247278 000049ce 8eeaa060 00000001 8e020034 0000091e 00000000 85c12040 0000492f 8e3452d0 88247294 000049d5 8eeaa060 00001000 ... Call Trace: [<8022993c>] ext3_get_branch+0x2c/0x144 [<8022b088>] ext3_get_blocks_handle+0xd8/0xe80 [<8022beac>] ext3_get_block+0x7c/0x110 [<801c33b4>] generic_block_bmap+0x34/0x44 [<80241184>] journal_bmap+0x30/0xb0 [<8023b684>] journal_commit_transaction+0x7cc/0x1ee8 [<80240e68>] kjournald+0xe0/0x220 [<80140fec>] kthread+0x58/0xa4 [<801039e0>] kernel_thread_helper+0x10/0x18 Code: afb50028 8c95008c ae800000 <8cc20000> 2484ff80 00021080 00822021 ace40000 8c820000 准备好好看看这个问题 为什么公司会支持Linux开发?From http://www.linuxfoundation.org/publications/linuxkerneldevelopment.php 没有一家公司支持Linux是出于慈善目的 每一家公司支持Linux都是因为Linux可以让它们在它们各自的市场里更有竞争力 从下文可以看到,这些公司可以分这么几类: 1. 造CPU的 2. 做发行版的 3. 做家电/手持设备的 4. 非IT技术公司,例如大众…… The list of companies participating in Linux kernel development includes many of the most successful technology firms in existence. None of these companies are supporting Linux development as an act of charity; in each case, these companies find that improving the kernel helps them to be more competitive in their markets. Some examples:
There are a number of good reasons for companies to support the Linux kernel. As a result, Linux has a broad base of support which is not dependent on any single company. Even if the largest contributor were to cease participation tomorrow, the Linux kernel would remain on a solid footing with a large and active development community. October 18 Gentoo的less今天上水木,偶然看到有人说gentoo的less可以看ELF文件和HTML 试了一下 less /bin/ls 果然可以 应该是调用了readelf -a strace -f 看了一下,调用了lesspipe.sh locate了一下lesspipe.sh 发现有这个文件 /usr/portage/sys-apps/less/files/lesspipe.sh 这个文件里有这么一句注释: # Preprocessor for 'less'. Used when this environment variable is set: # LESSOPEN="|lesspipe.sh %s" 然后看了一下ebuild src_install() { emake install DESTDIR="${D}" || die dobin code2color || die "dobin" newbin "${FILESDIR}"/lesspipe.sh lesspipe.sh || die "newbin" newenvd "${FILESDIR}"/less.envd 70less dodoc NEWS README* "${FILESDIR}"/README.Gentoo } 然后看了一下/usr/portage/sys-apps/less/files/less.envd LESSOPEN="|lesspipe.sh %s" LESS="-R -M --shift 5" 然后man了一下less 了解了一下INPUT PREPROCESSOR 至此,真相大白 这,就是一个hacker应该具备的刨根究底的精神,以及独立寻找答案的能力 Linux Foundation End User Summit wrap-uphttp://lwn.net/Articles/303578/ Linux Foundation End User Summit是最近刚刚结束的在纽约举行的一个会议 看看这一串参与这个会议的公司名字: Credit Suisse, CME, AIG, Merrill Lynch, Dreamworks, NYSE,前途是光明的…… October 17 见到了Andrew Lee最早和Andrew开始打交道是从给stardict写补丁开始的 后来facebook互加了好友 一直没有见过面 他刚刚在挪威奥斯陆参加了一个skolelinux的会议,回台湾的过程中在香港中转一下 他穿着一件很有古风的长外套 背着一个好像是台湾原住民手工制作的布袋 卷发 带着眼睛 很有个性 他讲了很多LXDE的事情 我原来只是知道他似乎参与了这个项目 没想到他对这个项目这么的看重 他的眼中,LXDE要成为能和GNOME/KDE分庭抗礼的源自亚洲的DE 他说现在LXDE在欧美受到的关注要比在我们这里多很多 这点我也略有体会 Gentoo也有了LXDE overlay 而且特别巧的是,我也最近刚刚在我公司的笔记本上装了LXDE 难道冥冥之中有些事早已注定…… 他准备明年在台湾搞个netbook developer的会议 争取拉netbook的厂商来赞助 每个developer发一个,-_- (当然这只是构想) 我的passport估计要过一两个月才能好 所以他说时间可能暂定一月中,好感动 吃完饭之后,我和他还有Fai去参加了hkpug(hk pda user group)的一个聚会 其实就是卖eeepc s101的 确实挺漂亮,挺薄 不过对我没啥吸引力,如果用龙芯还差不多,呵呵 ps: 这次聚会又有抽奖,我又中奖了,一对日本买来的喇叭。看来今年运气还不错阿 Code Monkey http://www.jonathancoulton.com/mp3/Code%20Monkey.mp3 http://www.leoslyrics.com/listlyrics.php?hid=%2Fm03GGhfPAk%3D 我们之前的manager也叫Rob....小名Rob... October 15 我对计算机世界实验室即将发布的龙芯测评的评论 写这篇文章的时候,我居然有了一种小时候写作文的感觉,-_- 很正式的打腹稿,犹豫半天竟不知怎样落笔 最后挤出了这么点字,但愿还能不负老韩所托 做为一个从很早就开始关注龙芯并贡献龙芯的自由软件社区的参与者,能参与计算机世界实 验室的此次测评并受邀撰写此篇评论,甚感荣幸。 我目前有两台龙芯盒子,皆是龙梦公司所捐赠。一台2E盒子,去年得到的,目前运行着 Gentoo中文[1]。一台2F盒子,目前主要用来测试GCC 4.4每周发布一次的快照。运行的操作 系统都是Gentoo Linux。 目前尚未正式发布的GCC 4.4将是首个官方正式提供龙芯支持的主流编译器。提供的支持主要 包括提供了对龙芯的向量指令的支持以及这些向量指令的intrinsic,增加了龙芯所支持的 MIPS4/MIPS5指令集的部分指令,还有针对龙芯的流水线模型和调度器的优化。 这些支持究竟可以带来多大的性能提升,以及不同的ABI的表现如何,都是我很感兴趣的问 题。所以这次测评我也是投入了很多精力。结果也基本如事先所料。龙芯的支持在很多方面 得到了正面的反映。ABI方面,在网络应用/科学计算方面,N64当是不二之选;桌面上, O32也未尝不是一个好的选择,毕竟还有很多程序如果使用64位ABI会出现bug[2]。此次 测评的遗憾在于,没有现成的使用N32的二进制Linux发行版,而且也没有足够时间去自己 构建一个,而没能完成N32 ABI的完整测评。 值得一提的是,如果应用程序可以使用GCC提供的龙芯向量指令intrinsic(GCC提供的 loongson.h头文件中有定义),那么程序表现还会有更高提升。目前似乎还没有音频或者 视频处理库或者软件增加了这方面的支持。这是以后要做的。 还有就是即使是N64/N32 ABI也还存在有一定的问题[3],所以有人提出了NUBI[4][5]。这或 许是未来MIPS ABI的归宿。只是最近一两年以来社区里并没有NUBI的任何讨论,不知道前景 到底如何。 未来最好能有一个发行版可以提供完美的multilib支持。也就是一个系统里可以同时支持这 3个ABI。CLFS已经有文章[6]可以做出这样的一个系统。不过LFS的升级是个很麻烦的问题。 Gentoo曾经有人做过这方面的尝试。未来有时间我准备做一做这方面的研究,希望可以搞 一个这样的系统出来。 [1] http://www.gentoo-cn.org [2] http://www.linux-mips.org/wiki/TheCaseForN32 [3] http://www.linux-mips.org/wiki/WhatsWrongWithO32N32N64 [4] http://www.linux-mips.org/wiki/NUBI [5] http://www.linux-mips.org/wiki/IntroducingNUBI [6] http://www.linuxfromscratch.org/clfs/view/1.0.0/mips64 |
|
|