嵌入式Linux启动配置文件及脚本分…

原创 2013年12月02日 09:12:04
使用Busybox制作根文件系统时,/etc目录非常重要,它包含了嵌入式Linux启动所需的配置文件及脚本.由于init进程,或者说linuxrc程序会解析inittab文件,因此就从/etc/inittab文件开始说起.
(1)文件/etc/inittab
   该文件是init进程需要解析的文件,它的每个条目都是一个脚本或可执行程序,详见博客"inittab文件".

     ::sysinit:/etc/init.d/rcS
     ::respawn:-/bin/login
     ::ctrlaltdel:/bin/umount -a -r

(2)文件/etc/init.d/rcS
   该文件的功能主要有两个,一个是将不同的文件系统挂载到根文件系统下的某个目录内;二是新建kernel所需的目录,这些目录都是kernel运行过程中所必须的.

        #! /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

        /sbin/mdev -s
        /bin/mount -a                     #当执行命令"mount -a"时,系统会自动读取配置文件fstab.
        echo /sbin/mdev > /proc/sys/kernel/hotplug

(3)文件/etc/fstab
   在文件/etc/init.d/rcS中执行mount –a时,就会按照文件/etc/fstab内容挂载相应的文件系统.

        proc        /proc       proc      defaults   0 0
        none        /dev/pts    devpts    mode=0622  0 0
        tmpfs       /dev/shm    tmpfs     defaults   0 0

<1>fstab文件的格式:
   device Mount Point filesystem parameters dump fsck
    proc    /proc      proc    defaults   0    0
<2>文件/etc/fstab就是使用mount将设备载入到系统的某个载入点所需执行的命令内容,将这些内容都写到/etc/fstab里,使得系统一启动就主动载入.
<3>参数dump的值表示是否允许使用dump命令进行系统备份.dump命令会根据对/etc/fstab的设置值,去选择是否要将该分区进行备份.0表示不要dump备份,1或2表示要进行dump备份.
<4>参数fsck的值表示是否允许以fsck检验分区内的文件系统是否完整.其中,根文件系统必须进行检验,其它文件系统可以不需要检验.0表示不要检验,1或2表示要进行检验.

(4)文件/etc/passwd
   当用户以telnet或ssh登录主机时,系统会出现一login画面来输入账号,此时输入账号和密码后,Linux会执行以下动作:
<1>先找/etc/passwd内是否有该账号,如果有,则将该账号与对应的UID(user ID)和GID(Group ID)读出,并将该账号的家目录与shell设置也一起读出.
<2>核对密码表,此时Linux会进入/etc/shadow中查找对应的账号与UID,然后核对已输入的密码与里面的密码是否一致.
<3>若一切相符,就进入shell控制阶段.
   下面就来分别简述这两个文件的含义.
<1>/etc/passwd

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

   该文件的构造如上所示,每一行都表示一个账号,有几行就表示系统中有几个账号.注意,里面的很多账号都是系统必须使用的,称作系统账号.在每个Linux系统中都会有第一行,就是root系统管理员行,每行有7个部分,用":"隔开.
   1、账号名称:root表示默认的系统管理员的账号名称.
   2、密码:x表示密码已经移动到shadow这个加密后的文件中了.
   3、UID:当UID=0时,表示root
   4、GID:与/etc/group有关,用于规范用户组.
   5、用户信息说明栏:用于解释该账号的意义.
   6、家目录:用户的家目录.root用户的家目录就是/root.
   7、Shell:默认使用/bin/bash来执行命令.
<2>/etc/shadow

root:$1$HNeU8jpc$RyzTN856sZiO.LCN2BZuZ0:14880:0:99999:7:::

   该文件属于加密文件,每个账号的密码均在该文件中,这里不再赘述.
 
(5)/etc/profle

    echo
    echo -n "Processing /etc/profile... "
    # no-op
    echo "Done"
    echo
    PATH=/bin:/sbin:/usr/bin:/usr/sbin
    export LD_LIBRARY_PATH=/lib:/usr/lib

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

嵌入式Linux下NFS配置和使用说明

作者:wincemobile 转自:http://blog.csdn.net/wincemobile/article/details/5953919 NFS是我们经常要用到的服务,...
  • whw8007
  • whw8007
  • 2014年02月12日 08:52
  • 440

ARM-Linux嵌入式系统启动流程

学习嵌入式
  • zy812248258
  • zy812248258
  • 2014年09月03日 12:58
  • 3149

嵌入式linux开机应用程序自启动

注意:/etc/profile文件只在登陆用户后,才会执行。并且每个用户登陆,都会进行一次。 由/etc/init.d/rcS-->/etc/init.d/rc知道,需要添加的程序可...
  • c19911027
  • c19911027
  • 2015年06月12日 09:48
  • 5239

嵌入式Linux启动流程之启动内核(基于Arm)

BootLoader完成的最后一项工作便是调用 Linux内核。如果 Linux 内核存放在 Flash 中,并且可直接在上面运行(这里的 Flash 指 Nor Flash),那么可直接跳转到内核中...
  • leopard21
  • leopard21
  • 2014年05月19日 17:59
  • 601

构建U盘启动的嵌入式linux

1 构建U盘启动的嵌入式linux(一)前言:在参考了一书和独孤九贱的后,他们都是用CF卡来制作,对于大多数人估计和我一样,手上并没有板子和CF卡,而只有x86的电脑和USB盘,这里详细的描述一下我是...
  • wang_xya
  • wang_xya
  • 2015年02月14日 16:36
  • 795

基于ARM嵌入式 Linux 快速启动

By Toradex 胡珊逢 ARM平台嵌入式Linux下有些应用对系统启动时间有着特殊的要求。在很多场合下,这些系统并不需要针对所有任务立即就位,但是针对某些关键任务(例如接收以太网命令或者显示用...
  • toradexsh
  • toradexsh
  • 2016年05月26日 15:35
  • 3753

浅析嵌入式Linux系统的构成和启动过程

在我们的周围,大量的嵌入式设备都是基于Linux系统来构建的,嵌入式Linux与主机Linux相比有着自己的一些特点,本文就嵌入式Linux系统的构成和启动过程做一些总结。  一、嵌入式Linux系统...
  • gary531
  • gary531
  • 2013年09月11日 14:08
  • 3877

嵌入式Linux SD系统启动卡制作方法

SD 卡启动是开发板系统启动方式的一种。 SD 系统启动卡共有 FAT32、 EXT3 两个格式分区,还包含 RAW 格式的无名分区。其中 FAT32 格式分区在 Windows 系统下可见,EXT3...
  • kongzhongloucsdn
  • kongzhongloucsdn
  • 2017年01月04日 10:04
  • 1694

嵌入式linux启动过程详解

前言   在多数计算机上,从Linux启动到进入系统的命令行或者图形界面时间并不长。嵌入式Linux启动过程中都做了什么工作,会展现出一个功能强大的系统,本文分析Linux系统启动过程。学习和掌握L...
  • u010027547
  • u010027547
  • 2016年08月22日 17:56
  • 550

嵌入式Linux启动优化手记2 U-boot优化

既然不能使用新的U-boot,那就优化一点是一点,慢慢干吧。 1.去掉启动时的按键等待 U-boot 启动的时候出现一个 Hit any key to stop autoboot 不爽,干吗要停上...
  • liushuimpc
  • liushuimpc
  • 2016年07月05日 12:16
  • 801
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:嵌入式Linux启动配置文件及脚本分…
举报原因:
原因补充:

(最多只允许输入30个字)