嵌入式linux系统的启动流程是什么样的?

嵌入式linux系统的启动流程是什么样的?,第1张

1)初始化RAM因为Linux内核一般都会在RAM中运行,所以在调用Linux内核之前Bootloader必须设置和初始化RAM,为调用闷态Linux内核做好准备。初始化RAM的任务包括设置CPU的控制寄存器参数,以便能正常使用RAM以及检测RAM大小等。

2)初始化串口端口在Linux的启动过程中有着非常重要的作用,它是Linux内核和用户交互的方式之一。Linux在启动过程中可以将信息通过串口输出,这样便可清楚的了解Linux的启动过程。虽然它并不是Bootloader必须要完成的工作,但是通过串口输出信息是调试Bootloader和Linux内核的强有力的工具,所以一般的Bootloader都会在执行过程中初始化一个串口作为调试端口。

3)检测处理器类型Bootloader在调用Linux内核前必须检测系统的处理器类型,并将其保存到某个常量中提供给Linux内核。Linux内核在启动过程中会根据该处理器类型调用相应的初始化程序。

4)设置Linux启动参数Bootloader在执行过程中必须设置和初始化Linux的内核启动参数。

5)调用Linux内核映像Bootloader完成的最后一项工作便是调用Linux内核。如果Linux内核存放在Flash中,并且可直接在上面运行(这里的Flash指NorFlash),那么可直接跳毕悄转到内核中去执行。但由于在Flash中执行代码会有种种限制,而且速度也远不及RAM快,所以一般手罩渣的嵌入式系统都是将Linux内核拷贝到RAM中,然后跳转到RAM中去执行。

Linux系统启动的大致过程

Linux *** 作系统是基于UNIX *** 作系统发展而来的一种克隆系统,它诞生于1991 年的 [Linux桌面] 10 月5 日。下面我准备了关于Linux系统启动的大致过程,提供给大家参考!

第一阶段:BIOS启动引导阶段

在该过程中实现硬件的.初始化以及查找启动介质

从MBR中装载启动引导管理器(GRUB)并运行该启动引导管理

第二阶段:GRUB启动引导阶段

装载stage1

装载stage1.5

装载stage2

读取/boot/grub.conf文件并显示启动菜单

装载所选的kernel和initrd文件到内存中

第三阶段:内核阶段:

运行内核启动参数

解压initrd文件并挂载initd文件系统,装载必须的驱动

挂载根文件系统

第四阶段:Sys V init初始化阶段:

启动/sbin/init程序

运行rc.sysinit脚本,设置系统环境,启动swap分区,检查和挂载文件系统

读取/etc/inittab文件,运行在/et/rc.d/rc<#>.d中定庆液义的不同运行级别的服务初始化脚本

打开字清差睁符终端1-6号控制台/打开图形显示管理的7号控制台

同时在上述过程中各阶段所需要读取的文件和 *** 作的对象:

BIOS启动引导阶段 GRUB启答岁动引导阶段 内核阶段 /init/sysinit阶段

====================================================================================

None /boot/grub/grub.conf /boot/vmlinuz- /etc/rc.d/rc.sysinit

/boot/grub/stage1_5 /boot/initrd- /etc/inittab

/boot/grub/stage2 /etc/rc.d/rc<#>.d

/etc/rc.d/init.d/*

linux软件的安装和卸载一直是困扰许多新用户的难题。在windows中,我们可以使用软件自带的安装卸载程序或在控制面板中的“添加/删除程序”来实现。与其相类似,在linux下有一个功能强大的软件安行竖差装卸载工具,名为rpm。它可以用来建立、安装、查询、更新、卸载软件。该工具是在命令行下使用的。在shell的提示符后输入rpm,就可获得该命令的帮助信息。

软件的卸载

1.软件的卸载主要是使用rpm来进行的。卸载软件档皮首先要知道软件包在系统中注册的名称。键入命令:

#rpm

-q

-a

即可查询到当前系统中安装的所有的软件包。

2.确定了要卸载的软件的名称,就可以开始实际卸载该软件了。键入如下命令即可卸载软件:

#rpm

-e

[package

name]

参数e的作用是使rpm进入卸载模式。对名为[package

name]的软件包进行卸载。由于系统中各个软件包之间相互有依赖关纤派系。如果因存在依赖关系而不能卸载,rpm将给予提示并停止卸载。你可以使用如下的命令来忽略依赖关系,直接开始卸载:

#rpm

-e

[package

name]

-nodeps

忽略依赖关系的卸载可能会导致系统中其它的一些软件无法使用。

补充:

如果是以.bin结尾的二进制软件,可以用以下方法安装(以so-6_0-beta-bin-linux-zh-tw1.bin为例):

在so-6_0-beta-bin-linux-zh-tw1.bin所在文件夹下运行模拟终端

输入:

./so-6_0-beta-bin-linux-zh-tw1.bin

并按回车!

当然也可以输入:

./so

再用[tab]键补全

(./表示当前目录,如果终端不在该软件所在目录下打开,则在软件名前尚需输入相应的路径。)

如果在图形界面,也可直接单击(或双击,视具体的鼠标设置而定)运行反安装程序就可以了!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12310595.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存