根文件系统的概述

1、什么是根文件系统

rootfs是linux内核启动后,挂载的第一个文件系统。rootfs不是一个可执行程序,而是一个文件包,这个文件包中,有应用程序、shell命令、动态库、配置文件、设备文件、多媒体文件、…

挂载完rootfs,再挂载其他的文件系统。
例、挂载U盘
注意:在linux内核中,已经有u盘的驱动:USB的主机驱动、USB mass storage、fat文件系统

root@GEC6818 /]#cat /proc/partitions —->查找linux系统的块设备
major minor #blocks name

179 0 7634944 mmcblk0 ——>eMMC电子硬盘:存放u-boot、kernel、rootfs
179 1 65536 mmcblk0p1
179 2 772096 mmcblk0p2
179 3 438272 mmcblk0p3
179 4 1 mmcblk0p4
179 5 8192 mmcblk0p5
179 6 22528 mmcblk0p6
179 7 6324224 mmcblk0p7
179 16 4096 mmcblk0boot1
179 8 4096 mmcblk0boot0
8 0 1956864 sda —–>U盘
8 1 1802240 sda1

[root@GEC6818 /]#ls /dev/sda1 -l
brw-rw-rw- 1 root root 8, 1 Jan 1 00:00 /dev/sda1 —->U盘的设备文件

[root@GEC6818 /]#mount -t vfat /dev/sda1 udisk —->将U盘挂载到rootfs的某个目录上

[root@GEC6818 /]#ls /udisk —>通过挂载点,访问U盘的内容

rootfs也有文件系统的格式:GEC6818—>ext4

2、rootfs中有什么东西?

[root@GEC6818 /]#ls / /—->linux操作系统的根
IOT etc lost+found root sys var
bin lib mnt run tmp
dev linuxrc proc sbin usr

1)/bin /sbin /usr/bin /usr/sbin
linux shell命令 <—– busybox软件包交叉编译后生成的。

2)/lib /usr/local/Qt-Embedded-5.7.0/lib
—->运行linux应用程序使用的动态库。
思考:在嵌入式平台,是否有静态库?

3)/etc
—->linux系统的配置文件。
/etc/profile —>声明linux的环境变量
/etc/fstab —->当linux内核挂载完rootfs后,自动挂载其他的文件系统:如将proc文件系统挂在到/proc目录下;将sysfs文件系统挂在到/sys目录下;将tmpfs挂在到/dev目录下。
/etc/hostname —>主机名
/etc/pointercal —>触摸屏的校正文件

注意:
GEC6818平台上,U盘自动挂载到/mnt/udisk,如何实现的????

vi /etc/mdev.conf(自动挂载的文件)
USB disk or SD disk

sd[a-z]*[0-9] root:root 666 @mount -t vfat MDEV/mnt/udiskoutf8=1Usd[az]root:root666 umount /mnt/udisk(U盘卸载)

mmcblk[1]*p[0-9] root:root 666 @mount -t vfat $MDEV /mnt/sd -o utf8=1(SD卡挂载)

4) /dev
—–>linux的设备文件(只有字符设备和块设备有设备文件,网络设备是没有设备文件的)。应用程序通过设备文件访问linux内核中的驱动程序,再通过驱动程序访问硬件。

crw-rw—- 1 root root 204, 64 Jan 1 1970 ttySAC0
crw-rw—- 1 root root 204, 65 Jan 1 1970 ttySAC1
crw-rw—- 1 root root 204, 66 Jan 1 1970 ttySAC2
crw-rw—- 1 root root 204, 67 Jan 1 1970 ttySAC3

crw-rw—- 1 root root 81, 5 Jan 1 1970 video5
crw-rw—- 1 root root 81, 6 Jan 1 1970 video6

crw-rw—- 1 root root 29, 0 Jan 1 1970 fb0

crw-rw—- 1 root root 14, 3 Jan 1 1970 dsp
crw-rw—- 1 root root 14, 19 Jan 1 1970 dsp1
crw-rw—- 1 root root 14, 0 Jan 1 1970 mixer
crw-rw—- 1 root root 14, 16 Jan 1 1970 mixer1

brw-rw-rw- 1 root root 8, 0 Jan 1 00:00 sda
brw-rw-rw- 1 root root 8, 1 Jan 1 00:00 sda1

crw-rw—- 1 root root 10, 130 Jan 1 1970 watchdog

5)/proc
—->实时的反应linux系统的工作信息。linux挂载完rootfs后,将proc文件系统挂载到/proc目录下。proc文件系统是一种虚拟的文件系统,会将linux系统的工作详细信息进行抽象,挂载到/proc目录下
/proc/数字 —-> 进程的详细信息
/proc/devices —->查看linux内核中,安装了哪些字符设备和块设备
/proc/filesystems —>查看linux系统支持哪些文件系统
/proc/interrupts —>看看linux内核中注册哪些中断,以及这些中断发生的次数。

6)/mnt
—->挂载点,udisk—U盘的挂载点,sd—SD卡的挂载点

7)/root
—–>root用户的家目录

8)/sys
—–>linux设备驱动的详细信息,linux挂载完rootfs后,将sysfs文件系统挂载到/sys目录下,实时的反应linux设备设备驱动的详细信息。

9)/tmp
—–>存放临时文件

10)/usr
—–>用户的一些应用小工具,或者动态库

11)/var
——>linux系统的工作日志

12)/IOT
——>物联网实验平台使用的驱动程序、应用程序、测试程序、数据

3、/etc/profile文件

Source configuration files from /etc/profile.d
for i in /etc/profile.d/*.sh ; do
if [ -r “ i];then. i
fi
unset i
done

PATH=/bin:/sbin:/usr/bin:/usr/sbin
LD_LIBRARY_PATH=/lib:/lib:/usr/lib
USER=”id -un
LOGNAME=$USER
HOME=/root
PS1=’[\u@\h \w]#’

export USER LOGNAME HOME PS1 PATH LD_LIBRARY_PATH —–>声明linux系统的环境变量

export QTDIR=/usr/local/Qt-Embedded-5.7.0
export PATH= QTDIR/bin: PATH
export QT_QPA_PLATFORM_PLUGIN_PATH= QTDIR/pluginsexportQTQPAPLATFORMPATH= QTDIR/plugins
export QT_QPA_PLATFORM=linuxfb
export QT_QPA_FONTDIR=/usr/share/fonts
export LD_LIBRARY_PATH= QTDIR/lib: LD_LIBRARY_PATH
export QT_QPA_GENERIC_PLUGINS=evdevtouch:/dev/event0
export QT_QPA_EVDEV_TOUCHSCREEN_PARAMETERS=/dev/input/event0
export QMLSCENE_DEVICE=softwarecontext
export QML2_IMPORT_PATH=$QTDIR/qml ——》声明QT的环境变量

ifconfig eth0 up —->
ifconfig eth0 192.168.14.4 netmask 255.255.254.0
route add default gw 192.168.14.1
echo “nameserver 202.96.134.33” > /etc/resolv.conf
echo “nameserver 192.168.14.1” >> /etc/resolv.conf
source /IOT/driver_ko/insmod_driver.sh —->执行一个安装驱动的脚本

cd /IOT
./iot & —–>执行物联网平台的应用程序
cd /
echo “7 4 1 7” > /proc/sys/kernel/printk
udhcpc

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值