电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

根文件系统制作记录

7页
  • 卖家[上传人]:第***
  • 文档编号:34254000
  • 上传时间:2018-02-22
  • 文档格式:DOCX
  • 文档大小:28.97KB
  • / 7 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、根文件系统制作记录一、 所用工具Busybox-1.16.1arm-linux-gcc-4.3.2二、 制作过程1. 编译/安装 Busybox1.1 下载 Busybox 及其补丁从 http:/ 下载 busybox-1.16.1.tar.bz2 及该版本的所有补丁。补丁一个有 5 个,包括:busybox-1.16.1-ash.patchbusybox-1.16.1-cpio.patchbusybox-1.16.1-dnsd.patchbusybox-1.16.1-hwclock.patchbusybox-1.16.1-indexcgi.patchbusybox-1.16.1-sed.patch下载完成后将 busybox-1.16.1.tar.bz2 复制到/work/create_rootfs 目录下,所有补丁文件复制到/work/create_rootfs/ busybox-1.16.1-patch 目录下。使用如下命令将 busybox-1.16.1.tar.bz2 解压到 busybox-1.16.1 目录$ tar xjf busybox-1.16.1.tar.bz2

      2、 1.2 给 Busybox 打上补丁可以手工逐一给 Busybox 打补丁,也可以编写脚本自动帮我们完成打补丁的工作,这里采用后面一种方法。$ gedit /work/create_rootfs/patch.sh加入如下脚本:#!/bin/shcd busybox-1.16.1echo install patch:for patch_file in ls ./busybox-1.16.1-patch/busybox-1.16.1-*.patchdopatch -p1 General Configuration-* Show verbose applet usage messages* Store applet usage messages in compressed form* Support install -s to install applet links at runtime* Enable locale support(system needs locale for this to work)* Support for long-options* Use the devpt

      3、s filesystem for unix98 PTYs* Support writing pidfiles* Runtime SUID/SGID configuration via /etc/busybox.config* Suppress warning message if /etc/busybox.conf is not readableBuild Options-* Build BusyBox as a static binary(no shared libs)* Build with Large File Support(for accessing files2GB)Installation Options-Dont use /usrApplets links (as soft-links) -(./_install) BusyBox installation prefixBusybox Library Tuning -(6)Minimum password legth(2)MD5:Trade Bytes for Speed*Fsater /proc scanning co

      4、de(+100bytes)*Command line editing(1024)Maximum length of input* vi-style line editing commands(15) History size* History saving* Tab completion*Fancy shell prompts(4) Copy buffer size ,in kilobytes*Use ioctl names rather than hex values in error messages*Support infiniband HW(2)Linux Module Utilities-(/lib/modules)Default directory containing modules(modules.dep)Default name of modules.dep增加对 mdev 的支持:(3)Linux System Utilities -*Support /etc/mdev.conf*Support command execution at device additio

      5、n/removal1.4 安装 Busybox使用如下命令将 Busybox 安装到/work/create_rootfs/rootfs 目录下:$ mkdir /work/create_rootfs/rootfs$ make$ make CONFIG_PREFIX=/work/create_rootfs/rootfs install将 Busybox 安装到 /work/create_rootfs/rootfs 目录下,Busybox 将在该目录下创建如下几个文件和目录:drwxr-xr-x 2 heaad heaad 4096 2010-05-09 10:54 binlrwxrwxrwx 1 heaad heaad 11 2010-05-09 10:54 linuxrc - bin/busyboxdrwxr-xr-x 2 heaad heaad 4096 2010-05-09 10:54 sbindrwxr-xr-x 4 heaad heaad 4096 2010-05-09 10:54 usr2. 构建根文件系统2.1 创建根文件系统下必要的目录为了创建根文件系统下的其他目录与文

      6、件,我们可以采用手工敲命令创建的方式,也可以编写脚本自动完成,这里采用后一种方式。编写如下脚本,保存为/work/create_rootfs /create_fs.sh 。#!/bin/shecho -creating rootfs directions-cd /work/create_rootfs/rootfsecho -creating root ,dev -mkdir root dev etc boot tmp var sys proc lib mnt homemkdir etc/init.d etc/rc.d etc/sysconfigmkdir usr/lib usr/modulesecho -making node for dev/console dev/null-mknod -m 600 dev/console c 5 1 mknod -m 600 dev/null c 1 3mkdir mnt/etc mnt/jffs2 mnt/yaffs mnt/data mnt/tempmkdir var/lib var/lock var/run var/tmpchmod 1777

      7、 tmp chmod 1777 var/tmpecho -make direction done-使用如下的命令执行脚本:sudo chmod +x create_fs.shsudo ./create_fs.sh /mknod 需要管理员权限2.2 创建 etc/fstab 文件etc/fstab 文件中指定了内核启动后要挂载的文件系统。$ cd /work/create_rootfs/rootfs$ gedit etc/fstab在该文件中添加如下内容:#device mount-point type option dump fsck orderproc /proc proc defaults 0 0tmpfs /tmp tmpfs defaults 0 0sysfs /sys sysfs defaults 0 0tmpfs /dev tmpfs defaults 0 02.3 创建 etc/inittab 文件Busybox 的 init 程序根据 etc/inittab 的内容创建各种子进程。$ gedit etc/inittab在该文件中添加如下内容:# /etc/initta

      8、b:sysinit:/etc/init.d/rcSs3c2410_serial0:askfirst:-/bin/sh:ctrlaltdel:/sbin/reboot:shutdown:/bin/umount -a -r 0 012.4 创建 etc/init.d/rcS 文件etc/init.d 文件中保存的是自动执行的命令。$ gedit etc/init.d/rcS#! /bin/shifconfig eth0 192.168.0.11mount -amkdir /dev/ptsmount -t devpts devpts /dev/ptsecho /sbin/mdev /proc/sys/kernel/hotplugmdev -s最后还要改变这个文件的属性,使它能够执行。$ sudo chmod +x etc/init.d/rcS2.5 复制 glibc 库文件Busybox 的运行依赖于 glibc 动态链接库,而 Linux 上的应用程序也可能需要链接动态链接库,因此需要将 glibc 库复制到根文件系统的 lib 目录下:$ cp /usr/local/arm/4.3.2/

      9、arm-none-linux-gnueabi/libc/armv4t/lib/*so* /work/create_rootfs/rootfs /lib -d其中/usr/local/arm/4.3.2 是 arm-linux-gcc 安装的目录,请根据你机器上具体安装的目录作相应的修改。若出现根文件系统无法挂载的情况,请先检查etc/init.d/rcS、etc/inittab、etc/fstab 这几个文件是否正确。有些难以察觉的错误比如“-” 符号由于 Word 的自动画线功能可能会被自动修改为 “” ,若读者直接复制 Word 里面的符号到 Linux 下,则有可能导致根文件系统挂载失败。三、 根文件系统的挂载1 根文件系统存储在 NAND FlashNAND Flash 上的根文件系统一般采用 YAFFS2 格式,这就需要我们将根文件系统制作成 YAFFS2 格式的映像文件,然后烧写到 NAND Flash中。这里使用的制作映像文件的工具是 YAFFS2 自带的工具mkyaffs2image。烧写 64B 和 128MB 或以上的 NAND Flash 所用到mkyaffs2image 是不同的,需要作修改,移植的详细过程请参考mkyaffs2image 移植过程 。使用使用如下命令:cd /work/create_rootfs 对于 128MB 或以上的 NAND Flash,请用下面的命令:mkyaffs2image-128m rootfs rootfs.yaffs2-128m对于 64MB 的 NAND Flash,请用下面的命令:mkyaffs2image-64m rootfs rootfs.yaffs2-64m2 根文件系统存储在 SD 卡SD 卡挂载根文件系统请参考SD 卡启动 Linux 并挂载根文件

      《根文件系统制作记录》由会员第***分享,可在线阅读,更多相关《根文件系统制作记录》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2 2022年小学体育教师学期工作总结 2022年家长会心得体会集合15篇
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.