实验2-6 Bootloader引导程序与内核映像的下载实验
- 格式:doc
- 大小:2.74 MB
- 文档页数:5
3、Boot Loader 实验【实验目的】熟悉交叉工具链的配置.掌握Jflash 的使用。
熟悉Blob 编译过程。
熟悉Blob的启动流程.掌握Blob的基本调试方法。
【实验步骤】Boot Loader 编译环境搭建第一步:在编译Boot Loader之前,首先要确保已经安装了交叉编译工具链,可以利用which arm-linux-gcc 命令进行检测,如果未安装,会显示如下提示信息(如下图1所示)。
检测arm-linux-gcc是否安装图1 检测arm-linux-gcc视图第二步:如果未安装,请将发货过光盘放入到光驱当中,(提示:并利用mount - t iso9660 /dev/cdrom /mnt/cdrom命令,将光盘挂载到Linux 操作系统下,或者直接点击Linux 系统桌面右键,选择光盘->挂载选项,将发货光盘挂载到Linux 系统当中。
)进入/mnt/cdrom/Toolchain 目录下,将xscalev1_liod_qt_2.3.7.tar.gz 工具链解压到/usr/local/ 目录下面,如下图2 所示。
(将xscalev1_liod_qt_2.3.7.tar.gz文件解压到/usr/local 目录下。
)[root@ local host root]# tar –xzvf xscalev1_liod_qt_2.3.7.tar.gz –C /usr/local图2解压交叉编译工具链第三步:利用export命令将交叉编译工具的路径加入到系统PATH环境变量中。
(也可以直接修改“root”目录下的“.bash_profile”文件)然后利用which命令查看交叉编译工具是否已在系统搜索路径中。
图3 添加arm-linux-gcc 交叉编译工具视图Blob 的交叉编译第四步:将光盘中的BootLoader文件夹中的Boot-XSBase270-2.6.tar.gz文件(具体文件名以光盘Blob 文件夹中所提供的文件为准)复制到/root/work/Blob 目录下(具体目录取决用户决定)。
第1篇一、实验目的1. 了解双系统的概念和原理。
2. 掌握在计算机上安装双系统的操作步骤。
3. 熟悉Windows和Linux操作系统的基本使用方法。
二、实验环境1. 操作系统:Windows 102. 硬件环境:CPU:Intel Core i5,内存:8GB,硬盘:500GB3. 软件环境:Windows 10安装盘、Linux安装盘(如Ubuntu)三、实验步骤1. 准备工作(1)下载并制作Windows 10安装U盘。
(2)下载并制作Linux安装U盘。
(3)备份数据,以防数据丢失。
2. 安装Windows 10(1)将Windows 10安装U盘插入计算机,重启计算机。
(2)进入BIOS设置,调整启动顺序,使U盘优先启动。
(3)按照安装向导进行操作,完成Windows 10的安装。
3. 安装Linux(1)将Linux安装U盘插入计算机,重启计算机。
(2)进入BIOS设置,调整启动顺序,使U盘优先启动。
(3)按照安装向导进行操作,选择安装位置时,选择与Windows 10不同的分区。
(4)完成Linux的安装。
4. 设置双系统启动(1)重启计算机,进入BIOS设置。
(2)在启动菜单中,选择“Boot Menu”。
(3)在Boot Menu中,可以看到Windows 10和Linux两个选项。
(4)根据需要,调整启动顺序,使Windows 10或Linux优先启动。
四、实验结果与分析1. 实验结果成功在计算机上安装了Windows 10和Linux双系统,并可以正常切换。
2. 实验分析(1)双系统可以提高计算机的利用率,满足不同用户的需求。
(2)安装双系统需要注意分区问题,避免数据丢失。
(3)在切换系统时,需要注意系统启动顺序的调整。
五、实验总结通过本次实验,我们掌握了在计算机上安装双系统的操作步骤,了解了双系统的概念和原理。
在实验过程中,我们学会了备份数据、制作安装U盘等操作,提高了实际操作能力。
一、实验目的1. 了解Linux内核的基本结构及其配置方法。
2. 熟悉使用make menuconfig、make xconfig、make gconfig等工具配置内核。
3. 学习内核模块的编译与加载。
4. 通过实验,加深对Linux内核编译过程的理解。
二、实验环境1. 操作系统:Linux Ubuntu 20.042. 内核版本:Linux 5.4.0-42-generic3. 编译工具:gcc 9.3.04. 其他工具:make, make menuconfig, make xconfig, make gconfig等三、实验内容1. 内核简介Linux内核是Linux操作系统的核心,负责管理计算机硬件资源和提供操作系统服务。
内核版本不同,其功能和性能也有所差异。
在Linux内核中,所有的硬件资源和应用程序都通过内核来交互。
2. 内核配置(1)make menuconfig1)进入内核源码目录,执行命令:make menuconfig2)在菜单配置界面,选择需要配置的模块或功能,按回车键进入详细配置。
3)根据需要修改参数,按空格键选择启用或禁用功能。
4)完成配置后,按Ctrl+X退出,保存配置。
(2)make xconfig1)进入内核源码目录,执行命令:make xconfig2)在图形配置界面,选择需要配置的模块或功能,按回车键进入详细配置。
3)根据需要修改参数,按空格键选择启用或禁用功能。
4)完成配置后,按Ctrl+Q退出,保存配置。
(3)make gconfig1)进入内核源码目录,执行命令:make gconfig2)在文本配置界面,选择需要配置的模块或功能,按回车键进入详细配置。
3)根据需要修改参数,按空格键选择启用或禁用功能。
4)完成配置后,按Ctrl+Q退出,保存配置。
3. 内核编译1)在内核源码目录下,执行命令:make2)等待编译完成,生成内核映像。
4. 内核模块编译与加载(1)编写内核模块代码1)创建一个名为module.c的文件,编写内核模块代码。
一、实验目的1. 了解操作系统的基本组成和编译过程;2. 掌握使用GCC编译器编译操作系统的基本步骤;3. 熟悉操作系统的启动过程;4. 培养动手实践能力和团队合作精神。
二、实验环境1. 操作系统:Linux2. 编译器:GCC3. 实验平台:虚拟机三、实验内容1. 操作系统基本组成2. 编译器使用3. 操作系统启动过程四、实验步骤1. 操作系统基本组成操作系统主要由以下几个部分组成:(1)引导程序(Bootloader):负责加载操作系统内核;(2)内核(Kernel):操作系统核心,负责管理计算机硬件资源;(3)系统调用接口(System Call Interface):用户程序与内核之间的接口;(4)用户程序(User Programs):提供用户与计算机交互的平台。
2. 编译器使用(1)安装GCC编译器:在Linux系统中,通常可以通过包管理器安装GCC编译器。
以Debian/Ubuntu为例,可以使用以下命令安装:sudo apt-get install build-essential(2)编写源代码:编写操作系统内核的源代码,保存为C语言文件,例如kernel.c。
(3)编译源代码:使用GCC编译器将源代码编译成可执行文件。
以kernel.c为例,编译命令如下:gcc -o kernel kernel.c3. 操作系统启动过程(1)引导程序:当计算机启动时,引导程序首先被加载到内存中。
引导程序负责查找操作系统内核的位置,并将其加载到内存中。
(2)内核初始化:内核被加载到内存后,开始执行初始化过程。
初始化过程包括内存管理、设备驱动程序加载等。
(3)系统调用接口:内核初始化完成后,系统调用接口被建立。
用户程序可以通过系统调用与内核进行交互。
(4)用户程序运行:用户程序被加载到内存中,开始执行。
用户程序可以通过系统调用请求内核提供的服务。
五、实验结果与分析1. 编译成功使用GCC编译器成功编译了操作系统内核源代码,生成了可执行文件。
提高型实验四 BootLoader引导程序实验一、实验目的1. 了解bootloader的作用,掌握bootloader的编程思想二、实验设备1. PentiumII以上的PC机,ADS1.2编译器三、BOOTLOADER程序说明在嵌入式系统中,BootLoader的作用与PC机上的BIOS类似,通过BootlLoader可以完成对系统板上的主要部件如CPU、SDRAM、Flash、串行口等进行初始化,也可以下载文件到系统板上,对Flash进行擦除与编程。
当运行操作系统时,它会在操作系统内核运行之前运行,通过它,可以分配内存空间的映射,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统准备好正确的环境。
通常,Boot Loader 是依赖于硬件而实现的,特别是在嵌入式系统中。
因此,在嵌入式系统里建立一个通用的 Boot Loader 几乎是不可能的。
但是,仍然可以对 Boot Loader 归纳出一些通用的概念来,以指导用户特定的Boot Loader 设计与实现。
因此,正确建立uClinux的移植的前提条件是具备一个与uClinux配套、易于使用的Bootloader,它能够能够正确完成硬件系统的初始化和uClinux的引导。
为能够实现正确引导uclinux系统的运行,以及当编译完内核后,快速的下载内核和文件系统,该BootLoader通过tftp经网络接口传送内核和文件系统。
同时,它也具有功能较为完善的命令集,对系统的软硬件资源进行合理的配置与管理。
因此,用户可根据自身的需求实现相应的功能。
1.几个常用命令的说明load格式:load RAM地址用途:通过网络接口将主机上的文件下载到开发板的RAM中的指定地址处若缺省地址,则地址取默认值0c008000。
run格式:run RAM地址用途:从开发板的RAM的指定地址运行程序,若地址缺省,则取默值0c008000。
prog格式:prog Flash地址 RAM地址代码长度选项(-no0)用途:将指定RAM地址开始处的指定长度代码烧写到指定的Flash地址中。
实验内容二—BootLoader移植一、实验目的简单地说,BootLoader就是在操作系统内核运行之前运行的一段小程序。
通过这段小程序,我们可以初始化硬件设备、建立内存空间映射图,从而将系统的软硬件环境带到一个合适状态,以便为最终调用操作系统内核准备好正确的环境。
在嵌入式系统中,通常并没有像BIOS那样的固件程序(注,有的嵌入式CPU也会内嵌一段短小的启动程序),因此整个系统的加载启动任务就完全由BootLoader来完成。
比如在一个基于ARM7TDMI core的嵌入式系统中,系统在上电或复位时通常都从地址0x00000000处开始执行,而在这个地址处安排的通常就是系统的BootLoader程序。
BootLoader是嵌入式系统上电之后,操作系统内核运行之前执行的一段程序,主要负责载入内核。
利用上次实验制作的交叉编译工具为目标机编译一个U-boot,然后烧写到实验箱中,为后面的系统移植和嵌入式程序的编译做基础。
二、实验内容把编译好的u-boot烧写到arm开发箱中并熟练使用u-boot命令。
三、实验步骤烧写U-BootU-Boot编译完成之后,就可以将u-boot目录下的u-boot.bin 烧写到目标机的NandFlash中。
u-boot.bin的烧写需要使用一个硬件烧录装置,例如Flash 烧录器或JTAG仿真器。
Super-ARM实验箱的U-Boot烧写,在WINDOWS下进行,依赖第3章中所安装的ADS开发环境,过程如下:(1)用Super-ARM实验箱中配置的并口线将PC 机并口(DB25 口)与仿真器Probe ICE 的DB25口连接;用20Pin扁平电缆线将仿真器Probe ICE 的ARM-JTAG 口与实验箱的JTAG 口相连接。
打开系统电源。
(2)运行Multi-ICE Server(3)将本章附件中名为“u-boot烧写”的文件夹复制到PC机的某个目录下,将新编译成功的u-boot.bin拷贝到该目录下。
Bootloader编译与下载Bootloader编译与下载3.1 实验目的:完成Bootloader编译与下载。
3.2 实验内容:参照指导书给出的步骤,一步一步地完成Bootloader编译与下载。
3.3 实验设备:1)硬件环境(硬件连接方法与Android版本一样)设备硬件连接方法必用的设备:串口线一根,网线一根,USB OTG线缆一根。
UART port0 : 作为监测中使用的端口连接串行线。
Ethernet port : 利用 Ethernet,为了高速传送,连接 LAN 线缆。
USB OTG Cable : 利用 USB,为了更新映像时使用,进行连接。
引导模式开关位于试验箱的右下角在下载映像文件之前注意设置引导模式开关设定引导模式NAND Flash 引导模式IROM 引导模式2)软件环境Linux 开发环境- VMWare在XP系统安装虚拟机,通过虚拟机加载一个Linux系统开发环境- Linux内核(CD提供ubuntu 8.04版本)串口监测工具 : minicom开发工具 : 交叉编译器 (CD提供gcc 4.4.1)3.4 实验步骤:操作步骤:提供CD 中“ubuntu_8.04”目录复制到“D:\”目录中。
在这个目录中,双击“ubuntu8.04_android.vmx”文件,运行ubuntu 8.04。
运行Ubuntu 8.04 映像前,需要安装VMware Player 或者WMware Workstation。
出版 CD 中提供了 VMware Player (路径 : tools\vmware-player\VMware-player-3.1.2-301548.exe)。
如果双击“ubuntu8.04_android.vmx”文件,如错误!未找到引用源。
],运行已安装的VMware Player 或者VMware Workstation。
这时,按下 Power On this virtual machine按钮。
实验2-6 Bootloader引导程序与内核映像的下载实验
【实验目的】
掌握Bootloader的下载过程.
掌握Linux内核和文件系统的下载过程.
【实验步骤】
第一步: 烧写完成Bootloader后,在linux的终端中打开minicom.(minicom 的配置请参照实验2-7的”使用minicom实现串口通信部分”).开启平台后按任意键,进入Bootloader的加载模式。
【图2-6-1】
第二步: 按”2”检查bootp是否握手.
【图2-6-2】
第三步: 遇到bootp包不通需要从以下几个方面来考虑(如果bootp是通的话,则可以跳过该步骤).
1)查看防火墙是否已关闭
【图2-6-3】
【图2-6-4】
2)检查目标板的MAC地址与/etc/bootptab记录中的是否一致。
如果MAC不一致,我们要修改MAC地址。
修改MAC地址有2种方法:
a)第一种方法可以直接在Bootloader中进行修改,修改得与bootptab中一致。
【图2-6-5】
【图2-6-6】
b)第二种方法就是根据bootloader发上来的MAC,在bootptab文件中进行修改。
如下图所示,将bootptab中的ha改成ha=0x000e2ab73d58,即可。
【图2-6-7】
第四步: 下载内核和文件系统(bootp状态连通后,我们就可以进行内核和文件系统的下载了,如下图下载失败,原因在于默认的内核名、文件系统名在/tftpboot中找不到对应的文件名。
)
【图2-6-8】
【图2-6-9】
第五步: 需要在Bootloader对内核名与文件系统名进行修改。
按a,可以看到:
【图2-6-10】
第六步: 可以看到两个名字已经修改正确了:
【图2-6-11】
第七步: 按3、4、5、6分别进行下载内核和文件系统,按7进行系统启动。