




免费预览已结束,剩余25页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
嵌入式Linux根文件系统构建 王斌2006 04 嵌入式Linux根文件系统构建实验 Linux根文件系统介绍根文件系统的目录结构使用Busybox生成工具集根文件系统启动流程根文件系统烧写流程 Linux根文件系统介绍 内核启动的最后步骤 挂载根文件系统 包含 Init进程Shell文件系统 网络系统等等的工具集系统配置文件链接库 Linux根文件系统目录结构 bin必要的用户命令 二进制文件 boot引导加载程序使用的静态文件dev设备文件及其他特殊文件etc系统配置文件 home用户主目录lib必要的链接库 例如 C链接库 内核模块mnt临时挂载的文件系统的挂载点 目录在嵌入式Linux上为可选的 Linux根文件系统目录结构 opt附加软件的安装目录proc提供内核和进程信息的proc文件系统 rootroot用户主目录sbin必要的系统管理员命令tmp临时文件目录usr大多数用户使用的应用程序和文件目录var监控程序和工具程序存放的可变数据 Linux根文件系统目录结构 dev目录设备文件及其他特殊文件当配置内核支持设备文件系统devfs时 此目录中的设备节点由内核和驱动程序自动创建 Linux根文件系统目录结构 lib目录存放系统必要的动态链接库 支持系统的正常启动 ld动态链接器必要libc主C链接器进程必要libm数学进程数学函数需要用到libcrypt密码学进程多数涉及认证的应用程序需要使用完整说明参见glibc使用手册 Linux根文件系统目录结构 etc目录 系统配置文件fstab挂载文件系统的配置文件passwdPassword文件inetd confInetd守护进程的配置文件groupGroup文件init d rcS缺省的sysinit脚本 使用Busybox生成工具集 很小的应用程序提供完整的工具集的功能Init进程Shell文件系统 网络系统等等的工具集 Busybox的配置和交叉编译 1 在下载Busybox busybox 1 1 0 tar bz2解压后 进入配置菜单 makemenuconfig Busybox的配置和交叉编译 2 Busybox的配置和交叉编译 3 选择Busybox的编译方式 BuildOptionsBuildBusyBoxasastaticbinary nosharedlibs 缺省配置为使用链接库 Busybox的配置和交叉编译 3 配置交叉编译器 BuildOptions DoyouwanttobuildBusyBoxwithaCrossCompiler home wbn arm2410 tools usr local arm 3 4 1 bin arm linux CrossCompilerprefix安装路径 InstallationOptions install BusyBoxinstallationprefix Busybox的配置和交叉编译 4 配置其他工具集 ArchivalUtilitiesCoreutilsConsoleUtilitiesDebianUtilitieEditorsFindingUtilitiesInitUtilitiesLogin PasswordManagementUtilitiesMiscellaneousUtilitiesLinuxModuleUtilitiesNetworkingUtilitiesProcessUtilitiesShellsSystemLoggingUtilitiesLinuxSystemUtilities Busybox的配置和交叉编译 4 配置其他工具集 InitUtilities init Supportreadinganinittabfile Supportrunninginitfromwithinaninitrd 编译后 bin linuxrc bin busybox sbin Busybox的配置和交叉编译 4 配置其他工具集 ArchivalUtilities工具 tar zip unzipCoreutils常用命令 basenamecatchgrpchmoddatedddfechoenvlnlsmkdirmknodmvpwdrmrmdirsleepsortsyncwcwhoami等等Editors编辑命令 viawksed等FindingUtilities查找命令 findgrepxargs Busybox的配置和交叉编译 4 配置其他工具集 Login PasswordManagementUtilitiesLogin gettyloginpasswdNetworkingUtilities网络命令集 hostnameifconfiginetdnetstatpingrouteProcessUtilities进程命令 freepssysctltopShellsshell工具 ash等SystemLoggingUtilities日志工具 syslogdklogdLinuxSystemUtilities系统工具 dmesgfdiskgetoptmoremountumount Busybox的配置和交叉编译 5 编译Busybox makedep make makeinstall Busybox的配置和交叉编译 6 编译生成的目录结构 bin linuxrc sbin usr usr bin usr sbin 构建根文件系统 在 root etc目录下 建立配置文件 init d rcS缺省的sysinit脚本 etc catinit d rcS bin sh bin mount a bin mount n tramfsramfs var bin mount n tramfsramfs root bin mkdir var tmp bin mkdir var modules bin mkdir var run bin mkdir var logexec usr etc rc local 构建根文件系统 在 root etc目录下 建立配置文件 fstab挂载文件系统的配置文件 etc catfstabnone procprocdefaults00none dev ptsdevptsmode 062200tmpfs dev shmtmpfsdefaults00 dev mtdblock 1 mnt yaffsyaffsdefaults11 dev scsi host0 bus0 target0 lun0 part1 mnt udiskvfatnoauto codepage 936 iocharset cp93600 dev ide host0 bus0 target0 lun0 part1 mnt hdap1vfatnoauto codepage 936 iocharset cp93600 dev ide host0 bus0 target0 lun0 part2 mnt hdap2vfatnoauto codepage 936 iocharset cp93600 dev ide host0 bus0 target0 lun0 part3 mnt hdap3vfatnoauto codepage 936 iocharset cp93600 dev ide host0 bus0 target1 lun0 part1 mnt hdbp1vfatnoauto codepage 936 iocharset cp93600 dev mmc disc0 part1 mnt sdcardvfatnoauto codepage 936 iocharset cp93600 构建根文件系统 在 root etc目录下 建立配置文件 inetd confservicesprotocolsInetd守护进程的配置文件 etc catinetd conf ftpstreamtcpnowaitroot sbin ftpdftpdtelnetstreamtcpnowaitroot sbin in telnetdin telnetdinetd conf只能使用 etc services中限定的服务inetd conf只能使用 etc protocols中限定的协议 构建根文件系统 在 root etc目录下 建立配置文件 profile ash的配置脚本 etc catprofile etc profile executedbybash 1 forloginshells HOME rootPS1 w PATH PATH exportFRAMEBUFFER dev fb 0 LD LIBRARY PATH mnt yaffs libcd mnt yaffsaliasll ls l aliasmntnfs mount tnfs onolock if f mnt yaffs profile thencp a mnt yaffs profile fiecho runing etc profileok 构建根文件系统 在 root etc目录下 建立配置文件 etc passwdpassword文件格式 account password UID GID GECOS directory shellaccount用户段password密码段UIDuserid段GIDgroupid段GECOS 信息段 可选 directory用户登陆目录shelllogin时运行的shell示例 root 0 0 root bin shbin 1 1 bin bin 构建根文件系统 在 root etc目录下 建立配置文件 etc hosts静态域名解析表格式 IP addresscanonical hostnamealiases127 0 0 1localhost localdomainlocalhost192 168 0 43server localdomainserver 根文件系统启动流程 KERNEL起来之后 将运行第一个进程 init 实际上执行的为Busybox的 sbin initinit的工作是根据 etc inittab脚本来进行系统的初始化格式 runlevels action processsysinit 指定运行的第一个程序 脚本respawn 若该进程结束 init会再起一个进程执行同样的命令ctrlaltdel 指定在用户按下Ctrl Alt Del时执行的命令 etc catinittab sysinit etc init d rcS respawn bin sh ctrlaltdel bin umount a r 根文件系统启动流程 init进程运行脚本 etc init d rcS 在rcS中挂载文件系统 并且执行脚本 usr etc rc local在rc l
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论