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

1.实验目的 1.学习和掌握busybox相关知识及应用: 2.学会使用交叉编译器定制一个busybox: 3.利用该busybox制作一个文件系统: 4.熟悉根文件系统组织结构: 5.定制.编译ramdisk根文件系统. 二.实验内容 1.使用交叉编译器定制一个busybox: 2.利用该busybox制作一个文件系统: 3. 利用已经完成的文件系统,生成根文件系统. 三.主要仪器设备 1.Ubuntu12.04系统. 2.英培特eduk4-s3c2410试验平台 四.操作方法和实验步骤 1.…
通过busybox制作根文件系统可以自定义选项,在制作的根文件系统中添加需要的命令,指定生成的根文件系统到相应的目录下. 一. 根文件系统的获取方式--->官网: https://busybox.net/downloads/ 二. 使用busybox制作根文件系统 第一步 生成基本命令 1. 解压 [ tar -xvf busybox-1.30.0.tar.bz2 ] 2. 配置交叉编译工具  打开busybox的顶层目录 (1) Vi  Makefile (2) 修改内容: (不修改内容编译时…
我在之前的uboot通过NFS挂载ubuntu根文件系统中也有实现过根文件系统的制作,那只是在ubuntu官网已经做好的根文件基础上安装一些自己所需的软解而已.而使用busybox制作根文件系统可以自定义选项,加深自己对linux的系统理解,方便后期学习根文件系统的裁剪. 一.下载busybox制作制作工具 官网下载地址https://busybox.net/,进入"Download Source"下载连接 根据自己的需要下载相应的版本,我下载的是"busybox-1.33.…
实际项目中可以使用Buildroot制作根文件系统 1.busybox源码下载及配置 https://busybox.net/downloads/ 1.1.修改Makefile (1) ARCH = arm(2) CROSS_COMPILE = /usr/local/arm/arm-2009q3/bin//arm-none-linux-gnueabi- 1.2.make menuconfig Busybox Settings---> Build Options---> [*]Build Bus…
本文转载自:http://www.cnblogs.com/lidabo/p/5300180.html 1.BusyBox简介 BusyBox 是很多标准 Linux 工具的一个单个可执行实现.BusyBox 包含了一些简单的工具,例如 cat 和 echo,还包含了一些更大.更复杂的工具,例如 grep.find.mount 以及 telnet:有些人将 BusyBox 称为 Linux 工具里的“瑞士军刀”. BusyBox 揭露了这样一个事实:很多标准 Linux 工具都可以共享很多共同的元…
1.BusyBox简介 BusyBox 是很多标准 Linux 工具的一个单个可执行实现.BusyBox 包含了一些简单的工具,例如 cat 和 echo,还包含了一些更大.更复杂的工具,例如 grep.find.mount 以及 telnet:有些人将 BusyBox 称为 Linux 工具里的“瑞士军刀”. BusyBox 揭露了这样一个事实:很多标准 Linux 工具都可以共享很多共同的元素.例如,很多基于文件的工具(比如 grep 和 find)都需要在目录中搜索文件的代码.当这些工具被…
http://blog.csdn.net/liudijiang/article/details/50555429(转) 首先得要有制作好的uboot和linux内核镜像zImage,先烧录到sd卡里,这个是已经做好了的工作. 一,ubuntu上先设置好nfs服务 1.新建一个要挂载的文件 liudijiang@ubuntu:~/share$ pwd /home/liudijiang/share 我已经建好了,这是我的路径 2.安装nfs服务 liudijiang@ubuntu:~/share$…
busybox版本:1.17.3 官网下载路径:https://busybox.net/downloads/ 网盘下载路径:https://pan.baidu.com/s/1nvrEa73 密码:7y4r 交叉编译工具:arm-2009q3.tar.bz2 网盘下载路径:http://pan.baidu.com/s/1dE7P9rb 密码:300i 1.创建根文件系统目录 xxx@ubuntu:~$ mkdir myrootfsxxx@ubuntu:~$ cd myrootfs/xxx@ubun…
本节目标: (1) 了解busybox(init进程和命令都放在busybox中) (2) 创建SI工程,分析busybox源码来知道init进程做了哪些事情 (3)  分析busybox中init进程 init_main() (3.1)熟悉init进程的inittab配置文件(位于/etc/inittab) (3.2)熟悉inittab配置文件中不同action的子进程区别 (3.3)了解init进程如何读取分析inittab,以及运行inittab文件中的各个子进程 (4) 了解制作一个最小…
  定制根文件系统的方法很多,最常用的是使用BusyBox来构建定制根文件系统.它集成压缩了Linux的许多工具和命令,可以使用户迅速方便地建立一套相对完整.功能丰富的文件系统,其中包括大量常用的应用程序.下面详细介绍有关Busybox定制根文件系统. 一.系统环境: 1.操作系统:Ubuntu140.4 2.交叉编译工具:gcc version 6.1.1 20160711 (Linaro GCC 6.1-2016.08) 3.busybox源码包:busybox-1.26.2 二.构建roo…
先来介绍一下什么是Busybox:它是将众多的UNIX命令集合进一个很小的可执行程序中. 在制作根文件系统之内核如何启动init进程中遗留了一个问题是/linuxrc是内核启动的第一个应用程序,那么它是什么?我们看到移植好的根文件系统环境,输入ls -al /linuxrc.可以看到: lrwxrwxrwx Jul linuxrc -> bin/busybox /linuxrc其实是指向Busybox的,它其实是Busybox下的一个程序,所以我们需要分析Busybox的源码来研究/linuxr…
使用Busybox-1.2.0制作根文件系统 cross-3.3.2 make-3.8.1 STEP 1: 创建根文件系统目录,主要包括以下目录/bin,/etc,/dev,/mnt,/sbin,/usr,/sbin,/tmp /proc,/lib. /usr下有bin, sbin, lib, local, etc   /mnt下有etc 创建多级目录可以使用mkdir –p usr/bin/ ……. STEP 2: 升级make到3.81版本,用RH9自己带的make 3.79会出错 进入ma…
http://blog.csdn.net/yinjiabin/article/details/7489563 根文件系统一般包括: 1)基本的文件系统结构,包含一些必须的目录,比如:/dev,/proc,/bin,/etc,/lib,/usr,/tmp; 2)基本程序运行所需的库函数,如:libc/uC-libc; 3)基本的系统配置文件,如:rc,inittab等脚本文件; 4)必要的设备支持文件,如:/dev/hd*,/dev/tty,/dev/fdO; 5)基本的应用程序,如:sh,ls,…
1.制作根文件系统及nfs烧写 1.1 先解压文件系统,/wok/nfs_root 目录下是已经构造好的各种文件系统:① fs_mini.tar.bz2 是最小的根文件系统,里面的设备节点是事先建立好的:② fs_mini_mdev.tar.bz2 是最小的根文件系统,里面的设备节点是等系统启动后使用mdev 自动建立的:③ fs_qtopia.tar.bz2 是 JZ2440 使用的支持触摸屏的根文件系统:④ fs_xwindow.tar.bz2 是书上的基于 X 的根文件系统. 步骤: cd…
start_kernel其实也是内核的一个进程,它占用了进程号0,start_kernel的内容简写如下: asmlinkage void __init start_kernel(void) //内核线程,0号进程idle进程 { ...... tick_init(); boot_cpu_init(); page_address_init(); //内存管理相关 kernel2.6.35.11/mm/highmem.c ...... setup_arch(&command_line); //内核…
在上一节分析出制作一个最小的根文件系统至少需要: (1)/dev/console(终端控制台, 提供标准输入.标准输出以及标准错误) /dev/null  (为空的话就是/dev/null, 所有写到这个文件中的数据都会被丢弃掉.) (2)init进程的程序(也就是busybox,因为init程序位于busybox中) (3)/etc/inittab(用于init进程读取配置, 然后执行inittab里的指定应用程序) (4)应用程序(被inittab配置文件调用的应用程序) (5)C库(gli…
当我们在Qemu上运行起来自己编译的内核之后,需要使用busybox构建一个文件系统,将此文件系统挂载上去就可以使用busybox提供的各种命令了. 1.编译安装busybox 源码下载地址:http://www.busybox.net/downloads/ 编译安装过程: .tar.bz2 cd busybox- make menuconfig 选择静态编译 BusyboxSettings->Build options->Build Busybox as a static binary ma…
1.安装mkyaffsimage, mkyaffs2image命令(用来制作yaffs文件系统) 第一个命令针对Flash小页512B,第二个针对Flash大页2KB首先下载压缩文件 yaffs_source_util_larger_small_page_nand.tar.bz2安装mkyaffs2image命令为例: tar –xjf yaffs_source_util_larger_small_page_nand.tar.bz2 //解压出yaffs1和yaffs2 cd /Developm…
答:分析以下makefile即可获取整个过程 以nxp layerscape系统的编译过程为例 1.分析target/linux/layerscape/image/Makefile的最后一句,这是一个好的开端 $(eval $(call BuildImage)) 2.宏BuildImage定义在哪里呢?定义在include/image.mk中,简化后如下 define BuildImage ... $(foreach device,$(TARGET_DEVICES),$(call Device,…
转:http://www.360doc.com/content/11/1013/22/7775902_155877501.shtml 这几天在使用Busybox制作FS2410开发板的CRAMFS文件系统,由于开始 下载的是Busybox1.10,每次下载到开发板中,然后启动总是出现”Failed to execute /linuxrc.  Attempting defaults...“的错误.到网上查了大量的资料,并做了大量的实验,发现都不能成功.今天下午突然发现一个能够仿真arm的软件qem…
测试平台 宿主机平台:Ubuntu 12.04.4 LTS 目标机:Easy-ARM IMX283 目标机内核:Linux 2.6.35.3 交叉编译器:arm-linux-gcc 4.4.4 Busybox简介 关于busybox的原理及代码分析推荐 busybox详解 Busybox是一个开源项目,遵循GPL v2协议.Busybox将众多的UNIX命令集合进一个很小的可执行程序中,可以用来替代GNU fileutils.shellutils等工具集.Busybox中各种命令与相应的GNU工…
本章学习如何启动第一个应用程序 1.在前面的分析中我们了解到,在init进程中内核挂接到根文件系统之后,会开始启动第一个应用程序: kernel_init函数代码如下: static int __init kernel_init(void * unused) //进入init进程 { prepare_namespace() //挂载根文件系统 { ... ... / /通过解析出来的命令行参数" root=/dev/mtdblock3"来挂接根文件系统 mount_root(); //…
1 百度搜索busybox进入busybox官网(https://busybox.net/)作者:恒久力行 QQ:624668529  点击左侧DownloadSource下载最新稳定版的busybox-1.24.2.tar.bz2  2 将其复制到服务器并解压缩 tar xjf busybox-1.24.2.tar.bz2 3进入根目录,在其根目录下有一个INSTALL文件告诉我们怎么使用busybox     make menuconfig 什么都不设置,但要保存设置.然后执行下列指令更改C…
1. 下载源码 https://busybox.net/downloads/ 2. 解压 3. 修改Makefile ~/busybox-1.21.1$ vi Makefile 164行: 修改前:CROSS_COMPILE ?= 修改后:CROSS_COMPILE ?= arm-linux-gnueabihf- 190行: 修改前:ARCH ?= $(SUBARCH) 修改后:ARCH ?= arm 4. 配置 ~/busybox-1.21.1$ make menuconfig Busybox…
开发环境:Ubuntu 12.04 开发板:mini2440  256M NandFlash   64M SDRAM 交叉编译器:arm-linux-gcc 4.4.3点此可下载 BusyBox版本:busybox-1.13.3  点此可下载 yaffs制作工具:mkyaffsimage yaffs2制作工具:mkyaffs2image(适合64M).mkyaffs2image-128(适合128M以上,我的256M的用这个) 接上一节:http://blog.csdn.net/mybelief…
转:http://www.360doc.com/content/10/0428/11/496343_25245348.shtml 操作系统:Ubuntu9.04 内核版本:linux-2.6.24.7   开发板:博创arm2410s     交叉编译工具:arm-linux-gcc-4.1.1  BusyBox:busybox-1.11.1       CramFS:CramFS-1.1   注意:由于要制作的根文件系统使用了mdev(BusyBox简化版的udev),因此,需要内 核支持sy…
开发环境:Ubuntu 12.04 开发板:mini2440  256M NandFlash   64M SDRAM 交叉编译器:arm-linux-gcc 4.4.3点此可下载 BusyBox版本:busybox-1.13.3  点此可下载 yaffs制作工具:mkyaffsimage yaffs2制作工具:mkyaffs2image(适合64M).mkyaffs2image-128(适合128M以上) 写之前的罗嗦 这几天制作根文件系统整得我够呛,毕竟是初学制作,各种不会,各种谷歌百度,害的…
接上一节http://blog.csdn.net/mybelief321/article/details/10040939 说实话,我当时写这个系列的博文的时候,感觉对BusyBox算是有点了解,直到昨天出现问题,今天解决了,才醍醐灌顶,算是知道了BusyBox静态编译和动态编译的区别.首先,说明一下我的问题,以下是我的问题 ----------------------------------问题描述开始------------------------------------------- 在配…
一.移植BusyBox1.下载BusyBox的源代码下载地址:http://www.busybox.net/downloads/,此处下载busybox-1.20.2.tar.bz2.2.解压并进入目录#tar -xvf busybox-1.20.2.tar.bz2#cd busybox-1.20.23.修改Makefile中的体系结构ARCH和交叉编译器前缀CROSS_COMPILE#VIM MakefileCROSS_COMPILE = arm-linux-ARCH = arm4.配置Bus…
具体步骤如下:1.解压内核源码树解压linux-2.6.29-mini2440-20090708.tgz到自己的工作目录,会生成一个友善之臂修改过的并且有几个mini2440默认配置文件的内核源码目录linux-2.6.29.具体步骤参照友善之臂mini2440开发板用户手册,具体不详述了. 2.修改内核配置选项进入内核源码目录linux-2.6.29目录#cp config_mini2440_t35 .config#make menuconfig ARCH=arm打开配置菜单,修改两个配置项,…