配置了相关环境之后,用Linux编译内核方法的时候,make menuconfig 保存后再make zImage,运行出现错误?

8. 在下次启动的时候,可通过命令要重新mount 文件 /etc/exports中的内容:

-v 在export的时候,将详细的信息输出到屏幕上

9. 关于exports文件中一些选项的含义:

ro 该主机对该共享目录有只读权限

rw 该主机对该共享目录有读写权限

root_squash 客户机用root用户访问该共享文件夹时,将root用户映射成匿名用户

all_squash 客户机上的任何用户访问该共享目录时都映射成匿名用户

anonuid 将客户机上的用户映射成指定的本地用户ID的用户

anongid 将客户机上的用户映射成属于指定的本地用户组ID

aync 资料同步写入到内存与硬盘中

async 资料会先暂存于内存中,而非直接写入硬盘

insecure 允许从这台机器过来的非授权访问

嵌入式开发离不开硬件设备比如:开发板、外设等,但是如果只是想学习研究Linux内核,想学习Linux内核的架构,工作模式,需要修改一些代码,重新编译并烧写到开发板中进行验证,这样未必有些复杂。然而Qemu的使用可以避免频繁在开发板上烧写版本,如果进行与外设无关,仅仅是内核方面的调试,Qemu模拟ARM开发环境完全可以完美地胜任。

下面简单介绍下我的Qemu开发环境搭建过程:

编译选择使用glibc动态库,因为静态库可能会出现一些未知的问题

5.4 制作简易根文件系统

制作一个简易的根文件系统,该文件系统包含的功能极其简陋,仅为了验证Qemu启动Linux内核后挂载跟文件系统的过程。以后会进一步完善该文件系统。

也可以在指定busybox的安装目录直接安装:

在根文件系统中添加加载器和动态库:

3) 静态创建设备文件

至此,简易版根文件系统就制作完成,该根文件系统只含有最基本的功能,一些其他功能在以后的操作中会进行添加,如有兴趣可以继续参考下一篇文章《》《》

5.5 制作SD卡文件系统镜像

1) 生成一个空的SD卡镜像:

2) 将SD卡格式化为exts文件系统:

以上为在串口终端启动系统,按照以下的启动命令可以使用LCD屏作为输出启动系统。

3) 图形化启动内核:

至此,Qemu启动Linux内核并挂载跟文件系统已经启动成功,通过串口终端可以正常和系统进行简单功能的交互。

打印中提示的不能运行/etc/init.d/rcS问题,只需要添加/etc/init.d/rcS文件即可,文件内容可以是提示语句。

Qemu环境搭建好之后,发现无法通过shutdown等工具关闭,因为Qemu也是一个进程,可以通过杀掉Qemu进程的方法关闭Qemu模拟环境。

本文讲述了Qemu环境启动Linux内核,并挂载SD卡中的根文件系统的一些操作步骤。如果需要在Qemu环境下以ARM开发板的正常启动流程来加载Linux内核并挂载根文件系统,可以参考下一篇文章《Qemu搭建ARM vexpress开发环境(二)----通过u-boot启动Linux内核》。

配置的方法有很多种,make  menuconfig是基于文本选单的配置界面,配置比较直观简单。

内核的配置有三部组成,分别是Makefile、配置文件和配置工具,今天我们讲的就是配置工具的一种make  menuconfig。

■ Linux根目录文件夹scripts:作为使用者,不用关心

■ Makefile文件:定义环境变量的值

■ .config文件:系统配置的默认值

Step3:在对应的makefile文件添加编译选项;

专注于智能设备核心平台研发与制造

■ 关注“”公众号,不定期分享行业干货及产品一线资料。

■ 直接微信回复产品平台,如“”,即可快速获取对应产品信息。

■ 想要了解飞凌更多信息,欢迎与我们联系:

  • 飞凌新出的一款采用NXP高性能、超高效、低成本处理器的核心板—FETMX6ULL-S核心板,i.MX6ULL核心板采用邮票孔连接方式,ARM Cortex-A7内核,原生两路网口,两路Can和八路串口,可以和多种设备同时通讯。i.MX6ULL核心板支持工业级和扩展商业级两种配置,并且经过了高低温测试的检验,iMX6ULL核心板采用Linux4.1.15+Qt5.6操作系统,方便开发自己的应用程序。

我要回帖

更多关于 Linux编译内核方法 的文章

 

随机推荐