Linux内核配置编译与文件系统构建要点.docx
《Linux内核配置编译与文件系统构建要点.docx》由会员分享,可在线阅读,更多相关《Linux内核配置编译与文件系统构建要点.docx(16页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Linux内核配置编译与文件系统构建要点Linux内核配置编译与文件系统构建南京大学黄开成1011800462021.11.11一:实验目的1.了解嵌入式系统的开发环境,内核与文件系统的下载和启动;2.了解Linux内核源代码的目录构造及各自目录的相关内容,了解Linux内核各配置选项内容和作用,把握Linux内核的编译经过;3.了解嵌入式操作系统中文件系统的类型和应用、了解JFFS2文件系统的优点及其在嵌入式系统中的作用、把握利用Busybox软件制作嵌入式文件系统的方法,并且把握嵌入式Linux文件系统的挂载经过。二:实验环境讲明1.PC机使用openSUSE14Enterprise系统。
2、2.开发板使用深圳市武耀博德信息技术有限公司生产的基于Inter的PXA270处理器的多功能嵌入式开发平台EELIOD。3.PC机通过RS-232串口与开发板相连,在PC机终端上运行minicom程序构造一个开发板上的终端,用于对开发板的控制。4.PC机与开发板通过ethernet网络相连接,并可在开发板上通过加载网络文件系统NFS与PC机通信。5.Bootloader能够通过tftp协议从PC机上下载内核镜像和根文件系统镜像。下载目录为/tftpboot。6.用于开发板的Linux内核源码为linux-2.4.21-51Board_EDR,busybox版本为busybox-1.00-pre
3、5。7.穿插编译器的途径为/usr/local/arm-linux/bin/arm-linux。三:实验操作经过和分析记录1.嵌入式系统的开发环境和开发流程:1.1启动minicom和开发板在PC机上打开一个终端,输入:minicom按Ctrl+A-o进入minicom的configuration界面。对串行通信接口进行配置,串口设置为:/dev/ttyS0串口线接在PC机的串口1上、bps=115200、8位数据、无校验、无流控制。然后打开开发板电源,看到屏幕有反响之后,按任意键进入配置界面,假如长时间没有按下任何键,bootloader将会自动从flash中读取内核和根文件系统并启动开发板
4、上的Linux系统。分析:嵌入式系统中,通常并没有像PC机中BIOS那样的固件程序,因而整个系统的加载启动任务完全由bootloader来完成。bootloader的主要作用是:初始化硬件设备;建立内存空间的映射图;完成内核的加载,为内核设置启动参数。按0进入命令行形式,出现51board,能够设置开发板和PC机的IP地址:51boardsetmyipaddr192.168.208.133(设置开发板的IP地址)51boardsetdestipaddr192.168.208.33设置PC机的IP地址注意IP地址的设置:使其处于同一网段,并且避免和其他系统的IP发生冲突。通过bootloader
5、的主菜单能够完成很多功能,3下载内核,4将内核烧进flash,5下载文件系统,6将文件系统烧进flash,7启动嵌入式操作系统等。51boardtftpzImagekernel(下载内核)51boardtftpramdisk.gzramdisk(下载文件系统)51boardboot(启动系统,进入目的机终端)1.2NFS服务器架设NFS是在不同机器不同操作系统之间进行网络分享文件的服务系统。在嵌入式系统中目的机能够将宿主机的分享文档挂载在本人的系统中,进而,目的机使用宿主机上的远端文件就像是使用本人本地的文件一样,有利于嵌入式开发。#ifconfigeth0192.168.208.133(配置
6、网络)上面的eth0为接口名,eth0表示第一个以太网接口,假如使用其他网络接口,应做相应修改。#mount192.168.208.133:/exp/test-onolock-oproto=tcp(将主机上的exp目录挂载到目的机的test目录上)此时能够对主机上/exp目录下的文件进行操作,就像已经在制作的文件系统里面一样,便于以后开发程序的调试,不必每次都重新烧写文件系统。1.3编写应用程序并在目的机上运行编写简单的c程序hello.c:#includeintmain()printf(“hello,worldn);return0;然后在主机上用穿插编译器进行编译。/usr/local/ar
7、m-linux/bin/arm-linux-gcc-ohellohello.c此外可以以设置好PATH环境变量以方便使用。exportPATH=/usr/local/arm-linux/bin:$PATHgcc-ohellohello.c将可执行文件hello复制到分享目录/exp,在目的机上运行hello#./hello显示hello,world1.4归纳总结嵌入式系统下软件开发的一般流程PC机上编写软件代码并用穿插编译环器编译制作内核和文件系统并通过串口完成下载启动内核并借助于NFS文件系统进行程序测试完成调试后,将可执行文件参加文件系统并运行。2.Linux内核配置与编译本实验中用的内核
8、源码是linux-2.4.21-51Board_EDR,在目录/usr/src/linux下。源代码树下有如下目录:arch支持的微处理器体系构造,include头文件,init初始化代码,mm内存管理代码,kernel主要的内核代码,drives所有的设备驱动程序,lib库文件代码,net网络相关代码等。将目的板的开机画面换成本人设定的画面的做法是:将/usr/src/linux目录下的内核源代码拷贝到本人的目录下,进入这个目录,在arch/arm下找到开发板启动画面的文件,将其删除,用本人的图画替换。有两个小的注意事项是目的板只是别.ppm文件,所以需要改变原来图画的文件格式,可直接改文件
9、后缀名,或者在终端中用命令convert。且图画的文件名必须为linux_logo。convertlinux_logo.jpglinux_logo.ppm2.1内核配置编译的基本流程在文件夹linux-2.4.21-51Board_EDR打开终端。makemenuconfig(进入内核配置菜单)根据需要对内核配置项进行选择。配置变量有四种选择:y静态编译进内核,m内核代码被编译成模块,n表示不编译进内核,表示配置变量的值为空。按空格键能够切换着几种选择。下面针对一些比拟重要的内核配置项进行讲明:1.Loadablemodulesupport,将不常用的设备模块化,动态地加载。这样能愈加有效利用
10、内存。所以最好选中。2.Systemtype,处理器种类。本实验选中“PXA270/210-based“XSBase270-EDR。3.在Networkdevicesupport,网络设备驱动。选择对应的网卡。本实验箱的网卡是“Ethernet10Mor100Mbit“SMSCLAN91C111。4.Consoledrivers,终端设备驱动配置。为了以后实验中要用到的支持图像的功能,要选择“supportforframebufferdevices和“PXALCDsupport。5.在“Generalsetup-Defaultkernelcommandstring中设定内核启动时的一些参数,在
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Linux 内核 配置 编译 文件系统 构建 要点
限制150内