摘要: Linux内核提供了一种机制,使得有热插拔事件(比如插入或拔出U盘)发生时可以执行一个程序,在本文中我称之为hotplug程序。内核在调用hotplug程序时会传递一个命令行参数,这个参数是发生热插拔事件的子系统名称,常见的有usb, module, drivers, net等。此外内核在调用hotplug程序是还会设置一些环境变量,如SUBSYSTEM, ACTION, PRODUCT, TYPE, INTERFACE, DEVPATH等。
阅读全文
摘要: Linux内核负责管理/调度所有的系统资源和设备,并为应用程序提供服务。要想让播放机支持更多的设备,比如USB无线网卡,必需从内核入手。Linux支持动态加载模块,这些模块其实也是内核的一部分,只不过是被模块化罢了。模块化的好处之一是可以在需要时才加载模块,不需要时可以卸载,释放其占用的内存。这对内存紧张的嵌入式系统无疑是有帮助的。
阅读全文
摘要: uClibc和BusyBox已经编译好了,在把它们加入固件之前最好先测试一下。测试方法是建立一个模拟的根文件系统,通过chroot命令来建立一个新的执行环境,在这个环境下所执行的命令以及动态连接库都来自于这个模拟的根文件系统。
阅读全文
摘要: MP800H官方固件中使用的uClibc版本为0.9.28,也是相当老的版本(2005年发布的)。但是由于现有的工具链都是基于这个版本的,到目前为止,升级到新版本的尝试还不成功的。(这不是目前最紧迫的任务,我会晚点再研究)
阅读全文