linux3.4.2内核移植详解(三):制作根文件系统

tar xjf busybox-1.20.0.tar.bz2 解压进入顶层目录:

修改顶层Makefile:

        ARCH        ?= arm

        CROSS_COMPILE   ?= arm-linux-

执行make menuconfig产生.config文件,使用默认配置

        Busybox Settings -> Installation Options->

        [*] Don’t use /usr

执行make编译

安装到文件系统目录下:

        首先创建文件系统目录:

              sudo mkdir /work/nfs_root/fs_mdev_1.20

        安装:

              sudo make install CONFIG_PREFIX=/work/nfs_root/fs_mdev_1.20

安装库:

       进入/usr/local/arm/4.3.2/

       输入find -name lib可以找到很多库

               ./arm-none-linux-gnueabi/lib

              ./arm-none-linux-gnueabi/libc/usr/lib

              ./arm-none-linux-gnueabi/libc/armv4t/usr/lib

              ./arm-none-linux-gnueabi/libc/armv4t/lib

              ./arm-none-linux-gnueabi/libc/lib

             ./arm-none-linux-gnueabi/libc/thumb2/usr/lib

             ./arm-none-linux-gnueabi/libc/thumb2/lib

             ./lib

      我们只需要用到2个库:

            ./arm-none-linux-gnueabi/libc/armv4t/usr/lib

           ./arm-none-linux-gnueabi/libc/armv4t/lib

     只需要将上面两个库拷贝过来就可以,先在fs_mdev_1.20目录下建立以lib目录:

           sudo mkdir /work/nfs_root/fs_mdev_1.20/lib

     然后将上述两个库中的所有.so文件拷贝过去:

          sudo cp /usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/armv4t/usr/lib/*.so* /work/nfs_root/fs_mdev_1.20/lib/ -d(-d代表       原来是链接文件,拷贝过来之后还是链接文件)

          sudo cp /usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/armv4t/lib/*.so* /work/nfs_root/fs_mdev_1.20/lib/ -d

进入我们建好的根文件系统顶层目录:

       创建etc目录:

            sudo mkdir etc

       创建etc/inittab文件:

             # /etc/inittab

            ::sysinit:/etc/init.d/rcS

            console::askfirst:-/bin/sh

            ::ctrlaltdel:/sbin/reboot

            ::shutdown:/bin/umount -a -r

       创建etc/init.d/rcS文件:

             #!/bin/sh

             mount -a

             mkdir /dev/pts

             mount -t devpts devpts /dev/pts

             echo /sbin/mdev > /proc/sys/kernel/hotplug

             mdev -s

       创建完更改属性:

             chmod +x etc/init.d/rcS

       创建etc/fstab文件:

             # device   mount-point   type    options   dump    fsck    order

               proc       /proc         proc    defaults     0      0

              tmpfs      /tmp         tmpfs    defaults     0      0

             sysfs       /sys          sysfs     defaults     0      0

            tempfs     /dev          tempfs   defaults     0      0

     创建dev目录:

            mkdir dev

            cd dev

            sudo mknod console c 5 1

            sudo mknod null c 1 3

     创建其他目录:

           mkdir proc mnt sys root

至此,最小的根文件系统已经做好,接下来需要将它制作成映像文件。

         在/work/nfs_root目录:

               mkyaffs2image fs_mdev_1.20 fs_mdev_1.20.yaffs2

将fs_mdev_1.20.yaffs2烧进开发板

ok,毕

参考:https://blog.youkuaiyun.com/qq_37375427/article/details/79136497

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值