本篇内容主要讲解“嵌入式Linux OS怎么启动”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“嵌入式Linux OS怎么启动”吧!
一、硬件上电
二、一级启动:bootROM
Boot ROM是厂商都无法进行更改,固化在芯片内部的ROM;
作用:
确定用于启动的设备;
从启动的设备的位置搬移一小段代码(4k/8k/16k)到RAM中运行,即SPL;
三、二级启动:SPL+uboot
1.SPL: Secondary Program Loader:
作用:
初始化DDR;
从启动的设备搬移第二段代码到RAM中,加载uboot;
(有些SoC是将bootloader复制到RAM后,再进行DDR初始化;)
2.uboot: Universal boot loader:
U-Boot从启动设备上面读取、分析环境变量获得kernel和rootfs存储位置,以及所需的kernel command line;
自动检测系统RAM和eMMC/Nand Flash容量和参数;
设置以太网口MAC地址,并配置好硬件准备加载Linux kernel;
加载Linux kernel到RAM,至此系统控制权则转移到kernel来处理;
四、Linux Kernel
系统Kernel初始化Linux,加载rootfs,最后启动’init’来初始化Linux user space
五、不同的OS
Android、Yocto、ubuntu、fedora
补充:
一个嵌入式Linux系统从软件的角度看通常可以分为四个层次:
1、 引导加载程序。包括固化在固件(firmware)中的boot代码(可选),和BootLoader两大部分。(bootROM,uboot)
2、Linux内核。特定于嵌入式板子的定制内核以及内核的启动参数。(linux kernel)
3、 文件系统。包括根文件系统和建立于Flash内存设备之上文件系统。通常用ramdisk来作为rootfs。
4、 用户应用程序。特定于用户的应用程序。有时在用户应用程序和内核层之间可能还会包括一个嵌入式图形用户界面。常用的嵌入式GUI有:MicroWindows和MiniGUI等。
BootLoader是一段小程序,主要功能是引导操作系统启动。可以把它想象成PC机Linux上的GRUB/LILO引导程序,只不过在嵌入式linux中,没有BIOS,而是直接从flash中运行,来装载内核。它可以初始化硬件设备,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统做好准备
到此,相信大家对“嵌入式Linux OS怎么启动”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。