1、实验目的

1、学习和掌握busybox相关知识及应用;

2、学会使用交叉编译器定制一个busybox;

3、利用该busybox制作一个文件系统;

4、熟悉根文件系统组织结构;

5、定制、编译ramdisk根文件系统。

二、实验内容

1.使用交叉编译器定制一个busybox;

2.利用该busybox制作一个文件系统;

3. 利用已经完成的文件系统,生成根文件系统。

三、主要仪器设备

1、Ubuntu12.04系统。

2、英培特eduk4-s3c2410试验平台

四、操作方法和实验步骤

1. 编译busybox

设置环境变量,执行命令切换到busybox实验目录下,并解压busybox

在终端中输入命令设置环境变量

source /usr/local/src/EduKit-IV/Mini2410/set_env_linux.sh

source /usr/local/arm/2.95.3/path.sh

清除早前可能存在的配置信息

执行配置命令

选择Load An Alternate Configurstion File选项,添加配置文件,在弹出的窗体中写入eduk4后,保存并退出。

编译busybox

执行make 和 make install 后将在busybox-1.1.2下面生成一个_install文件夹

基于busybox生成文件系统包

创建文件系统目录树结构,并拷贝必要的文件到文件系统目录内

mkdir –p dev etc/init.d home mnt proc root sys tmp var media

cd /usr/local/src/EduKit-IV/Mini2410/simple/6.3-busybox/root-mini/etc/init.d/

#!/bin/sh

echo "running /etc/init.d/rcS"

#mount the /proc file system

/bin/mount -t proc proc /proc

echo "mount tmpfs filesystem to /tmp"

/bin/mount -t tmpfs none /tmp

echo "mount ramfs filesystem to /var"

/bin/mount -t ramfs none /var

/bin/ln -s /dev/fb/0 /dev/fb0

/bin/ln -s /dev/ub/a/part1 /dev/sda1

/bin/ln -s /dev/sound/dsp /dev/dsp

/bin/ln -s /dev/tts/0 /dev/ttyS0

/bin/ln -s /dev/tts/1 /dev/ttyS1

/bin/ln -s /dev/tts/2 /dev/ttyS2

/bin/mknod /dev/mtd0 c 90 0

/bin/mknod /dev/mtd1 c 90 2

/bin/mknod /dev/mtd2 c 90 4

/bin/mknod /dev/mtd3 c 90 6

/bin/mknod /dev/mtd4 c 90 8

/bin/mknod /dev/mtd5 c 90 10

/bin/hostname EDUK4

/sbin/ifconfig lo 127.0.0.1 netmask 255.0.0.0

#/sbin/ifconfig eth0 192.192.192.200 netmask 255.255.255.0

/sbin/ifconfig eth1 192.192.192.201 netmask 255.255.255.0

#exec /etc/init.d/rc.local

在chmod –R 777 root-mini

Busybox文件完

根文件系统ramdisk的制作

进入6.4-ramdisk执行脚本

运行shell脚本结果

创建一个空的ramdisk镜像

格式化文件系统

挂载文件系统

mkdir -p temp

mount -o loop ramdisk temp

将root-mini下文件复制到temp

cp -av ../6.3-busybox/root-mini/* temp/

卸载

umount temp

生成压缩文件,修改root-mini.gz权限,再删除临时文件夹ramdisk,拷贝生成的ramdisk根文件系统映像到/home/example目录

gzip -v9 ramdisk

chmod -R 777 ramdisk.gz

cp -av ramdisk.gz /home/example/

固化ramdisk

启动minicom,按住space启动实验箱,进入vivi下载模式,使用load flash ramdisk x进行ramdisk根文件映像的固化。

重启系统,修改vivi启动参数,具体如下

param set ramdisk_copy 1

param set linux_cmd_line "initrd=0x30800000,0x200000 root=/dev/ram console=ttySAC1"

param save

重启实验箱,可以在minicom中看到ramdisk文件系统的相关信息,如图4-10所示。

定位导致出错的信息。通过提示信息猜测,问题出现在执行rcS的过程中,通过在文件中添加echo提示信息,进行问题定位。实验过程中发现,问题出现在配置网络信息过程中,即下面的语句:

/sbin/ifconfig eth1 192.192.192.201 netmask 255.255.255.0

当将eth1改为eth0时,提示信息消失。

zju(4)使用busybox制作根文件系统的更多相关文章

  1. 通过busybox制作根文件系统

    通过busybox制作根文件系统可以自定义选项,在制作的根文件系统中添加需要的命令,指定生成的根文件系统到相应的目录下. 一. 根文件系统的获取方式--->官网: https://busybox ...

  2. 通过busybox制作根文件系统详细过程

    我在之前的uboot通过NFS挂载ubuntu根文件系统中也有实现过根文件系统的制作,那只是在ubuntu官网已经做好的根文件基础上安装一些自己所需的软解而已.而使用busybox制作根文件系统可以自 ...

  3. 利用busybox制作根文件系统

    实际项目中可以使用Buildroot制作根文件系统 1.busybox源码下载及配置 https://busybox.net/downloads/ 1.1.修改Makefile (1) ARCH = ...

  4. 使用BusyBox制作根文件系统【转】

    本文转载自:http://www.cnblogs.com/lidabo/p/5300180.html 1.BusyBox简介 BusyBox 是很多标准 Linux 工具的一个单个可执行实现.Busy ...

  5. 使用BusyBox制作根文件系统

    1.BusyBox简介 BusyBox 是很多标准 Linux 工具的一个单个可执行实现.BusyBox 包含了一些简单的工具,例如 cat 和 echo,还包含了一些更大.更复杂的工具,例如 gre ...

  6. tiny4412 busybox制作根文件系统rootfs nfs 挂载 ubuntu 14.04

    http://blog.csdn.net/liudijiang/article/details/50555429(转) 首先得要有制作好的uboot和linux内核镜像zImage,先烧录到sd卡里, ...

  7. Linux 利用busybox制作根文件系统

    busybox版本:1.17.3 官网下载路径:https://busybox.net/downloads/ 网盘下载路径:https://pan.baidu.com/s/1nvrEa73 密码:7y ...

  8. 第4阶段——制作根文件系统之分析init进程(2)

    本节目标: (1) 了解busybox(init进程和命令都放在busybox中) (2) 创建SI工程,分析busybox源码来知道init进程做了哪些事情 (3)  分析busybox中init进 ...

  9. Busybox构建根文件系统和制作Ramdisk

      定制根文件系统的方法很多,最常用的是使用BusyBox来构建定制根文件系统.它集成压缩了Linux的许多工具和命令,可以使用户迅速方便地建立一套相对完整.功能丰富的文件系统,其中包括大量常用的应用 ...

随机推荐

  1. Android开发之ViewPager+ActionBar+Fragment实现响应式可滑动Tab

     今天我们要实现的这个效果呢,在Android的应用中十分地常见,我们可以看到下面两张图,无论是系统内置的联系人应用,还是AnyView的阅读器应用,我们总能找到这样的影子,当我们滑动屏幕时,Tab可 ...

  2. express-8 Handlebars模板引擎(1)

    简介 使用JavaScript生成一些HTML document.write('<h1>Please Don\'t Do This</h1>'); document.write ...

  3. Y86模拟器安装

    Y86模拟器安装 这周需要学习Y86下的指令集开发,Y86和x86可以说是孪生兄弟,但是还是存在着一些小的差别.接下来介绍如何进行linux-debian平台下的Y86模拟器安装. 虚拟机VMware ...

  4. hdu 5269 ZYB loves Xor I

    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submission( ...

  5. hdu 5727 Necklace dfs+二分图匹配

    Necklace/center> 题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=5727 Description SJX has 2*N mag ...

  6. 疯狂java学习笔记之面向对象(一) - 定义类、方法、构造器

    Java面向对象 1.定义类 2.创建对象.调用方法 类和对象: 某一类对象的概念定义. 比如:人类 - 抽象出来的概念(不特指某个人) 对象 - 在类的概念下产生的一个实例,它就是一个对象了. ja ...

  7. JavaScript类型转换

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. BZOJ4369 : [IOI2015]teams分组

    将分组计划按照$k$从小到大排序,维护一个单调栈,每个元素为一个矩形,按最底下元素从高到低排列,栈顶最低. 每次加入一个矩形可选区域,维护单调栈,可以往回合并. 然后将所有最低点不满足的矩形取出,合并 ...

  9. centos 编译 安装 protobuf

    link:http://dbua.iteye.com/blog/1633079 yum -y install gcc+ gcc-c++ yum -y install make 下载protobuf-2 ...

  10. Android 大位图加载

    说明:没对图片进行缓存处理,只是使用软引用进行位图资源的释放,从而避免内存泄漏. 对位图进行解码显示: public Bitmap decodeBitmap(Resources resources, ...