驱动学习不仅仅是驱动,还有驱动前的准备。嵌入式,简单点看,就是定制化设备或者仪器。即是定制化,则每个驱动都需要对应的内核作为支撑,而内核的启动,则需要根文件系统的支持。如何构建一个根文件系统?且看下面一步步详解。
首先下载一个你喜欢版本的“嵌入式中瑞士军刀”——BusyBox,减压之,修改其makefile,配置之。纳尼~~ 不知如何配置?!哎,,,度娘吧,一搜一箩筐,懵逼吧?听谁的呀?okay,不慌,下面提供一个配置模板,仅供参考,
Busybox Settings--->
Build Options--->
[*]Build BusyBox as a static binary(no shared libs)
Busybox Library Tuning--->
[*]vi-style line editing commands
[*]Fancy shell prompts
Linux Module Utilities--->
[ ]Simplified modutils
[*]insmod
[*]rmmod
[*]lsmod
[*]modprobe
[*]depmod
Linux System Utilities--->[*]mdev
[*]Support /etc/mdev.conf
[*]Support subdirs/symlinks
[*]Support regular expressions substitutions when renaming dev
[*]Support command execution at device addition/removal
[*]Support loading of firmwares
好了,按耐不住激动的心编译一波,哈哈,一般不会出错(都是人家写好的代码,都release了,怎么会有错呢,你懂滴,这就是移植,嘿嘿~)。假如那么不幸,出错了,怎么~办??
答曰:百度吧(嘻嘻~ 没其他招儿)
一键 make 后,看着屏幕飞快滚动的提示,一股喜悦油然而生,哈哈~。等等.........冒似还要安装(make install),安装在哪里呢?哎呀~ stupid me!搞忘设置安装目录了,来个ctrl + c,急刹车!重新 make menuconfig 配置一下安装目录吧。
Busybox Settings--->
Installation Options ("make install" behavior) --->
What kind of applet links to install (as soft-links) ---> [Enter]
输入定义目录即可 make && make install,欧了,坐等自定义目录下生成bin etc ssbin usr 等文件夹,根文件系统第一步就算完成了。
在内核里挂载试一下,会有惊喜哦。什么,问我什么惊喜,哈哈~ secret !下回分解哦 *-*