Linux

32 位的应用程序在 64 位内核中的 ioctl 问题

工作中的一个项目涉及到了内核模块和用户程序两部分,之间通过 ioctl() 进行通讯,现在需要 64 位(x86_64)的 Linux,所使用内核版本是固定的,2.6.9。

首先,直接编译运行以后,发现一个错误:kernel: ioctl32(${APP_NAME}:${PID}): Unknown cmd fd(6) cmd(c01844f01){00} arg(0816ed60) on ${file}。Google 了一下,明白这是由于用户程序是 32 位而内核是 64 位的缘故。问题的缘由是知道了,得开始找解决方法了。刚开始还以为是内核模块中自定义的 ioctl()(通过 struct file_operations 定义) 返回了错误,后来在其中加上了调试信息,发现根本就没有进到函数中去。

Linux

用用

mac-port :Monkey's Audio Codec (.APE) non-win32 port

读读

  • 2009 年 1 月 17 日:分布式版本控制系统介绍——[ODP 格式][PDF 格式]
    主要内容:1) 版本控制系统的基本知识。2) 版本控制系统的发展过程。3) 分布式版本控制系统的原理及工作流程。4) Bazaar 界面演示

Linux 休眠总结

Rafael J. Wysocki 在 LKML 上发表了 [Suspend and hibernation status report],给出了现在 Linux 平台上待机和休眠的进展报告,对了解这两项很有帮助,相信很多使用笔记本的用户对这个问题很关心。立此存照。

GStreamer 的 Monkey's Audio 插件

前一阵给 [GStreamer] [Monkey's Audio][mac-port][插件]的作者 Jérémy Simon 发了封信,询问插件的开发情况,并说如果他没时间做的话,我可以提供一些帮助,接着做完,最起码要支持现在发布的 0.10 版本。

MadWifi 在 2.6.18 上的更新

[前一篇]提到了把笔记本上的内核升级到了 2.6.18,在家里用的是以太网卡,没有用到无线。

Suspend2 升级和问题

以前用的 [Suspend2] 2.2.7 似乎有些问题,其他还好说,一个问题比较大,就是有时候恢复,读完了数据,然后就死在了那里,没有任何反应,硬盘等也不闪了,没有办法,之后重启。所以打算升级,顺便也把内核升级到 2.6.18。

笔记本又活了

笔记本我通常都是 Hibernate/Resume 来使用,这样可以保存自己的很多东西,不用每次都打开,对于懒人来说非常好用,Windows/Linux,已经成为一种使用习惯,不想浪费时间。周末两天没怎么用笔记本(公司的,装的是 Windows),周日晚上打开以后,就一直挂在了 Resuming 上,无奈只好关机重启。然后就有问题了,在登录以后,就挂在了 Applying computer settings 这个地方,一直都过不去。

Laptop Reloaded

上次说到买了块硬盘给笔记本装上了,那天晚上睡觉前就装好了基本系统,并且更新到了 SID. 以后的几天里主要是在寻找 Suspend-To-Mem(Stanby, 待机) 和 Suspend-To-Disk(Hibernate,休眠)的解决方法,最好用 suspend2 解决了休眠,但待机一直没解决。剩下的问题就是一些配置的问题,不太满意,但已经满足一般使用。

Battle for Wesnoth

这一阵子又开始玩 Battle for Wesnoth, 是一个奇幻类型的策略游戏. 最初是为 Linux 开发的, 使用了 SDL 库, 从而以后能在 Windows 和 MacOSX 上运行, 设计地也不错, 可以自己替换 AI 算法.

Syndicate content