大家对Google的Android和Intel的Moblin一定不会陌生,MaxWit Linux(即Lablin)与其类似,也是一个基于Linux的嵌入式操作系统,该项目由MaxWit开放实验室于2008年1月正式启动,现阶段主要面向嵌入式系统。MaxWit Linux提供了一个完整的软件栈。虽然,MaxWit Linux本身是个完整的嵌入式系统,但其目的不是把自己打造成一个除Android或Moblin之外的另一个嵌入式操作系统,而是借助这个平台力所能及地帮助个人或企业学习和研究嵌入式Linux系统,覆盖包括从低端的系统移植到较高端的图形引擎优化、从底层驱动到上层应用开发等多个层面。
如果你是个高手,欢迎参与进来一起研发,把你的成果和经验分享给他人;如果你是个初学者,相信你会在这里学到不少东西。在这里,我们可以学习(初学者)或开发(有经验者)如下一系列技术:
·完整嵌入式开发环境搭建。如设置TFTP、NFS等网络服务器,SVN(或其他工具)管理代码,安装Windows虚拟机等等细节,更重要的是,如何使用标准源码,从头到尾,自己打造一个最新的Cross Toolchain,比如支持NPTL和EABI的gcc-4.4 + glibc-2.9/uClibc-0.30!
·移植、开发bootloader,包括g-bios和u-boot等。这个过程虽然不难,但我们可以借bootloader更轻松更细致地研究X86、ARM等体系结构。
·移植、开发Linux kernel,这部分可易可难,试想在一个内核不支持的全新的板子上跑起Linux及所有的驱动,这个工作量也不少。
·创建ramdisk和rootfs。这个基本上是个手工活,但也必不可少。
·移植、优化或开发Lib,包括:音视解码器、GUI库、OpenGL、多媒体、SQLite、WebKit等。
·移植、优化或开发Java VM,支持Java开发也非常重要。
·移植、优化或开发Application,包括:设备管理工具、媒体播放器、窗口管理器、游戏(当然,不是贪吃蛇)、浏览器、即时通讯工具、嵌入式数据库、办公软件等。
看到这里,有些朋友也许会说:唉,不就是个移植过程嘛!其实不然,你会发MaxWit Linux涉及的范围很广,不是简单的移植工作,事实上,多数时间是在从事研发。
在这里,我们可以一起来分析和改进Linux内核的新特性,一起调试驱动,一起来分析libc源码,一起研究汇编语言/MMU/中断、QT、嵌入式版GTK+、DirectFB、SDL、TCP/IP协议栈的实现,等等。
更多详情,请登录项目主页http://maxwit.googlecode.com或ChinaUnix论坛(http://linux.chinaunix.net/bbs)上的MaxWit Linux版块。