进行了几个月的裸机编程后终于进入了linux系统学习了,打算开始驱动的学习,学习路线计划是先裸机编程然后进入系统学习,最后进行linux+arm驱动开发。当然这其中还有很多要学习。但是无论如何进入系统学习也是一个小小的标志吧,但是开始这个学习已经有一段时间了,今天才来做个序,有点牵强。不过也还好啦。
进入神秘高深的linux学习充满着期待,但是接下来的困惑却远远大于期待,从windows转过来一下懵了,对于黑漆漆的linux怎么下手。我总结了一个详细的步骤,不知道这个有用没,因为我自己现在还在这个步骤的开始处,要知道效果需要以后验证,或者有同样经历的人,非常期待一起交流与学习,或者不吝赐教。
相关阅读:
Linux+ARM环境配置——Bridged通信篇 http://www.linuxidc.com/Linux/2011-08/41369.htm
Linux+ARM环境配置——NFS http://www.linuxidc.com/Linux/2011-08/41370.htm
安装虚拟机VMware ——安装linux操作系统——学习基本的linux命令——学习一个编辑器VIM或者其他的基本用法——和VIM配合使用基本的其他工具ctags quikfix——使用GCC编译器——使用GDB调试器——学写makefile文件——交叉编译环境配置
暂且到这里吧,我目前正在环境的配置这里,等以后学习到什么了继续来写下去。
大概讲一下这个路线吧,首先安装linux操作系统到虚拟机里面比较方便和windows通信交互,而且资料也比较多。注意最好安装一下VMware tools这样便可以和windows共享文件了,不过Fedora安装VMware tools前需要安装一个内核模块,不要会找不到C 头文件的地址。
首先查看内核版本:uname -r一下,我的是2.6.25-14.fc9.i686,
所以下载kernel-devel-2.6.25-14.fc9.i686.rpm,然后运行rpm -ivh kernel-devel- 2.6.25-14.fc9.i686.rpm 进行安装. 内核安装完毕后,需要用这个命令确定内核 C header 的安装目 录:ls -d /usr/src/kernels/$(uname -r)*/include
安装内核具体步骤如下: # uname -r 2.6.25-14.fc9.i686
选择VM->Install VMware Tools
选择“Yes”
光驱里面的内容就自动的换成了“VMware Tools”,这不正是我们想要的么?
继续使用命令行:
#cp /media/VMware Tools/VMareTools-7.8.6.5-185404.tar.gz /home/ ;这里我是使用U盘直接COPY到/home中的。
#cd /home
#tar -xvzf VMareTools-7.8.6.5-185404.tar.gz -C /home/ ;C必须大写,表示Change,这里是改变目录的意思,C后有一个空格,不能漏掉
#cd /vmware-tools-distrib
#./vmware-install.pl ;前面一定要加”.”表示是当前文件夹
一路回车到底,只是在选择分辨率的时候选择个你喜欢的分辨率就好了。
恭喜你安装成功!
然后是linux的安装,对于linux安装究竟选哪个发行版,我没有用多少linux系统,不过我觉得选你开发板手册上推荐的,而且有手册的,内核的话还是选2.6的吧,对于2.4的版本可能会出现一些和新的工具还有服务不兼容的地方。mini2440用户手册上给的fedora9.0我现在就用的是这个,我还用过经典的RedHat9 不过我发现我安装比较新的交叉编译工具(mini2440的arm-linux-gcc4.4.3)的时候没有提示错误,但是就是安装不成功,后面换一个旧一些的版本就好了,后面上网查到,原来mini2440的arm-linux-gcc4.4.3是专门用于fedora9.0的。所以这里由于发行版多,交叉编译工具也多,匹配就是一个问题了。一开始推荐用手册上的系统和交叉编译链。
接下来是一些工具的使用,这些工具都是基于命令的,一般刚开始从windows转过来不习惯,而且会发现使用效率非常低,这些工具都是经过千锤百炼的,都是经典,当你用的灵活了就能大大提高效率,所以开始之前还是先学习一些这些工具,正所谓工欲善其事必先利其器。但是不要一味追求高超使用工具,因为这里每一个工具的使用都可以写一本书,要适可而止。注意先学会一些使用比较多的,基本能满足你的基本需求就好,剩下的技巧留着以后慢慢学习。
最后是环境的配置,像安装交叉编译工具,然后网络配置,nfs服务等等,这些最后还是参考手册,但是手册有时忽略了一些其他的问题,这时候要细心慢慢的来,多上网搜些资料,多总结学习过程。
暂且学习ARM+linux的计划吧,不管哪个计划都是好好努力,这个开始的阶段学习会一下子出现很多的问题,需要细心,耐心的一个个解决,然后多总结学习经验,这样才能加深对linux的一些理解和把握吧!