Chinaunix

标题: ☆☆☆请教关于嵌入式linux开发的基础问题 [打印本页]

作者: ares_tina    时间: 2015-09-23 14:36
标题: ☆☆☆请教关于嵌入式linux开发的基础问题
本帖最后由 ares_tina 于 2015-09-23 14:39 编辑

各位大哥大姐,入门级小白想请教关于嵌入式linux开发的一些很基础问题,求不吝赐教,从后往前求教。
1、最后烧写入板子flash的镜像文件,是否是只有uboot、kernel、fs(比如ubi)、app四个?
2、kernel和文件系统是个什么关系,内核文件是存放在根文件系统里?
3、文件系统和应用程序是什么关系,是编译成2个镜像吗?还是说把app做到文件系统里,一起编译成镜像文件?
4、有几种文件系统,我们烧入flash的就是根文件系统吗?“根文件系统”、“flash文件系统”有区别吗?
5、写嵌入式linux应用程序,用什么编辑代码,是用vi还是有集成的IDE工具。是在主机windows下还是linux下开发。
6、什么叫网络文件系统,实际开发中怎么使用?

作者: T-Bagwell    时间: 2015-09-23 17:03
各位大哥大姐,入门级小白想请教关于嵌入式linux开发的一些很基础问题,求不吝赐教,从后往前求教。
1、最后烧写入板子flash的镜像文件,是否是只有uboot、kernel、fs(比如ubi)、app四个?
常规的其实bootloader,kernel,fs就可以了,有些时候根据业务需求,可以多划分一些分许,比如bootloader,kernel,rootfs,app, userdata, parameter等

2、kernel和文件系统是个什么关系,内核文件是存放在根文件系统里?
kernel是一个管理所有硬件的东西,文件系统其实是kernel下面的一个模块,用来管理块设备的内容的,文件系统你可以理解为用来将文件按照一定的组织方式组织到块设备上的引擎,内核和根文件系统没什么太大关系,是放在块设备上的,就是bootloader读取块设备,加载kernel到内存,然后一直运行着的,rootfs正常的话是一个image,这个image也是块设备上的内容,kernel启动后,bootloader传过来的分区,去挂在rootfs,然后根据对应的文件系统格式,比如cramfs,yaffs,ext4等,按照对应的规则取文件或者运行文件

3、文件系统和应用程序是什么关系,是编译成2个镜像吗?还是说把app做到文件系统里,一起编译成镜像文件?
文件系统里面和应用程序的关系在前面提到过了,编译不编译成两个镜像,取决于你了

4、有几种文件系统,我们烧入flash的就是根文件系统吗?“根文件系统”、“flash文件系统”有区别吗?
少如到flash的起始不是最根文件系统,在挂在文件系统之前,vfs会cache出来一个rootfs,然后去挂在bootloader传递过来的rootfs,根文件系统和flash文件系统你可以当做没区别,也可以当做有区别,没区别是都是存文件的,只不过有的是rw,有的是ro,cat /proc/mounts可以看到

5、写嵌入式linux应用程序,用什么编辑代码,是用vi还是有集成的IDE工具。是在主机windows下还是linux下开发。
编辑代码无所谓,看自己顺手的,喜欢的话用windows的记事本都可以,我一般是vim,用着顺手,仅仅是顺手而已

6、什么叫网络文件系统,实际开发中怎么使用?
网络文件系统一般比如nfs,直接通过网络模块去传输文件到远程机器上的文件系统,实际开发中以前用cramfs是只读的,改一下文件要重新下载到板子上,所以用nfs方便很多




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2