嵌入式Linux无法挂载rootfs,嵌入式linux软件平台--根文件系统rootfs构建

TI提供了参考的rootfs,但由于在实际产品中受到存储空间的限制,以及产品应用的实现要求,需要重新搭建rootfs。

rootfs的搭建通过使用开源软件busybox实现。

Busybox

RootFs使用Busybox进行搭建,关于Busybox的功能及使用请查看相关文档,这里简单介绍Busybox的编译流程.

下载最新的Busybox版本Busybox-1.22.1

解压后进入目录,运行make menuconfig

设置Cross Compiler prefix为arm-linux-gnueabihf-

设置Don't use /usr

保存配置退出

make && make install

Rootfs目录

使用busybox编译生成的文件,搭建Rootfs目录,流程如下:

创建rootfs文件夹

mkdir rootfs

cd rootfs

创建creat_rootfs.sh文件并执行,完成Rootfs目录结构的创建.

#!/bin/sh

#root dir

mkdir bin sbin lib etc dev sys proc tmp var opt mnt usr home root media

#usr sub dir

cd usr

mkdir bin sbin lib local

#usr/local sub dir

cd local

mkdir bin sbin lib

cd ../..

#etc sub dir

cd etc

touch inittab

touch fstab

touch profile

touch passwd

touch group

touch shadow

touch resolv.conf

touch mdev.conf

touch inetd.conf

mkdir rc.d

mkdir init.d

touch init.d/rcS

chmod +x init.d/rcS

mkdir sysconfig

touch sysconfig/HOSTNAME

cd ..

#dev sub dir

cd dev

mknod console c 5 1

chmod 777 console

mknod null c 1 3

chmod 777 null

cd ..

#var sub dir

cd var

mkdir log

cd ..

复制busybox编译生成的文件到rootfs下对应目录

使用arm-linux-gnueabihf-readelf –d查看busybox及qtlib文件依赖的库文件

从arm-linux-gnueabihf工具链的库文件中复制需要的内容到rootfs/lib

使用arm-linux-gnueabihf-strip对lib下的库文件进行压缩

编辑/etc/inittab文件

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

::respawn:-/bin/login

编辑/etc/fstab文件none /dev/pts devpts mode=0622 0 0

tmpfs /dev/shm tmpfs defaults 0 0

编辑/etc/group文件

root:x:0:root

编辑/etc/passwd文件

root:x:0:0:root:/root:/bin/sh

编辑/etc/profile文件

PATH=/bin:/sbin:/usr/bin:/usr/sbin

export LD_LIBRARY_PATH=/lib:/usr/lib

USER="`id -un`"

LOGNAME=$USER

PS1='[u@h W]# '

编辑/etc/init.d/rcS文件

#! /bin/sh

/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

/bin/mkdir -p /dev/shm

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

/sbin/mdev -s

/bin/mount –a

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值