当前位置: 首页 > news >正文

为什么没人做团购网站网站建设各单位强化沟通协作

为什么没人做团购网站,网站建设各单位强化沟通协作,企业网站建设的意义,国内企业邮箱Linux内核移植:内核的启动过程、启动配置与rootfs必要文件一、启动过程二、启动配置(一)SysV初始化(二)systemd初始化三、rootfs中的启动配置文件1、inittab2、/etc/init.d/rcS 脚本3、fstab4、profile 文件5、其他文件…

Linux内核移植:内核的启动过程、启动配置与rootfs必要文件

  • 一、启动过程
  • 二、启动配置
    • (一)SysV初始化
    • (二)systemd初始化
  • 三、rootfs中的启动配置文件
    • 1、inittab
    • 2、/etc/init.d/rcS 脚本
    • 3、fstab
    • 4、profile 文件
    • 5、其他文件

一、启动过程

 内核启动通常包括4个阶段:

  1. iROM代码启动(BIOS启动)。开发板上电后,先执行内部iROM中的固化代码,类似于BIOS,执行通电自检和初始化过程,包括初始化CPU、存储器、时钟、总线等一些必要的硬件资源。
  2. 启动引导加载程序BootLoader。根据启动引脚的电平,读取相应的存储介质上的Uboot到RAM。接着,启动Uboot。U-Boot再根据用户传的参数加载内核、设备树、根文件系统。
  3. 装载内核。Linux内核镜像文件uImage被载入内存后,首先将自身解压,然后进行系统的一系列初始化工作,包括初始化存储器、中断表、必要的设备驱动,设定分页机制、任务调度机制,接着根据bootargs环境变量载入根文件系统。
  4. 系统初始化。根文件系统加载成功后,根据bootargs尝试执行/init命令。如果是RAMDisk,就尝试执行/init命令,否则,就尝试执行/sbin/init、 /etc/init、 /bin/init、 /bin/sh。如果其中任意一个能成功执行,就进人下一阶段,否则,内核启动失败。

二、启动配置

Linux通常有3中系统初始化方式:SysV、systemd、UpStart。

(一)SysV初始化

init是系统的1号进程,可以是可执行脚本,或sysvinit,或者busybox的二进制程序。ramdisk常用可执行程序脚本程序的init,二进制程序常依照/etc/inittab文件执行初始化任务。管理员可以定制/etc/inittab 配置文件来建立所需的系统运行环境。所以,/etc/inittab是rootfs中的重要文件。验证如下:

~$ ls /sbin/init -l
lrwxrwxrwx  1  1000  1000  14 Jan 25  2023 sbin/init -> ../bin/busybox

System V initialization是基于运行级别(Runlevel)来启动系统,用来设置不同环境下所运行的程序和服务。使用运行级别和对应的链接文件(位于etc/rcn.d 目录中,n为运行级别,分别链接到/etc/init.d中的init 脚本)来启动和关闭系统服务。假设当前inittab 中设置的默认运行级别是2,则init 进程会运行/etc/init.d/rc2命令,该命令会依据系统服务的依赖关系遍历执行/etc/rc2.d中的脚本或程序。/etc/rc2.d目录中的文件实际都是指向/etc/init.d/下对应的脚本或程序的软链接。
init 进程根据/etc/inittab中的配置初始化系统,设置系统运行级别及进入各运行级别对应的要执行的命令。inittab 提供了0~6的运行级别选项,runlevels是运行级别列表(如下)。其中,1级(单用户模式)和5级(多用户标准模式)比较常用。系统工作不正常时使用单用户模式维护,工作正常时使用多用户标准模式。在资源受限时(如没有网络环境或没有图形终端)可选择2级。以S开头的表示启动,以K开头的表示停止,并且S或K后面的两位数数字代表了服务的启动顺序,具体由服务依赖关系决定

# Runlevel 0:Halt.
# Runlevel 1:Single-user mode without networking,only for root.
# Runlevel 2:Multi-user mode without networking and daemons.
# Runlevel 3:Multi-user mode with networking.
# Runlevel 4:Not used or user-defined.
# Runlevel 5:Runlevel3+X-window,full functionally.
# Runlevel 6:Reboot.

(二)systemd初始化

新版本的Ubuntu使用systemd来初始化系统,验证如下:

~$ ls /sbin/init -l
lrwxrwxrwx I root root 20 330 00:40 /sbin/init -> /lib/systemd/systemd

systemd最主要的功能包括系统的主机名称、网络设置定、语言处理、文件系统格式及其他系统服务和应用服务的启动等。所有的这些任务都会通过systemd的默认启动目标(/etc/systemd/system/default.target)来配置。
systemd依次执行相应的各项任务来完成系统的最终启动。例如,systemd 首先执行initrd.target所有单元,包括挂载/etc/fstab,最后执行 graphical所需的服务以启动图形界面来让用户以图形界面登录。如果系统的defaulttarget 指向multi-user.target,那么此步骤就不会执行。

三、rootfs中的启动配置文件

1、inittab

基本的ininttab内容如下:

#this is run first except when booting in single-user mode.
::sysinit:/etc/init.d/rcS
# /bin/sh invocations on selected ttys
# start an "askfirst" shell on the console (whatever that may be)
::askfirst:-/bin/sh
# stuff to do when restarting the init process
::restart:/sbin/init
# stuff to do before rebooting
::ctrlaltdel:/sbin/reboot

inittab 文件中的每一项按下面的格式设置:

id: runlevels: action: process

每一项有四个字段,字段之间用冒号隔开。每个字段的含义如下。
(1)起d由1~4个字符组成,作为inittab项的唯一标识。
(2)runlevedls 是运行级别列表。
(3)action指明执行什么动作
(4)process字段包含init执行的进程。
与系统启动相关的文件和目录如下:

|--/etc/
|    |-- inittab	(init脚本)
|    |-- init.d/
|        |-- rc	(启动脚本)
|        |-- rcS	(启动脚本)
|        |-- rc.local(附加启动脚本)
|        |-- ....	(其他系统服务脚本)
|    |--rcS.d/		(S级服务管理目录)
|        |-- ....	(init.d服务脚本链接)
|    |-- rc0.d/		(0级服务管理目录)
|        |-- ....	(init.d服务脚本链接)

2、/etc/init.d/rcS 脚本

   #!/bin/sh## rcS           Call all S??* scripts in /etc/rcS.d in#               numerical/alphabetical order.## Version:      @(#)/etc/init.d/rcS  2.76  19-Apr-1999  miquels@cistron.nl#PATH=/sbin:/bin:/usr/sbin:/usr/binrunlevel=Sprevlevel=Numask 022export PATH runlevel prevlevel#    Make sure proc is mounted#[ -d "/proc/1" ] || mount /proc##       Source defaults.# 设置环境变量#./etc/default/rcS##       Trap CTRL-C &c only in this shell so we can interrupt subprocesses.#trap ":" INT QUIT TSTP##   Call all parts in order.# # exec /etc/init.d/rc S/bin/mount -a

不要忘记为 rcS 添加可执行权限:

$ chmod +x init.d/rcS

3、fstab

/etc/init.d/rcS中的mount -a。意思是将/etc/fstab的所有内容重新加载。
/etc/fstab 文件负责配置Linux开机时自动挂载的分区。

  • fstab中的文件挂载操作如下:
      <file system> <mount point> <type> <options> <dump> <pass>
       <file system>:描述要挂载的特殊的块设备或远程文件系统,如/dev/cdrom /dev/sdb等,远程文件系统使用<host>:<dir>.
       <mount point>:描述文件系统的挂载点;如果是一个交换分区(swap partitions),这个域应写为‘none’.
       <type>:描述文件系统的类型,Linux支持许多文件系统类型,如adfs, affs, autofs, coda, coherent, cramfs,devpts, efs, ext2, ext3, hfs, hpfs, iso9660, jfs, minix, msdos, ncpfs, nfs,ntfs, proc, qnx4, reiserfs, romfs, smbfs, sysv, tmpfs, udf, ufs, umsdos,vfat, xenix, xfs,等。
       <options>:描述关于这个文件系统的挂载选项,基本的选项如下:
         default:使用默认选项,rw, suid, dev, exec, auto, nouser, and async
         noauto:当启动时给出“mount -a”命令时并不挂载。
         user:允许用户挂载
         owner:允许设备自己挂载
         comment:供fstab维护程序使用
         nofail:如果这个设备不存在,不报告错误信息
       <dump>:当其值设置为1时将允许dump备份程序备份;设置为0时忽略备份操作;如果文件系统需不需要被dump,则设置为0即可
       <pass>:该字段由fsck程序用于确定在重新启动时文件系统检查完成的顺序,启动用的文件系统需要制定为1,其他文件系统需要指定为2,如果没有此域或设置为0表示不检查。其值是一个顺序。当其值为0时,永远不检查;而 / 根目录分区永远都为1。其它分区从2开始,数字越小越先检查,如果两个分区的数字相同,则同时检查

参考博文: 根文件系统(linuxrc、inittab、fstab)
例1:

#device mount-point type options dump fsck order
proc /proc proc defaults 0 0
tmpfs /tmp tmpfs defaults 0 0
sysfs /sys sysfs defaults 0 0
tmpfs /dev tmpfs defaults 0 0

例2:

none /dev/pts devpts gid=5,mode=620 0 0
none /proc proc defaults 0 0
nonc /dev/shm tmpfs defaults 0 0
/dev/hda4 swap swap dcfaults o 0
/dev/edrom /mntcdrom iso9660 noauto,owner,kudzu,ro 0 0
/dev/fd0 /mnt/floppy auto noauto,owner,kudzu 0 0
/dev/hdal /mnt/c vfat exec,dev,suid,rw,umask=0, iocharset=gb2312,codepage=936 0 0

例3:fstab中添加了mount nfs的配置:

192.168.1.7:/CBT-SuperIOT/ /mnt/nfs/ nfs nolock 0 0

4、profile 文件

#!/bin/sh
export HOSTNAME=farsight
export USER=root
export HOME=root
export PS1="[$USER@$HOSTNAME \W]\# "
PATH=/bin:/sbin:/usr/bin:/usr/sbin
LD_LIBRARY_PATH=/lib:/usr/lib:$LD_LIBRARY_PATH
export PATH LD_LIBRARY_PATH

5、其他文件

service,inetd.conf,passwd文件,可以配置telnet服务器的配置和开启:
确保fstab 文件中存在none /dev/pts devpts mode=0622 0 0这一行
确保services文件中存在 telnet 23/tcp这一行
确保 inetd.conf中存在telnet stream tcp nowait root /sbin/telnetd telnetd
确保passwd 文件中存在 root::0:0:root:/:/bin/sh ,表示没有密码的root 帐号

http://www.yayakq.cn/news/122928/

相关文章:

  • 如何撤销网站备案做电子相册的大网站
  • 网站架构设计师工资水平python 做网站 案例
  • 天河区门户网站官网好看的网站链接
  • 哪里有免费的网站网址婚庆公司电话号码
  • 毕业设计代做网站都有哪些wordpress怎么写html
  • 17网站一起做网网站定位授权开启权限怎么做
  • 做网站建设的网站制作价格与售后视频
  • 怎么开设网站 优帮云seo自学网视频教程
  • 58同城网站建设方案杭州seo推广服务
  • 哪家公司建站比较好直通车关键词怎么优化
  • 上海招聘网官方网站seo成创
  • 网页设计师学习网站免费做网站空间
  • 公众号 商城 网站开发即速应用小程序官网
  • 中山网站制作费用wordpress插件哪里下载
  • 企业网站的建立网络虚拟社区时对于企业网站建设销售一个月开几个单
  • 做网站设计师能10年赚100万吗唐山制作网站的公司
  • 辽宁省工程造价网三亚网站优化
  • 安徽平台网站建设公司网站首页怎么做营业执照链接
  • 有没有做那个的视频网站网站建设有哪些功能模块
  • 太原建设网站公司太姥山镇建设的网站
  • 建设部网站资质升级陈述通过aso排名服务公司
  • 苏州网站 建设 公司江西企业网站建设费用
  • 网站图片管理系统在线个人资料制作网站
  • 黑白灰 网站百度人气榜
  • 北京网络维护公司重庆百度seo公司
  • 做网站需要知道哪些事情企业网站结构图
  • 广州外贸建站宝安公司免费网站建设
  • wordpress鼠标悬停图片白帽seo是什么
  • 常州手机网站制作网络营销推广的主要特点
  • 百度网站建设如何常见的服务器有哪些