在引导Linux开机之前需要先清楚Linux启动的必要或者说是先决条件,这里就是提到了u-boot的作用了引用百度云---主要用于嵌入式系统的引导加载,其实在我调试下来总结一下就是初始化硬件这里的硬件包括必要部分和不必要的部分,比如SOC的时钟,外部RAM(DDR内存),栈等.因为linux的内核相对于SOC内部的RAM而言还是比较庞大的,并且运行Linux的SOC的主频普遍是比较高的,受限于flash的访问速度,Linux肯定是不能像单片机的程序一样放在片上flash运行的,毕竟在48M以上的…
如果你是windows+ubuntu的双系统,那么重装windows之后(非ghost 方式),是会直接进入windows的,之前的grub引导菜单会被抹掉,想要修复ubuntu的启动菜单的话,通常需要使用命令行,但是借助Boot Repair这个神奇的软件,你可以在软件界面中一键修复它. Boot Repair是一个linux下的软件,体积很小.香蕉有过N次修复ubuntu启动项的经历,深知其中的痛苦,所以,虽然软件No1只介绍windows下的软件,但是如此好的linux软件也要介绍给大家,…
课程大纲: Linux引导流程 Linux运行级别 Linux启动服务管理 GRUB配置与应用 启动故障分析与解决 系统引导流程 1.固件firmware(CMOS(固化在硬件上的程序与硬件统称)/BIOS(界面)) ->  POST加电自检(检测基本的硬件是否正常,显示器,键盘等,与操作系统无关,裸机也可进行此步骤)如果加入一块硬盘,一个网卡,进入系统则看不到,需要在加电自检时进行处理. 常用固件设置 安全设置 可引导介质列表 可引导介质搜索顺序 电源管理 启动细节显示 ...... 硬件时钟…
早期时,启动一台计算机意味着要给计算机喂一条包含引导程序的纸带,或者手工使用前端面板地址/数据/控制开关来加载引导程序.尽管目前的计算机已经装备了很多工具来简化引导过程,但是这一切并没有对整个过程进行必要的简化. 让我们先从高级的视角来查看 Linux 引导过程,这样就可以看到整个过程的全貌了.然后将回顾一下在各个步骤到底发生了什么.在整个过程中,参考一下内核源代码可以帮助我们更好地了解内核源代码树,并在以后对其进行深入分析. 概述 图 1 是我们在 20,000 英尺的高度看到的视图. 当系统…
Linux 开机引导和启动过程详解 编译自:https://opensource.com/article/17/2/linux-boot-and-startup作者: David Both 原创:LCTT https://linux.cn/article-8807-1.html 译者: penghuster 本文地址:https://linux.cn/article-8807-1.html 你是否曾经对操作系统为何能够执行应用程序而感到疑惑?那么本文将为你揭开操作系统引导与启动的面纱.   理解…
你是否曾经对操作系统为何能够执行应用程序而感到疑惑?那么本文将为你揭开操作系统引导与启动的面纱. 理解操作系统开机引导和启动过程对于配置操作系统和解决相关启动问题是至关重要的.该文章陈述了 GRUB2 引导装载程序开机引导装载内核的过程和 systemd 初始化系统执行开机启动操作系统的过程. 事实上,操作系统的启动分为两个阶段:引导boot和启动startup.引导阶段开始于打开电源开关,结束于内核初始化完成和 systemd 进程成功运行.启动阶段接管了剩余工作,直到操作系统进入可操作状态.…
Linux启动引导器 安装linux操作系统的时候就已经将启动引导器安装到硬盘上去了,才能通过硬盘的读取方式启动操作系统. 引导器分为2种: Lilo:功能比较简单,使用比较麻烦,后续发行版中使用grub. 启动引导器保存在硬盘扇区中,负责引导硬盘分区中指定的操作系统启动的程序代码.Windows有windows的操作系统启动引导器,linux有linux操作系统的启动引导器.Linux用的是grub或者lilo,widows和mac都有自己的.引导器都会集成到操作系统安装程序中. 操作系统的安…
目录 1.grub中分区的表示方法 2.grub的配置文件 3.grub的配置文件内容说明 (1)grub的整体设置 (2)CentOS系统的启动设置 1.grub中分区的表示方法 在说grub启动引导程序的配置文件之前,我们还需要了解一下,在grub中分区的表示方法. 从下图中我们可以看到,Linux系统的分区中是/dev/目录下自动识别设备分区名称,关于Linux系统的分区命名请看之前文章中的介绍.但是在grub的分区中,是有自己一套独立的标识方式,无论是SATA接口的硬盘还是IDE接口的硬…
linux启动过程 https://www.ibm.com/developerworks/cn/linux/l-linuxboot/index.html http://www.ruanyifeng.com/blog/2013/08/linux_boot_process.html…
用UltraISO制作了一个Red Hat Enterprise Linux Server release 5.7系统的U盘启动盘,然后在一台PC上安装,由于安装过程中在干别的事情,有些选项没有细看.安装完成后,启动系统时报错:missing operating system. 插上U盘,在BIOS里面选择从U盘启动就能正常启动系统,搜索了一些资料后,发现在安装LINUX操作系统过程中,由于使用的是U盘方式安装,引导的grub信息被默认安装到了U盘中(很多时候没有注意到这个),拔除U盘后,启动过…
前言 在学习.分析之前首先要弄明白一个问题:为什么要分析启动代码? 因为启动代码绝大部分都是用汇编语言写的,对于没学过或者不熟悉汇编语言的同学确实有一定难度,但是如果你想真正深入地学习Linux,那么读.分析某一个体系结构(比如ARM)的启动代码或者其他底层代码是必不可少的.当分析之后会发现这是有很多好处的:分析启动代码可以加深对汇编语言的理解:可以学习汇编语言的使用技巧:可以学习如何编写位置无关的代码,可以知道从启动到start_kernel()函数之前内核到底干了什么事情,从而为后续其他内核…
嵌入式系统下的linux启动配置文件,不同与普通的PC linux启动配置,启动相关文件与文件的内容也要少得多.嵌入式系统下的linux启动过程一般是:     1 在bootloader中制定各种要求传给linux内核的参数,制作ramdisk或ramfs文件系统,并在开机后首先mount上,该文件系统主要负责包含启动运行的配置文件,嵌入式系统主要是/etc/inittab和/etc/rc文件:     2 在init进程启动后,进程首先执行/etc/inittab文件,该文件语法下面介绍,一…
源地址:https://www.cnblogs.com/yfz0/p/5853826.html 嵌入式系统下的linux启动配置文件,不同与普通的PC linux启动配置,启动相关文件与文件的内容也要少得多.嵌入式系统下的linux启动过程一般是:     1 在bootloader中制定各种要求传给linux内核的参数,制作ramdisk或ramfs文件系统,并在开机后首先mount上,该文件系统主要负责包含启动运行的配置文件,嵌入式系统主要是/etc/inittab和/etc/rc文件:  …
嵌入式linux启动信息完全注释 from:http://www.embedlinux.cn/ShowPost.asp?ThreadID=377 摘要 我们在这里讨论的是对嵌入式linux系统的启动过程的输出信息的注释,通过我们的讨论,大家会对嵌入式linux启动过程中出现的.以前感觉熟悉的.但却又似是而非的东西有一个确切的了解,并且能了解到这些输出信息的来龙去脉. 嵌入式linux的启动信息是一个很值得我们去好好研究的东西,它能将一幅缩影图呈现在我们面前,来指导我们更加深入地理解linux内核…
深入理解Linux启动过程       本文详细分析了Linux桌面操作系统的启动过程,涉及到BIOS系统.LILO 和GRUB引导装载程序,以及bootsect.setup.vmlinux等映像文件,并结合引导.启动原理和具体的代码实现机制由浅入深地进行了分析.     初学者刚接触Linux桌面系统会感觉系统启动速度较慢,那么,为什么它的启动速度慢呢?本文就桌面系统的引导和启动过程展开分析,以期对初学者熟悉Linux有所帮助. 一.Linux系统的引导过程     简单地说,系统的引导和启动…
runlevel (启动级别):    查看命令 :who -r 或 runlevel         0:halt 关机         1:单用户模式,直接以管理员身份登录,不需要密码         2:多用户模式,但是不能挂载nfs         3:多用户模式         4:保留未用         5:图形界面         6:reboot重启     默认运行级别在/etc/inittab:     id:3:initdefault:    默认为3     我们知道b…
http://www.linuxidc.com/Linux/2012-09/70510.htm  来源:Linux社区  作者:赵春江 uboot最主要的功能就是能够引导内核启动.本文就介绍如何实现该功能,并组成一个最简单的系统,这不仅要移植uboot,还要移植linux内核及创建一个根文件系统. 首先我们对nandflash进行分区,规划好每个文件存放在nandflash的位置.下面是nandflash的分区: 第0分区:0x000000000000-0x000000080000为uboot区…
1.............rescue..............进入维护模式 (grub选项吧这是) 2.linux启动的幕后过程: 1 加电 (再一次联想服务器升级内存时,加电后有个黄色报警,过很长一段时间才会消失,应该是加电也有自检,电源键没反应) 2 BIOS自检 打开电源后,先加载CMOS信息(系统时间等):然后BIOS自检(即PSOT),包括内存memory.键盘keyboard?.显卡Graphics?.RAID卡.硬盘Hard drive/disk等:然后执行硬件初始化: 最后…
Linux系统启动流程 Linux 系统的启动,从计算机开机通电自检开始,一直到登陆系统,需要经历多个过程.了解 Linux 的启动过程,有助于了解 Linux 系统的结构,也对系统的排错有很大的帮助. CentOS 6.x 系统启动过程发生了较大的变化,使用 Upstart 启动服务取代了原先的 System Vinit(英文).(中文) 启动服务.Upstart 启动服务的效率更高,启动速度更快. Linux 系统启动过程比较复杂,我们先整理一下基本的启动过程,有一个整体的印象,然后再进一步…
一个执着于技术的公众号 我发现Linux系统在启动过程中会出现一些故障,导致系统无法正常启动,我在这里写了几个应对单用户模式.GRUB命令操作.Linux救援模式的故障修复案例帮助大家了解此类问题的解决方法. (一)单用户模式 Linux系统提供了单用户模式(类似Windows安全模式),可以在最小环境中进行系统维护.在单用户模式(运行级别1)中,Linux引导进入根shell,网络被禁用,只有少数进程运行.单用户模式可以用来修复损坏的文件系统.还原配置文件.移动用户数据等. 以下列举了几个单用…
启动第一步--加载BIOS 当你打开计算机电源,计算机会首先加载BIOS信息,BIOS信息是如此的重要,以至于计算机必须在最开始就找到它.这是因为BIOS中包含了CPU的相关信息.设备启动顺序信息.硬盘信息.内存信息.时钟信息.PnP特性等等.在此之后,计算机心里就有谱了,知道应该去读取哪个硬件设备了. 启动第二步--读取MBR 众所周知,硬盘上第0磁道第一个扇区被称为MBR,也就是Master Boot Record,即主引导记录,它的大小是512字节,别看地方不大,可里面却存放了预启动信息.…
Linux启动过程详解 附上两张图,加深记忆 图1: 图2: 第一张图比较简洁明了,下面对第一张图的步骤进行详解: 加载BIOS 当你打开计算机电源,计算机会首先加载BIOS信息,BIOS信息是如此的重要,以至于计算机必须在最开始就找到它.这是因为BIOS中包含了CPU的相关信息.设备启动顺序信息.硬盘信息.内存信息.时钟信息.PnP特性等等.在此之后,计算机心里就有谱了,知道应该去读取哪个硬件设备了. 读取MBR 众所周知,硬盘上第0磁道第一个扇区被称为MBR,也就是Master Boot R…
http://www.ibm.com/developerworks/cn/linux/kernel/startup/index.html Linux启动第1步:引导内核 Linux启动第2步:内核部分的初始化 [ start_kernel() ] Linux启动第3步:在内核中初始化外设(硬件+驱动)[ do_basic_setup().do_initcalls() ] Linux启动第4步:进程和inittab引导指令 Linux启动第5步:rc启动脚本 Linux启动第6步:getty和lo…
linux 启动流程 POST BIOS(boot sequence) 所选择的启动设备次序的MBR中是否有引导程序, ----> MBR(bootloader) 提供内核列表 ------->加载选定的Kernel,initrd(内存模拟的磁盘设备需要缓存),initramfs(缓存)  ---->获取到根文件系统并挂载,运行init bootloadler开始以后的挂载流程 1.当系统读取bootloader,挂载内核分区的时候,不识别更高级的磁盘分区上,只能放在基本磁盘分区,而且只…
本文仅简单介绍Linux的启动过程,在此基础上做简要的分析.对于Linux启动过程中内部详细的函数调用不做介绍,只是希望本文能给新手起到一个抛砖引玉的作用,以便深入研究Linux的启动过程.下图基本展示了Linux启动的基本过程,仅为个人学习总结得出,如有大神拍砖,表示欢迎. 一. BIOS自检: 应当理解的一些常识: BIOS的组成是由两大部分组成的:POST(power on system test)代码和运行时的服务: POST的工作目的是对硬件进行检测: 1. 当计算机加电后,首先由BI…
本原创文章属于<Linux大棚>博客,博客地址为http://roclinux.cn.文章作者为rocrocket.为了防止某些网站的恶性转载,特在每篇文章前加入此信息,还望读者体谅. === [正文开始] 启动第一步--加载BIOS 当你打开计算机电源,计算机会首先加载BIOS信息,BIOS信息是如此的重要,以至于计算机必须在最开始就找到它.这是因为BIOS中包含了CPU的相关信息.设备启动顺序信息.硬盘信息.内存信息.时钟信息.PnP特性等等.在此之后,计算机心里就有谱了,知道应该去读取哪…
转自:http://cizixs.com/2015/01/18/linux-boot-process 简介 我们都知道:操作系统运行的代码是在硬盘上的,最终要跑到内存和 CPU 上,才能被我们使用. 那从摁下电源键到看到系统界面,操作系统是怎么霸占了所有的硬件资源,把自己加载到内存开始运行的呢? 可以想到有两个可能性:操作系统自己实现的,或者有其他贵人帮忙.如果是操作系统自己启动的,就有了一个“鸡生蛋,蛋生鸡”的问题:如果是后者的话,一定有在操作系统启动之前就能工作的神力,把沉睡在硬盘的操作系统…
Linux 启动参数介绍 取自2.6.18 kernel Documentation/i386/boot.txt 文件中介绍 vga= 这里的不是一个整数(在C语言表示法中,应是十进制,八进制或者十六进制其中之一),就是“normal”(0xFFFF),“ext”(0xFFFE),“ask”(0xFFFD)中的一个.这个值应被填入vid_mode(视频模式控制)域, 因为他会在命令行被解析前被内核使用. mem= 是用C语言表示法定义的整形,后面可以追加(大小写不敏感的)K,M,G,T,P或者E…
http://blog.163.com/x_ares/blog/static/101548562011710112613165/ http://baogf92.blog.51cto.com/10869243/1728752 http://blog.chinaunix.net/uid-23069658-id-3142047.html http://blog.chinaunix.net/uid-26495963-id-3066282.html http://www.ruanyifeng.com/bl…
Linux 启动顺序: 1. BIOS自检 (服务器硬件启动的第一步,坑定的啦) 2. 运行系统内核并检测硬件(这个是看系统了,redhat等相关版本是通过/boot/vm进行启动 vmlinuz) 3. 运行系统的第一个进程init (init.d没看过代码,有时间得好好看看) 4. init读取系统引导配置文件/etc/inittab中的信息进行初始化(没啥好说的,很熟,我怎么忘了第一部呢?)              /etc/rc.d/rc.sysinit------系统初始化脚本   …