嵌入式linux软件平台--根文件系统rootfs构建

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

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

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

  1. 下载最新的Busybox版本Busybox-1.22.1
  2. 解压后进入目录,运行make menuconfig
  3. 设置Cross Compiler prefix为arm-linux-gnueabihf-
  4. 设置Don't use /usr
  5. 保存配置退出
  6. 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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值