【OK210试用体验】之(3)内核文件系统和boot关系浅谈及编译uboot、定制内核、制作根文件系统 - 在线问答 - 电子技术论坛 - 最好最受欢迎电子论坛!

【OK210试用体验】之(3)内核文件系统和boot关系浅谈及编译uboot、定制内核、制作根文件系统

构建一个相对完整、易于操作的嵌入式系统有3大要素:BOOT、OS、文件系统。举个栗子,比如在传统的单片机项目中构建一个带OS的系统,那么我们需要移植跟OS有关的那部分文件,包括调度算法、内核模块等。而为了实现对大容量存储设备的管理,我们就不能用51时代的思路了,比如直接读写某存储设备。为啥呢?
其一:51时代大部分工作1个人完成即可,你爱咋写咋写,反正也是一个人从头做到尾。基本不会有像Linux开发时那种团队合作的场景出现。
其二:51的资源也很难支撑大容量设备的读取写入要求的缓冲机制实现。比如,我SD卡的一个扇区就512字节;SPI Flash的一个扇区更是4096个字节,传统的51在这种应用下举步维艰。
其三:便于软件分层。在利用文件系统以后,我们可以实现,直接更换底层存储设备而几乎不用改动上层软件的效果。
基于此,我们在构建一个嵌入式系统时,内核、文件系统是必不可少的。而Boot也是必选的选项,是因为如果没有boot,硬件平台根本就起不来,那又何谈的OS呢?
对于Cortex  m平台来说,RTOS可能就够了。其本身没有MMU,因此先天的不足使其跑不动Linux。而对A系列来说,linux则正是其发挥最佳性能的良好软件平台。
我们想在210平台上跑起Linux,首先需要安装Uboot,即通用Boot。UBOOT可以支持很多种平台,包括x86、MIPS、ARM等,因此在安装以前我们需要先编译它,让Uboot支持我们的板子。首先解压Uboot,完成后如下图所示:

然后进入uboot目录下,配置uboot,因为飞凌已经编辑好了,我们只需要输入make forlinx_linux_config命令即可生成makefile文件,然后执行makeARCH=arm CROSS_COMPILE=arm-linux-命令。编译完成后,在当前目录下生成uboot.bin文件,通过dnw烧写进入板子即可。注意此步骤执行时需从SD卡启动。

烧写完uboot后,将板子boot选项改为nand启动,然后即可进入uboot启动界面。

尽管Uboot提供了丰富的命令集,但不同的开发板支持的命令却不一样(可配置),help命令可以查看当前单板所支持的命令。同样我们为了实现后面向内核传入参数,必须掌握的命令还有bootm tftp setenv saveenv等。

制作linux之前,我们需要做的就是清除原先编译的结果,执行make distclean命令,完成后即可。然后配置内核make menuconfig ARCH=arm

按照个人需求配置内核,完成后保存退出,开始编译:make uImage ARCH=arm CROSS_COMPILE=arm-linux-。等待大约一个小时后完成了内核的编译,如下图:

只需要把我们编译好的内核下载到板子上即可,不过为了实现在uboot里下载内核镜像,我们需要配置下tftp服务,并且在虚拟机上开启此项服务。最终效果如下:

到此,我们已经完成了uboot的编译、下载;定制内核,并且编译下载内核。但这还不够,因为我们还有文件系统没有搞定。因此接下来我们开始制作根文件系统。
这个过程分为2个步骤:
1.      建立根文件系统目录与文件。
2.      挂载根文件系统到内核。
首先说说建立根文件系统目录与文件,我们需要建立如下图所示的目录

      mkdir rootfs
      cd rootfs
      mkdir bin dev etc lib proc ***in sys usr mnt tmp var
      mkdir usr/bin usr/lib usr/***in lib/modules
然后建立设备文件
      cd rootfs/dev
      mknod –m 666 console c 5 1
      mknod –m 666 null c 1 3
  接着加入配置文件
      tar xzvf etc.tar.gz
      mv etc/* /home/wang/rootfs/etc/ -rf
  
开始添加内核模块
进入linux内核目录中,make modules ARCH=arm CROSS_COMPILE=arm-linux- make modules_installINSTALL_MOD_PATH=/home/wang/rootfs

最后是比较重要的,编译并安装busybox。首先是配置busybox
Make menuconfig

build option里指定工具链

install options里指定安装选项

然后开始编译安装。make make install

0个回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则


关闭

站长推荐上一条 /6 下一条

小黑屋|手机版|Archiver|电子发烧友 ( 湘ICP备2023018690号 )

GMT+8, 2024-4-19 11:14 , Processed in 0.596244 second(s), Total 60, Slave 42 queries .

Powered by 电子发烧友网

© 2015 bbs.elecfans.com

微信扫描
快速回复 返回顶部 返回列表