摘要:
This may be my last blog here, from now on, I'm going to change my blog to github.com.And I think the new URL of my blog is gaowanlong.github.com.Wanlong Gao 阅读全文
摘要:
I have been searching the Internet for the RAM-based filesystem in Linux. There are many posts and each one describes its solution and configuration well. However, after reading few of them, it may seem a little confusing because there are 3 different mechanisms -ramdisk, ramfs and tmpfs- to create 阅读全文
摘要:
好长时间没有写博客了。一是时间紧张,另外是这段时间来没有什么可记录的,也发现越来越没有什么文笔可言了,越来越趋于流水账形式了。发现上小学的时候一写流水账就会被老师批评,说这孩子作文写的跟记流水账似的,现在发现记流水账没什么不好的,流水账现在成了我最喜欢的文体。;)第一次参加LinuxCon Japan,也是第一次出国,一个不错的经历。https://events.linuxfoundation.org/events/linuxcon-japan/schedule我们富士通南大一行六人(归剑锋,缪勰,刘博,胡涛,温从洋,还有我)去日本参加这次会议,在日本横滨。6.6-6.8三天。刚到日本的印象就 阅读全文
摘要:
/* Fedora 16 * Mempodipper * by zx2c4 * * Linux Local Root Exploit * * Rather than put my write up here, per usual, this time I've put it * in a rather lengthy blog post: http://blog.zx2c4.com/749 * * Enjoy. * * - zx2c4 * Jan 21, 2012 * * CVE-2012-0056 */#define _LARGEFILE64_SOURCE #include < 阅读全文
摘要:
最近在做libguestfs的项目,这周summary一个实现原理:libguestfs实现原理:libguestfs主要有三个大的部分:guestfsd,guestfs-lib,guestfish。其中,guestfsd是一个daemon,libguestfs是一个lib,guestfish是一个命令行的工具。guestfsd是一个daemon,但是它不是运行在host上的daemon,它运行在guest上,libguestfs首先用febootstrap和febootstrap-supermin-helper两个工具将host中的kernel,用得到的一些modules,配置文件和一些工具 阅读全文
摘要:
最近一段时候除了继续推进LTP(Linux Test Project)项目外,这个星期在着手看libguestfs,打算帮助推进这个项目。http://libguestfs.org/它提供了一些直接操作image文件的接口,实际也是一个辅助VM的一个lib。是由Richard开发的。前两个跟Richard交流了一下,问了问我们有没有什么可以做的东西,他说只要你觉得它应该有的功能,都可以加进来。哈哈。我还说是不是需要按照TODO list来做,他说不用,TODO list只是一个idea,自己需要啥都可以加进来。哈哈。Richard还是很nice的。LTP最近推进得也还可以。公司最近决定做一个k 阅读全文
摘要:
1 yum -y install gcc gcc-c++ autoconf make libjpeg libjpeg-devel libpng libpng-devel libXpm libXpm-devel freetype freetype-devel 2 3 git clone git://github.com/yasm/yasm.git 4 5 cd yasm 6 7 ./autogen.sh 8 9 ./configure10 11 make12 13 make install14 15 cd ..16 17 svn checkout svn://svn.mplayerhq... 阅读全文
摘要:
If a user chooses to return to GRUB legacy (0.97), these steps will remove GRUB 2 and install GRUB. The command line produces a cleaner uninstall and reinstallation. While adding and removing the packages can be accomplished with Synaptic, certain steps must be accomplished in a terminal. Open a ter 阅读全文
摘要:
# routeKernel IP routing tableDestination Gateway Genmask Flags Metric Ref Use Iface156.34.147.70 192.168.1.1 255.255.255.255 UGH 0 0 0 wlan0156.34.147.70 192.168.1.1 255.255.255.255 UGH 0 0 0 wlan0172.16.1.1 * 255.255.255.255 UH 0 0 0 ppp049.128.0.0 192... 阅读全文
摘要:
今天为了下个东西,跑到win下去,然后好久没玩过windows,有点好奇,就删了一个分区玩玩,结果就悲惨了。grub也坏了,啥都整不出来了,resucue也没有救回来。只有重装了一个。然后打算用root用户,发现root用户先是不能做chrome,然后弄好了。接着又是调节不了声音。这个弄了好长时间。打开了/etc/group把用普通用户的组后面都加上了root还有pulse, pulseaudio啥的,一顿加。/etc/pulseaudio里一个改成1一个改成0.OK了。哎哟。以前没玩过这种啊。以前一直觉得root很牛B的,现在不行了。 阅读全文
摘要:
Windows:1.工具->邮件/新闻账户设置 选择“通讯录”去掉“以HTML格式编写消息”的选框2.在C:\Documents and Settings\YourName\Application Data\Thunderbird \Profiles\hyr10g8d.default目录下生成user.js文件,文件内容如下 user_pref("mailnews.wraplength", 0); user_pref("mailnews.send_plaintext_flowed", false);3.重启ThunderBird就可以了Linux: 阅读全文
摘要:
在公司,HOST装了一个rhel6.1GA,近期的项目要用这个,但是要在上面测试新的内核,也不能编译一次然后重启吧。于是想用虚拟机。Vmware,公司不让用盗版的,没有序列号,没办法。kvm,qemu吧。装了一个,在上面装了个XP,用来看一些文档,很多文档必须要在这上面看。然后又装了一个rhel6.1GA,不太好使。最后装来装去,装了一个f14,基本好使的。中间出现的问题主要是:1.用virt-manager的时候,速度很快,rhel6.1装的时候弄了ROOT分区是lvm的,新内核总是找不到root分区。不知道原因。该编译的module是没有问题地编译进去了。2.装fedora14的时候新建的 阅读全文
摘要:
嗯。看看上一篇文章的日期,5.22号,都一个多月没有写过博了,原因很多其实。一个是从那时候开始忙了一段时间,然后就没有时间写博,而且那段时间也紧张,还有就是人的劣根性-惰性。从那时候开始,大概过了一周5.30号的进候辞职了,因为拿到了南京一家公司的offer,很快,大概是周三面试,周五面试,周五下午发offer。然后周一去辞职的。一切都是这么快。其实为什么决定这么快,因为这家公司的开源氛围很好,一直都想做开源,正合我意,而且公司在国内开源界也很有名,为开源做了很多贡献,为kernel的贡献在国内就是前几位的,当时非常高兴,就直接去辞职了。接下来就是一个月的辛苦日子,在这里我也不说之前那个公司是 阅读全文
摘要:
以前有一段时间,因为某些原因,一直在使用windows xp,在上面用vmware装了一个CentOS5.5,后来升级到5.6,就一直在上面做一些内核的开发,在上面编译内核,在上面debug 内核。这样做有一个麻烦的事情,就是有时候时间比较紧的话,就会不方便,比如说早上起来时间不多,7点起来,8点要去上班,一个小时的时候,起来看看别人回的邮件,要改一个patch,然后resend,因为去公司就不能上网了,就算在公共上网区的话,发patch也不好,用web gmail又会破坏补丁的格式,也不合适,所以就只能在早上这个时间及时地改完patch然后发上去,这样就得先开系统,然后看邮件,然后开虚拟机, 阅读全文
摘要:
linux kernel 2.6.39终于发布了,感觉从rc1到rc7,挺长时间了,这是一个值得纪念的内核版本。当然,只是对于我而言,是值得纪念的一个内核版本,从39-rc1开始,决定正式参与内核的开发了,从刚开始不成熟地改了几个format的错误,到后来改了几处函数错误,再到后来为驱动核心写了注释,一点点进步了,也越来越专业了。可以说我为开源做贡献之路是从39这个版本开始的,值得纪念。其实感受之前也写过,以前一直觉得内核是个神圣的东西,只能每天以一种朝神的姿态去读它,去读懂它,从来没想到过去改个一句半句的,想都不敢想,觉得那完全是不可能的事情,而这毕业后一年的工作时间,进步真的是太大了,在学 阅读全文
摘要:
最近一段时间真是由于有些忙,所以没有顾上写日志。从上次开始吧,4.28的时候,ubuntu 11.04出来了,换了个系统,没有了live writer,因此有时候也记不起来逼自己写一个博客。11.04用起来很爽,首先比较喜欢那个边栏,还有工具栏,大大提高了桌面利用率,看代码很爽。再着相对于在windows上用虚拟机来说,改代码,发补丁确实是太方便了,哈哈。然后还有之前发过几个小补丁,都被apply了,就不说了,后来忙了大概一周的时间在写driver-core的kernelDoc。事情从那一次开始。那天在随便看看kernel 文档,看到driver-model的时候发现那些文档都过期了很长时间了 阅读全文
摘要:
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5de1743e2434fcb24e3d944a20130029b8fe867a http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8faf9e3... 阅读全文
摘要:
这两天有点忙,同事要走了,把他的工作分给我了,uboot,虽然之前没有看过,也正好借这个机会研究一下uboot,代码量不大,架构跟内核差不多。正好有机会研究一下。 从上周末开始,下班回来也没有多少时间写日志,陆续发了一些补丁,也没有消息,维护者确实很忙。 从昨天开始,就有补丁被applied的邮件陆续发到邮箱里了,很兴奋,非常兴奋,虽然一些个补丁都是做很小的改动,包括一些清理工作,但是至少,也为内... 阅读全文
摘要:
为了fix掉其它架构的几个bug,只好安装多个架构的交叉编译。 刚开始用crosstool的脚本自动编译安装,搞了一天,还没有搞完,太慢了。而且成功的几率不大。 后来在看kernel.org的时候发现有编译过了bin,no-libc的,于是觉得应该可以,下了一个4.5.1的,要求glibc.2.11,也不想重装glibc了。再降版本,4.4.4的可以,于是就用这个了,下了好几个架构的crossto... 阅读全文
摘要:
接昨天上篇:说到了input_fops,下面接上:input_fops: 1: /*打开操作*/ 2: input_open_file 3: /*不做操作*/ 4: noop_llseekinput_open_file: 1: /*从inode获取minor,获得handler,取得handler的fops,并执行它的open操作*/ 2: /*根据inode获取次设备号,再由次设备号算出它在input_table中的位置*/ 3: handler = input_table[iminor(inode) >> 5]; 4: if (handler) 5: new_fops = fo 阅读全文
摘要:
drivers/input/input.c就是所谓的input的核心程序。分析这个文件,先从input_init开始。 1: static int __init input_init(void) 2: { 3: err = class_register(&input_class); 4: err = input_proc_init(); 5: err = register_chrdev(INPUT_MAJOR, "input", &input_fops); 6: }__init 把它放到了init.text段,初始化的时候会调用。函数去掉检查的情况,也就这么 阅读全文
摘要:
Greg KH <greg@kroah.com> Tue, Apr 5, 2011 at 11:48 AM To: linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org Reply | Reply to all | Forward | Print | Delete | Show original As I have seen this ta... 阅读全文
摘要:
pull了2.6最新的tree,装了上去,玩了一天,提了几个patch,晚上本来想睡觉的,关机的时候发现panic了。。 兴奋了一下,决定试着fix掉这个bug. 修改,编译,重启。 重复了好多次。 根据信息,定位到了drivers/base/syscore.c: void syscore_shutdown(void) 看了一下log,发现这个是39内核新加的功能,注册了一个 static LIS... 阅读全文
摘要:
放假就是比较爽。可以干点自己的事情。 编译了2.6.38的和2.6.39-rc1+的kernel. https://patchwork.kernel.org/patch/684782/ https://patchwork.kernel.org/patch/684802/ https://patchwork.kernel.org/patch/684871/ 其中有一个不确定的,有一个已经有人提交过了... 阅读全文
摘要:
[FYI] a> Google Talk: Linus Torvalds on git http://www.youtube.com/watch?v=4XpnKHJAok8 b> Google Talk: Randal Schwartz on git http://www.youtube.com/watch?v=8dhZ9BXQgc4 1, Linus的git tree,AKA 'mainlin... 阅读全文
摘要:
渐渐不知道自己的日志题目应该叫个啥了。。。昨天晚上发了个patch,在tsc2007 touchscreen driver里加了个对按键的支持,其实是把前几天在做触摸屏驱动的时候自己实现出来的一点想法。,不管怎么样应该share一下。于是就发了一个patch。https://patchwork.kernel.org/patch/674182/正如我所想到的,大家的反应是这样的,这样的实现不能加入到driver 框架中。还有Dmitry的回复,已经很给力了,哈哈。灰常高兴。上午把860x的power-core完整看了一下,确实写得很好。但是有一个地方看得让我突然有一种晕的感觉。哈哈。下午自己写了 阅读全文
摘要:
感冒好点了,得瑟了。 尼玛早上加代码, 改了没多少,就尼玛kernel panic了,有木有 尼玛跟函数地址跟了一早上,有木有 尼玛最终也没看出来。。。 尼玛还是把代码回过去再重新改才发现 尼玛就是因为少判断了一种情况就kernel panic了有木有 尼玛泪牛满面啊 尼玛昨天把我的一行写寄存器的代码去掉后。。。 尼玛不能开机的问题就没有了,有木有 尼玛就一行啊。。。。。有木有 尼玛项目经理还说我... 阅读全文
摘要:
昨天感冒了,不舒服,所以没有写日志。晚上回来的时候就一直脑袋迷糊,不清醒,也没有写东西的心情了。病这个玩意,真不是个好东西。回来随便看了几封LKML的邮件就睡了。也记不得昨天一天干了啥了,反正状态也不是很好。 上午弄好了sx8651的一个触摸屏,这个是挂上i2c上的。调一个触摸屏其实挺简单的,以前好像也写过,设置一个x,y的最大值最小值,让应用知道后可以写lcd对应起来,这样一校准就OK了,驱动通... 阅读全文
摘要:
这个文章用自己第一次提交patch的经历详细介绍了用git提交patch的步骤,值得学习。 From : http://linux.koolsolutions.com/2011/02/26/howto-create-and-submit-your-first-linux-kernel-patch/ After working with Linux (mostly as an advanced u... 阅读全文
摘要:
from :http://linux.yyz.us/git-howto.html This tutorial is a cookbook of recipes getting up and running with Linus's source code management (SCM) software, "git." Its targetted mainly at Linux kernel h... 阅读全文
摘要:
昨天周六,有点放松啊。晚上看完飞虫,昨天没有什么可写的。 上午上班的时候改了一个充电的实现,就是在reg_write一个寄存器前加了一个reg_read,判断了一下这个寄存器的数据,根据寄存器现在的状态判断是否进行这个写操作。很简单,干了这个事,fix了一个bug,然后回来了。 放松了一下午,晚上看了看driver_core的git repo。然后随便改了一个函数定义列数超过80列的格式,然后觉得... 阅读全文
摘要:
早上做了一个温度实验,把手机放到70度测试了一下GPADC读出来的电压值,为了确定这个电压值和温度的对应关系,好调整这个关系的数组。明天还得做其它温度的实验。上午写好了温度判断的代码,给电池的health节点,就是sysfs里的一个attribute,在power_supply.c里建立 的。根据温度给它返回一个Cold,Overheat,Good的值来确定它的健康状态。然后下午和晚上,优化了一下代码,改了几个寄存器值的错误。把几个函数封装了一下。最重要的是下午在打patch的时候发现了一个XXX_page_reg_write的函数,是一个i2c的读写函数,回来在内核代码里没有找到,估计是私有 阅读全文
摘要:
要写的内容好像有点标题党的意思。早上收到邮件让我在860x_irq里打log看是不是插下充电器时会收到中断。结果最后还是发生了一次没有收到中断的情况。这个问题有点纠结啊。具体是啥也没有必要写了。估计应该是硬件有缺陷。上午服务器买了三块硬盘,做了一个raid5,我把硬盘扩展到分区上去了。三个300G的,做个raid后变600G,幸好上次修改服务器的时候把/work工作分区做成了lvm,这次扩展起来方便多了。pvcreate,vgextend,lvresize.都很顺利,分区下有很多重要的数据,生怕弄坏了,几个项目经理又要砍我了。于是我把分区给umount掉了,然后做resize2fs,不让我re 阅读全文
摘要:
今天在跟marvell沟通问题的时候,觉得有些地方的代码看得不够仔细,于是细看了一下。发现了几个请求中断的函数。request_threaded_irq,这个函数在内核中有注释,参数有好多,大概参数有handler,这是要指定的中断处理函数,thread_fn是要在内核线程中调用的函数,还有申请中断的flag,有SHARED共享,共享时dev_id不能为空,因为要在释放irq时区别共享的中断,这个dev_id一般为某个info,ONESHOT(这个线程函数thread_fn执行前关闭这个中断)。当handler为空时,使用默认的处理,看到代码里申请内核线程方式的中断的时候直接把handler置 阅读全文
摘要:
好入没有写过文章了。有很多原因。一个是原来windows live搬过来了。另一个是自己的空间到期了,域名也到期了,不想再续了,还是玩玩现成的吧,自己弄的没有时间去打理了,长草了。在blogbus,csdn,cnblog上都把文章搬了一部分,总之整的有点乱啊。今天 又重新整理了一下,打算还是要写点东西的,要不然手痒痒。再者现在也挺忙的,工作以后,每天都挺累的,没有那么多的时间去写写自己的东西。最近没有那么忙了,打算稍微捡一捡。好了,屁话说完。最近干了点啥吧。刚开始工作的时候一直在看书,lkd,ulk,ldd,还买了精通linux驱动的中文版,英文的有时候看得有一点吃力。买了一本宋宝华的驱动书, 阅读全文
摘要:
今天用手机连计算机上的ftp,发现直接就连上了,我去了。吓我一跳,我没有设置开机启动的。。。。
刚装上vsftpd的时候,用chkconfig把开机启动给关闭了的。
查了一下ssh,也是被启动了,晕啊。这让我情何以堪啊。。。。。
用sysv-rc-conf也是无济于事。
然后看rc5.d下也没有,rc.local里也没有写关于这个破玩意启动的东西。怎么回事。。。
仔细查看文件系统,发现/etc/i... 阅读全文
摘要:
用官方的QQ老是自动关闭,实在忍不了了。
今天重新装了QQ,用deb方式装的,其实都无所谓,用tar.gz也一样。只是deb装的时候在/usr/bin下放了qq。
把/usr/bin/qq修改成如下:(也就是添加了一行export xxx),qq就不会自动关闭了。
#!/bin/sh
export GDK_NATIVE_WINDOWS=true
cd /usr/share/tencent/qq/... 阅读全文
摘要:
在10.04上的ibus就有点问题,输入的时候要不就是退格后有问题,要不就是断字现象比较严重。
在10.04上还好,升级了ibus后好使了。
方法是这样的:
sudo add-apt-repository ppa:shawn-p-huang/ppa
sudo apt-get update
sudo apt-get dist-upgrade
这样就没有问题了。但是在10.... 阅读全文
摘要:
最近在看lkd,仔细地看.
装了ubuntu,看代码有些不方便 ,虽然vi+ctags也不错,但是还是source insight来得方便一点.
于是wine一个source insight.
apt-get install wine
现在wine不错了,直接就可以安装上了,而且字体也没有问题.
后来把字体整 得有一点乱了.再改一改.
vi font.reg
REGEDIT4
[HKEY_LO... 阅读全文