查看: 2544|回复: 0

[i.MX6ULL竞赛专区] 【我的项目666+AD采集项目】busybox制作rootfs

[复制链接]
  • TA的每日心情
    开心
    2018-6-27 13:15
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    12

    主题

    22

    帖子

    0

    注册会员

    Rank: 2

    积分
    190
    最后登录
    2019-6-24
    发表于 2018-7-10 14:03:57 | 显示全部楼层 |阅读模式
    本帖最后由 apple_9938 于 2018-7-10 14:03 编辑

    1  获取源码    1、下载busybox源码,下载链接  http://busybox.net/downloads/ ,我用的是1.28.0
        2、解压压缩文件 tar -xvjf busybox-1.28.0.tar.bz2
        3、进入源码目录

    2  配置编译busybox
    1、修改顶层Makefile 文件,  ARCH ?=   改为 ARCH ?= arm  ;;     CROSS_COMPILE ?=  改为 CROSS_COMPILE ?= arm-linux-gnueabi-
        2、make defconfig
        3、make menucnfig
    选择“Querycursor position from terminal”是的编译出的busyboxshell命令支持显示当前路径及主机信息
    1.jpg
    2.jpg
        4、执行 make   ;   make install   命令 默认在busybox源码目录下生成一个_install目录,_install 目录下有三个文件  bin  sbin linuxsrc
            bin包含用户工具,其中,busybox可执行文件就在这个目录 下,该目录下其他所有文件都是指向busybox的符号链接
            sbin目录包含操作系统工具,同样也指向busybox。
            linuxrc是一个链接文件,指向busybox。
            执行make命令出现的错误参考http://blog.csdn.net/chuanzhilong/article/details/51815988 进行修改
    3、在虚拟机上建立自己的根文件目录
          1、建立自己的文件目录rootfs
          2、拷贝_install 目录中的文件到rootfs  切记一定要带上-a的参数,因为bin目录里大部分都是链接,如果不带-a的参数,拷过去之后会做相应的复制,不再是链接的形式  cp -ra ../busybox-1.28.0/_install/* ./
          3、example/bootflop下的etc文件拷贝到rootfs目录下  带上 -a参数
               修改inittab
                    原始文件为:
            1 ::sysinit:/etc/init.d/rcS
            2 ::respawn:-/bin/sh
            3 tty2::askfirst:-/bin/sh
            4 ::ctrlaltdel:/bin/umount -a -r
          修改后为:
            ---(1):开机免登陆,直接打开shell(前面数字为行号)        
            1 ::sysinit:/etc/init.d/rcS
              2 #::respawn:-/bin/sh
              3 #::respawn:-/bin/login
              4 console::askfirst:-/bin/sh
              5 #tty2::askfirst:-/bin/sh
              6 ::ctrlaltdel:/bin/umount -a -r
            ---(2):开机需要登陆(前面数字为行号)        
            1 ::sysinit:/etc/init.d/rcS
            2 #::respawn:-/bin/sh
            3 ::respawn:-/bin/login
            4 #console::askfirst:-/bin/sh
            5 #tty2::askfirst:-/bin/sh
            6 ::ctrlaltdel:/bin/umount -a -r

          4、在rootfs目录下新建 root dev tmp var sys proc lib mnt home opt 目录
          5、在dev目录下添加基本设备文件  mknod -m 660 /dev/console c 5 1     ;     mknod -m 660 /dev/null  c 1 3
          6、拷贝linux源码目录上的passwd、group、shadow、fstable文件到etc目录下,只保留root行:
          1) passwd内容: root:x:0:0:root:/root:/bin/sh
                    group内容:root:x:0:
               2)shadow内容  :root1$x9yv1WlB$abJ2v9jOlOc9xW/y0QwPs.:14034:0:99999:7:::
               3)修改profile
      PATH=/bin:/sbin:/usr/bin:/usr/sbin          //可执行程序 环境变量
      export LD_LIBRARY_PATH=/lib:/usr/lib        //动态链接库 环境变量
      /bin/hostname osee
      USER="`id -un`"
      LOGNAME=$USER
      HOSTNAME='/bin/hostname'
      PS1='[\u@\h \W]# '                          //显示主机名、当前路径等信息:
             4)修改 etc/init.d/rc.S文件
      /bin/mount -n -t ramfs ramfs /var
      /bin/mount -n -t ramfs ramfs /tmp
      /bin/mount -n -t sysfs none /sys
      /bin/mount -n -t ramfs none /dev
      /bin/mkdir /var/tmp
      /bin/mkdir /var/modules
      /bin/mkdir /var/run
      /bin/mkdir /var/log
      /bin/mkdir -p /dev/pts                    //telnet服务需要
      /bin/mkdir -p /dev/shm                    //telnet服务需要
      #echo /sbin/mdev > /proc/sys/kernel/hotplug//USB自动挂载需要
      /sbin/mdev -s         //启动mdev在/dev下自动创建设备文件节点
      /bin/mount -a
       #######配置网络################################
       /sbin/ifconfig lo 127.0.0.1 netmask 255.0.0.0

      /sbin/ifconfig eth0 192.168.1.70
      /sbin/ifconfig eth0 netmask 255.255.255.0
      /sbin/route add default gw 192.168.1.1 eth0

      /sbin/ifconfig eth1 192.168.1.71 netmask 255.255.255.0
      /sbin/route add default gw 192.168.1.1 eth1


             5)修改etc/fstab文件,增加以下文件
            none   /dev/pts    devpts   mode=0622      0 0
           tmpfs  /dev/shm    tmpfs    defaults       0 0

           7、将交叉编译工具中的lib库复制到根文件目录相应的目录lib
    4、生成文件系统
        rootfs目录打包成UBIFS文件包,烧入电路板中测试
        #tar –czvf../rootfs.tar.gz *

    参考 :http://www.cnblogs.com/sky-heaven/p/5688100.html

    哎...今天够累的,签到来了~
    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2024-5-4 08:04 , Processed in 0.109971 second(s), 19 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表