Next Previous Contents

3. 软件

3.1 软件

你必须得到一个有以下功能的可执行程序:

改变 /dev/lp0 的基地址为 0x3bc ,/dev/lp1 为 0x378 ,/dev/lp2 为 0x278,范围( range ) 为 8 。

如果在这个程序中再使用 setuid 会更好,因为每个用户都可以用 Linux 煮咖啡了!

3.2 设备驱动程序

参考 kernel hacker's guide, 安装一个设备驱动程序 (it could even be user space i think). 请以模块(module)方式编译,这样以后每次更新的时候也用不著重新编译内核了。 然后打入:

echo cappuccino >/dev/coffee

1 分钟后你就会有一杯热咖啡,注意 /dev/coffee 要设置合适的权限,具体看你是否只想让超级用户煮咖啡了。

这种方法有个优点就是它能用并口的 ACK 针脚来实现从咖啡机的反馈支持。所以一个智能的咖啡机有时还会中断一下。

把它当作课外作业

3.3 通过 Internet 连接

如果你已经有了这个 C 程序(如上),你只需写一个 CGI 脚本就可以开关咖啡机了。 你还需做几个漂亮的网页,解释一下怎么煮咖啡,然后再把它挂到 apache 服务器上.....


Next Previous Contents