当前位置:首页 » 操作系统 » linuxbootloader

linuxbootloader

发布时间: 2022-10-16 15:25:05

❶ 请问bootloader、u-boot和linux内核的区别和关系是怎样的麻烦哪位大侠给小弟指导指导。。

bootloader是取代mbr功能的,可以看成mbr的加强.u-boot是把usb盘做成启动盘的,linux内核就是linux系统的核心,你用的linux就是在内核基础上扩展了shell和应用程序.

❷ linux的内核是由bootloader装载到内存中的

linux的内核的确是由bootloader装载到内存中的。linux的bootloader有2个部分组成:bootstrap和uboot。所以更准确点的说法是:linux的内核是由uboot装载到内存中的。内核文件本身是存放在硬盘的文件系统中,这句话就是错的。内核和文件系统是分开存储的。uboot读取kernel到内存是从kernel开始存储的地址开始读取的,而读取开始位置和读取大小,是由环境变量决定的。所以这个时候不需要文件系统的。

给你张图片,便于理解吧。这张图片是bootstrap、uboot、环境变量、kernel、文件系统在nandflash里面的存储分布。

其中rootfs.jfss2就是文件系统。

❸ 求教重新安装linux bootloader grub的命令。

首先用 rpm -q grub 看看 GRUB 是否已安装。如果尚未安装,可以用 urpmi grub 完成安装。

然后,以‘root’身份运行命令:

grub-install /dev/[device]

‘device’是要用的启动扇区的设备名。大多数情况下是‘hda’,也就是 MBR ( the master boot record of the first IDE hard drive)。

接下来,您将看到的信息类似于:

[some text]
(fd0) /dev/fd0
(hd0) /dev/hda

位于第一个控制器(controller)的软驱,和第一个 IDE 主通道(master channel)上的硬盘。当然,在您的机器下显示可能有所不同。第一部分标识的是 GRUB 的语法,其次是该设备在 Linux 下的表示。GRUB 不区分 SCSI 和 IDE 硬盘,只要将其启动顺序放入帐号就可以了。用一块 SCSI 硬盘的系统的条目如下:

(fd0) /dev/fd0
(hd0) /dev/sda

如果系统有 SCSI 和 IDE 硬盘,且 BIOS 设置为从 SCSI 硬盘启动的话,就是:

(fd0) /dev/fd0
(hd0) /dev/sda
(hd1) /dev/hda

如果您您改变了硬盘的启动顺序,那就得修改‘/boot/grub/devices.map’。

万一‘grub-install’脚本出错,您可以用 GRUB shell 来安装启动扇区:

grub
[some text]
grub> root (hdw,x)
[some text]
grub> setup (hdy,z)

其中,‘w’、‘x’、‘y’和‘z’都是数字。‘w’标识硬盘,‘x’是目录‘/boot/grub’所在的分区,‘y’是启动扇区所在的硬盘,如果您不想将启动扇区安装到‘y’的 MBR ,就需要‘z’。请注意:GRUB 以‘0’开始计数。
例子一、将 GRUB 安装到第一块 IDE 硬盘的 MBR 上。‘/boot’目录在相同硬盘上:‘/dev/hda3’。

grub> root (hd0,2)
grub> setup (hd0)

例子二、将 GRUB 安装到根分区的启动扇区上。根分区在后于 IDE 硬盘启动的 SCSI 硬盘上:‘/dev/sda1’。

grub> root (hd1,0)
grub> setup (hd1,0)

基本上,就是这样。重启后,您将看到 grub> 提示符。键入 help ,将列出所有的可用命令(GRUB 提供了一个全功能的 boot shell ,有命令行历史记录和自动补齐),而 help [command] 将显示指定命令的帮助说明。

如何启动 Linux 呢?显然,您得告诉 GRUB 根分区和内核在哪里。然后您得添加一个参数,用来告诉 Linux 的 init哪里去找内核(情记住:GRUB 和 Linux 对分区的表示语法不同!)。假设根分区是 IDE 硬盘上的第一个主分区,用 kernel 命令就是:

kernel (hd0,0)/boot/vmlinuz root=/dev/hda1

是不是记不清内核所在的分区?很简单,用 find /boot/vmlinuz 就可以了。现在键入 boot ,再按 ENTER ,您的系统就可以启动了。

❹ 为什么需要BootLoader linux

其实就是和微软的是一样的,只不过单独出来,可以引导其他系统,不像XP。装了它你如果在装其他系统就不行

❺ 怎么删除linux操作系统

有网友咨询我“我的服务器是linux系统,我不知道弄那了,现在 不能启动 了,我想把这个系统删了,请问怎么删啊”那么怎么删除linux 操作系统 呢?接下来大家跟着我一起来了解一下删除linux操作系统的解决 方法 吧。

删除linux操作系统方法

如果你想将Linux从机器中删除,只保留Windows,你需要进行以下几步操作:

从开始菜单(或开始屏幕)找到“Disk Management”(磁盘管理工具)并启动.

找到Linux分区。在Windows下无法识别Linux分区,所以,你需要按照驱动器和分区大小去判断,确认好以后继续下面的步骤。

右键选好的分区,然后选择“删除卷”,这将会把分区删除成自由空间,如果你再选择自由空间,选择删除卷,就会变成未分配空间。

在Windows分区上右键,选择“扩展卷”,扩展它以填补删除Linux所留下的自由空间。

最后,插入Windows恢复光盘(或恢复USB驱动器),并从它启动。选择“修复计算机”,去“疑难解答”,然后输入一个命令提示符。键入以下命令

bootrec.exe /fixmbr

这将删除Linux的bootloader和恢复Windows'。

重新启动你的电脑,你会发现,它直接引导进入Windows,不会有Linux分区。

如果你设置了双启动不同或把一个单独的硬盘驱动器上的Linux,又或者有其他的操作系统在驱动器上的,操作方式可能会略有不同。但对于大多数人来说,这些指令就足够了。

linux操作系统怎样清除垃圾

tmp目录下是用户的临时文件,可将不需要的直接用rm命令删除。 另外,也可以使用以下方法对linux系统进行清理。1)清理升级缓存以及无用包;sudo apt-get autocleansudo apt-get cleansudo apt-get autoremove

2)清理opera/firefox缓存文件;ls ~/.opera/cache4|xargs rm -fls ~/.mozilla/firefox/*.default/Cache|xargs rm -f

3)清理Linux下孤立的包;图形界面下我们可以用:gtkorphansudo apt-get install gtkorphan -y终端命令下我们可以用:deborphansudo apt-get install deborphan -y

4)删除多余的内核;打开终端敲命令:dpkg --get-selections|grep linux有image的就是内核文件;删除老的内核文件:sudo apt-get remove 内核文件名 (例如:linux-image-2.6.27-2-generic)内核删除,释放空间了,应该能释放130-140M空间。最后看看当前内核:uname -a

5)清空某个目录下所有log日志;for i in `ls *.log*`docat /dev/null >$idone

附录:临时文件目录:/var/cache/apt/archives未下载完目录:/var/cache/apt/archives/partial

❻ bootloader

ARM Linux启动流程大致为:bootloader ---->kernel---->root filesystem。bootloader 是一上电就拿到cpu 的控制权的,而bootloader实现了硬件的初始化,为kernel的运行创造好条件。

那么bootloader一般都会做些什么

/ ====================================================== /

实现细节

工作在启动加载模式时,uboot会自动执行bootcmd命令,

比如:

uboot首先把内核镜像拷贝到内存地址为0x80000000的地方,然后执行bootm 0x80000000命令。

bootm命令实际上调用的是do_bootm_linux函数:

内核调用函数:theKernel (0,bd->bi_arch_number, bd->bi_boot_params);

the kernel其实不是个函数,而是指向内核入口地址的指针,把它强行转化为带三个参数的函数指针,会把三个参数保存到通用寄存器中,实现了向kernel传递信息的功能,在这个例子里,会把R0赋值为0,R1赋值为机器号 R2赋值为启动参数数据结构的首地址。

这里的machine id,是让内核知道是哪个CPU,从而调用对应的初始化函数。

继续深入

1、需要在设备树文件中声明,单板需要什么样的machine_desc,(可以是一系列的字符串,kernel会从左到右匹配这些字符串,一直找到匹配的为止);

2、kernel中需要表明每个machine_desc需要表明它能支持哪些单板,用字符串表明支持哪些单板。

MACHINE_START和 MACHINE_END实际上被展开成一个结构体

3、 kernel有多个machine_desc跟设备树文件dts中的compatible 吻合,选择哪个?
设备树文件dts中compatible(属性值)从左到右的属性值与kernel中的machine_desc结构体中的dt_compat成员进行比较,匹配成功之后就不会再进行匹配(设备书的属性值从左右匹配优先级依次降低)。

从内核的第一个执行文件head.S开始分析

start_kernel的调用过程如下:

注意:

C语言中的变量在汇编语言中出现,变量名表示的是变量的地址

❼ 为什么bootloader要去Flash上读入Linux内核

你这个问题应该分为几个部分
1 bootloader主要是负责系统初始化和系统加载的 嵌入式系统一般会把bootloader和系统内核分开存放,这样的话 系统内核损坏了的话 还可以通过bootloader进行恢复
2 linux内核一般比bootloader大很多。一个嵌入式系统,在系统刚通电的时候,根据cpu的不同,他们是从一个固定的内存地址开始运行的。一般情况下,这个固定地址会是一个ROM,其存储空间一般较小,一般用来存放bootloader。而根据板子设计的不同,系统内核是保持在flash或者其他存储介质上的。
3 bootloader在完成硬件初始化后,从存储介质上把系统内核读入到指定的内存区域,然后用一个跳转指令跳转到系统内核处开始执行 。注意,这个存储介质不一定是flash

❽ 嵌入式linux的bootloader的启动流程是怎样的

嵌入式 Linux 系统从软件角度看可以分为四个部分:引导加载程序(Bootloader), Linux 内核,文件系统,应用程序。

当系统首次引导时,或系统被重置时,处理器会执行一个位于Flash/ROM中的已知位置处的代码,Bootloader就是这第一段代码。它主要用来初始化处理器及外设,然后调用 Linux 内核。Linux 内核在完成系统的初始化之后需要挂载某个文件系统作为根文件系统(Root Filesystem),然后加载必要的内核模块,启动应用程序。这就是嵌入式Linux系统启动过程 Linux 引导的整个过程。

Bootloader 的启动方式:

  1. 网络启动方式。这种方式的开发板不需要较大的存储介质,跟无盘工作站有点类似,但是使用这种启动方式之前,需要把Bootloader安装到板上的EPROM或者Flash中。Bootloader通过以太网接口远程下载Linux内核映像或者文件系统。Bootloader下载文件一般都使用TFTP网络协议,还可以通过DHCP的方式动态配置IP地址。

  2. 硬盘启动方式
    传统的Linux系统运行在台式机或者服务器上,这些计算机一般都使用BIOS引导,并使用磁盘作为存储介质。Linux传统上是LILO (Linux Loader) 引导,后来又出现了GUN的软件 (Grand Unified Bootloader) 。 这两种Bootloader广泛应用在X86的Linux系统上。

  3. Flash启动方式。大多数嵌入式系统上都使用Flash存储介质。Flash有很多类型,包括NOR Flash、NAND Flash和其它半导体盘。它们之间的不同在于: NOR Flash 支持芯片内执行(XIP, eXecute In Place),这样代码可以在Flash上直接执行而不必拷贝到RAM中去执行。而NAND Flash并不支持XIP,所以要想执行 NAND Flash 上的代码,必须先将其拷贝到 RAM中去,然后跳到 RAM 中去执行。NOR Flash 使用最为普遍。Bootloader一般放在Flash的底端或者顶端,这需要根据处理器的复位向量来进行设置。可以配置成MTD设备来访问Flash分区。

❾ 谁知道Linux的bootloader和BSP的区别越详细越好,不要复制粘贴的,BSP有开发模板

bsp 是 board supporr package,bootload是启动管理
完全不是一类东西

热点内容
主播网站源码 发布:2025-05-15 02:50:56 浏览:167
中文编程语言有哪些 发布:2025-05-15 02:48:59 浏览:535
配置中心应急流程有哪些 发布:2025-05-15 02:37:31 浏览:669
php宏定义 发布:2025-05-15 02:32:54 浏览:270
咸鱼支付密码哪里改 发布:2025-05-15 02:32:53 浏览:520
存储机箱 发布:2025-05-15 02:31:31 浏览:836
编程很累吗 发布:2025-05-15 02:29:25 浏览:552
疫情期间访问国外网络 发布:2025-05-15 02:24:24 浏览:247
我的世界网易版游戏服务器 发布:2025-05-15 02:23:46 浏览:221
全球编程网站 发布:2025-05-15 02:22:55 浏览:334