先来介绍一下什么是Busybox:它是将众多的UNIX命令集合进一个很小的可执行程序中. 在制作根文件系统之内核如何启动init进程中遗留了一个问题是/linuxrc是内核启动的第一个应用程序,那么它是什么?我们看到移植好的根文件系统环境,输入ls -al /linuxrc.可以看到: lrwxrwxrwx Jul linuxrc -> bin/busybox /linuxrc其实是指向Busybox的,它其实是Busybox下的一个程序,所以我们需要分析Busybox的源码来研究/linuxr…
本节目标: (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) 了解制作一个最小…
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); //内核…
实际项目中可以使用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)都需要在目录中搜索文件的代码.当这些工具被…
通过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.…
使用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/wqc02/article/details/8930184 1.根文件系统简介...2 2.Busybox简介...2 2.1Busybox简介...2 2.2Busybox目录结构简介...2 2.3init进程简介...3 3.构建自己的根文件系统...9 3.1编译Busybox.9 3.2向Busybox中添加新命令...19 4.附录...26 4.1Busybox实现的简单分析...26 4.2Busybox配置选项说明...27 .根文…