zoukankan      html  css  js  c++  java
  • 构建根文件系统3-完善根文件系统

    完善proc文件系统
    构建完最小根文件系统之后,可以用ls命令,但不能用ps命令看当前运行的进程信息,因为还没挂载proc文件系统
     
    在内核中,当前有哪些应用程序在跑,这些信息如何收集。是内核提供了一个虚拟的文件系统,叫 proc 文件系统。
     
    0、 挂载proc文件系统之前需要在根目录下创建一个proc文件夹:mkdir proc
      挂载:mount -t proc none /proc
      这时再用ps命令,发现可以运行了。
    1、在文件系统加 /proc 目录,修改配置文件,这样不用每次都人为去创建proc目录再挂载
      在inittab文件中加入:   ::sysinit:/etc/init.d/rcS
      同时在etc文件夹中创建init.d文件夹,并在init.d文件夹下创建rcS文件
      在rcS文件中加入: mount -t proc none /proc
      为rcS加上权限:chmod +x etc/init.d/rcS
     
    这样重新烧这个文件系统到开发板时,一起动就会直接执行 mount -t proc none /proc
    若还想在开始启动时执行其他命令,则也可以加到 rcS 脚本中去。
     
    还有另一种方法可以在启动单板时自动挂载根文件系统:在rcS文件中使用mount -a命令
    mount -a 命令是让linux内核去读etc/fatab文件,根据fstab文件的指示,去挂载文件系统。

     在fstab文件中加入一行脚本,用于挂载proc文件系统就可以了:

    # device mount-point type option dumo fsck order
    proc /proc proc default 0 0

    完善dev目录

    目前dev目录下只有两个设备文件。

    dev 目录下对应那些设备和驱动。有成千上百驱动,一个个创建会很麻烦。用 udev 机制。
    udev 是 linux 下自动创建 dev 目录下的设备节点。busybox 中有个简化版本 mdev(udev的简化版本)。
     
    busybox 目录下有一个 mdev.txt 有说明要做如下 6 项。
    [1] mount -t sysfs sysfs /sys 首先挂载一个文件系统到 sys 目录中去。
    [2] echo /bin/mdev > /proc/sys/kernel/hotplug
    [3] mdev -s
    [4] mount -t tmpfs mdev /dev 还要挂载一个文件系统到 dev 目录中去。
    [5] mkdir /dev/pts
    [6] mount -t devpts devpts /dev/pts
     
    在做后续操作之前,要先新建/sys目录。

    在etc/init.d/rcS文件中写入如下命令,内核启动后会运行这些命令:

    #mount -t proc none /proc
    mount -a
    mkdir /dev/pts
    mount -t devpts devpts /dev/pts
    echo /sbin/mdev > /proc/sys/kernel/hotplug
    mdev -s

     在etc/fstab文件中写入如下脚本,mount -a命令会读取fstab配置文件,挂载相应的文件系统:

    # device mount-point type option dumo fsck order
    proc /proc proc defaults 0 0
    sysfs /sys sysfs defaults 0 0
    tmpfs /dev tmpfs defaults 0 0

  • 相关阅读:
    WC2020「Illusory」
    WC2015-2019
    Java基础——数组
    Java基础——Java基础语法和使用
    完善README——MarkDown模板[EN]
    完善README——MarkDown模板[CN]
    完善README——Markdown语法概要总结
    Java基础——Java如何导入本地项目
    Java基础——Java的历史以及平台应用
    AndroidSDK——和风天气使用初体验
  • 原文地址:https://www.cnblogs.com/physworld/p/14800520.html
Copyright © 2011-2022 走看看