- 5
- 0
- 约6.33千字
- 约 13页
- 2017-12-26 发布于河南
- 举报
实验一-嵌入式Linux系统的制作
Linux与嵌入式实验报告
嵌入式Linux系统的制作
学 院 电子与信息学院
专 业 信息工程(3)班
学生姓名 叶志成
实验台号
指导教师 秦华标、官权升
实验日期 2016年6月9日
作为嵌入式系统,使用环境通常比较恶劣,而应用又比较简单,因此在很多嵌入式系统中经常会使用 u 盘之类的存储设备来代替硬盘,本实验的要求就是基于 u 盘制作一个 linux 运行系统。
目前新出的主板 BIOS 都支持 USB 软盘和硬盘的启动方式,在优盘上建立
Linux 启动盘,可以加深对 linux 系统的理解,你可以使用 Linux 建立小巧的内核,建立网络环境,快速地判断和排除网络故障与传送文件。
一、 实验目的
1.了解 linux 系统内核的基本工作原理。
2.掌握系统内核的裁减方法,了解 linux 内核裁减过程,裁减系统内核并
编译。
3、学会基于 busybox 的根文件系统的制作。
4、学会制作一个基于 U 盘的 linux 运行系统。
验收标准:成功从 U 盘启动自己裁剪编译并带有个人信息的 linux 系统
二、 实验原理
1、LINUX 操作系统启动过程分析:当用户打开 PC 的电源,BIOS 开机自检,按 BIOS 中设置的启动设备启动,接着启动设备上安装的引导程序 lilo 或 grub开始引导 Linux,Linux 首先进行内核的引导,接下来执行 init 程序,init 程序调用了 rc.sysinit 和 rc 等程序,rc.sysinit 和 rc 当完成系统初始化和运行服务的任务后,返回 init;init 启动了 mingetty 后,打开了终端供用户登录系统,用户登录成功后进入了 Shell,这样就完成了从开机到登录的整个启动过程。下面就将逐一介绍其中几个关键的部分:
Ubuntu 可以使用 lilo 或 grub 等 boot loader 开始引导 Linux 系统,当引导程序成功完成引导任务后,Linux 从它们手中接管了 CPU 的控制权,然后 CPU
就开始执行 Linux 的核心映象代码,开始了 Linux 启动过程。系统首先读取
initrd 文件,此时典型的系统启动顺序如下:
(1)boot loader 加载内核并初始化 ram disk;
(2)内核把 initrd 转化成正常的 ram disk,并释放 initrd 使用的内存;
(3)initrd 作为 root 被挂载,并赋予读写权限;
(4)/linuxrc 被执行;
(5)linuxrc 挂载真正的根文件系统;
(6)linuxrc 使用 pivot_root 系统调用把根文件系统放在根目录;
(7)正常的启动序列(/sbin/init)在根文件系统上执行;
(8)initrd 文件被移出。
第二部分:运行/sbin/init
init 的进程号是 1,从这一点就能看出,init 进程是系统所有进程的起点,
Linux 在完成核内引导以后,就开始运行 init 程序。init 程序需要读取配置文件/etc/inittab。inittab 是一个不可执行的文本文件,它有若干行指令所组成,
它负责调用系统启动时所需要的各种执行文件,实现即或交换分区,检查磁盘,加载硬件模块,启动对应运行级别的守护进程,建立终端等工作例如指令 si::sysinit:/etc/rc.d/rc.sysinit, 即 调 用 执 行 脚 本 文 件
/etc/rc.d/rc.sysinit 来完成一些系统初始化的工作。
三、 实验环境:
1)主机环境:ubuntu13.04
2)u 盘,内存 = 128M
3)内核版本: linux-3.8 下载地址
4)busybox 版本:busybox 最新版 下载地址
四、 实验过程:
制作 kernel 内核
下载内核版本为 linux-3.8 的压缩包 linux3.8.tar.bz2
解压: tar -xvf linux-3.8.tar.bz2
得到文件夹 linux-3.8, 并进入: cd ./linux-3.8
然后执行 4 部曲;
make mrproper
make menuconfig
进入内核菜单选择,可根据实际需要进行内核的裁剪,在本实验室
中,只要注意选中下面选项即可:
a) General Setup – [*] Initial RAM filesystem and RAM disk (initr
原创力文档

文档评论(0)