根文件系统制作

1.官网下载工具

制作工具:busybox

https://busybox.net/downloads/

 2.制作根文件系统

2.1准备工作

 a.把压缩包放在FSP1M目录下,并解压 

2.2正式开始

2.2.1配置交叉编译工具链

1. 打开Makefile文件

2. 修改ARCH ?=$(SUBARCH)      ==>>   ARCH ?= arm

3.修改CROSS_COMPILE ?=

 

 ​​​​​​​

2.2.2配置其他(menuconfig)

1.打开图形化界面 :make menuconfig 

2.修改配置

Settings --->

         [*] Build static binary (no shared libs)

        (arm-linux-gnueabihf-) Cross compiler prefix ==>>设置使用的交叉编译工具链

        [*] vi-style line editing commands ==>> 设置vi风格

        (./rootfs) Destination path for 'make install' ==>>设置生成的文件名

Linux Module Utilities --->

         [ ] Simplified modutils ==>> 支持模块化方式进行编译

 

 

 

2.2.3 编译和安装

busybox-1.35.0下输入:time make -j4 all ==>>编译

busybox-1.35.0下输入:make install ==>>安装

2.2.4成功现象

生成 rootfs文件

 2.3 后续添加文件

2.3.1 添加rcS脚本文件

1.创建文件:在~/nfs/rootfs目录下 ==>> 创建etc/init.d文件

2.添加内容:打开init.d(init.d就是rcS脚本文件)    ===>>      添加下列内容

        #!/bin/sh

        #This is the first script called by init process

        /bin/mount -a

        mkdir /dev/pts

        mount -t devpts devpts /dev/pts

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

        mdev -s

        echo 4 3 1 7 > /proc/sys/kernel/printk

2.3.2添加fstab脚本文件

1.创建文件:在~/nfs/rootfs/etc目录下,创建fstab文件==>>touch fstab

2.添加内容:打开fstab,添加内容 ==>>vi fstab

        #device mount-point type options dump fsck orde
        proc   /proc  proc  defaults  0  0
        tmpfs  /tmp   tmpfs defaults  0  0
        sysfs  /sys   sysfs defaults  0  0
        tmpfs  /dev   tmpfs defaults  0  0

2.3.3添加 proc tmp sys dev文件

1.创建文件:在~/nfs/rootfs目录下,创建proc、tmp、sys、dev文件

        mkdir proc tmp sys dev

2.3.4添加前导符

1、添加inittab文件

1.创建文件:在~/nfs/rootfs/etc目录下,创建inittab文件==>>touch inittab

2.添加内容:打开inittab,添加内容 ==>>vi inittab

::sysinit:/etc/init.d/rcS 
::askfirst:-/bin/sh
::restart:/sbin/init 
::ctrlaltdel:/sbin/reboot  

2、添加profile文件

1.创建文件:在~/nfs/rootfs/etc目录下,创建profile文件==>>touch profile

2.添加内容:打开profile,添加内容 ==>>vi profile

export HOSTNAME=fsmp1a
export USER=root
export HOME=root
#export PS1="\[\u@\h \W\ ]\$ "
#cd root
export PS1="[$USER@$HOSTNAME \w]\# "
PATH=/bin:/sbin:/usr/bin:/usr/sbin:$PATH
LD_LIBRARY_PATH=/lib:/usr/lib:$LD_LIBRARY_PATH
export PATH LD_LIBRARY_PATH  

成功现象:

 

2.3.5添加lib文件(移植库)

1.创建文件:在~/nfs/rootfs目录下,创建lib文件==>>touch lib

2.查找可执行文件所需要的库:arm-linux-gnueabihf-readelf -d a.out ==>>结果是:libc.so.6

3.拷贝库资源:

        a.在ubuntu中查找所需要的库资源 ===>>

                在gcc-7.5.0文件中: find -name libc.so.6

                结果为   ./arm-linux-gnueabihf/libc/lib/libc.so.6

        b.将./arm-linux-gnueabihf/libc/lib/libc.so.路径下的文件拷贝到 ~/nfs/rootfs/lib

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值