使用busybox1.21.1制作根文件系统】的更多相关文章

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…
使用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…
本节目标: (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:它是将众多的UNIX命令集合进一个很小的可执行程序中. 在制作根文件系统之内核如何启动init进程中遗留了一个问题是/linuxrc是内核启动的第一个应用程序,那么它是什么?我们看到移植好的根文件系统环境,输入ls -al /linuxrc.可以看到: lrwxrwxrwx Jul linuxrc -> bin/busybox /linuxrc其实是指向Busybox的,它其实是Busybox下的一个程序,所以我们需要分析Busybox的源码来研究/linuxr…
通过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…
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); //内核…
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.实验目的 1.学习和掌握busybox相关知识及应用: 2.学会使用交叉编译器定制一个busybox: 3.利用该busybox制作一个文件系统: 4.熟悉根文件系统组织结构: 5.定制.编译ramdisk根文件系统. 二.实验内容 1.使用交叉编译器定制一个busybox: 2.利用该busybox制作一个文件系统: 3. 利用已经完成的文件系统,生成根文件系统. 三.主要仪器设备 1.Ubuntu12.04系统. 2.英培特eduk4-s3c2410试验平台 四.操作方法和实验步骤 1.…
本文转载自:http://www.cnblogs.com/lidabo/p/5300180.html 1.BusyBox简介 BusyBox 是很多标准 Linux 工具的一个单个可执行实现.BusyBox 包含了一些简单的工具,例如 cat 和 echo,还包含了一些更大.更复杂的工具,例如 grep.find.mount 以及 telnet:有些人将 BusyBox 称为 Linux 工具里的“瑞士军刀”. BusyBox 揭露了这样一个事实:很多标准 Linux 工具都可以共享很多共同的元…
在上一节分析出制作一个最小的根文件系统至少需要: (1)/dev/console(终端控制台, 提供标准输入.标准输出以及标准错误) /dev/null  (为空的话就是/dev/null, 所有写到这个文件中的数据都会被丢弃掉.) (2)init进程的程序(也就是busybox,因为init程序位于busybox中) (3)/etc/inittab(用于init进程读取配置, 然后执行inittab里的指定应用程序) (4)应用程序(被inittab配置文件调用的应用程序) (5)C库(gli…
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$…
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,…
本章学习如何启动第一个应用程序 1.在前面的分析中我们了解到,在init进程中内核挂接到根文件系统之后,会开始启动第一个应用程序: kernel_init函数代码如下: static int __init kernel_init(void * unused) //进入init进程 { prepare_namespace() //挂载根文件系统 { ... ... / /通过解析出来的命令行参数" root=/dev/mtdblock3"来挂接根文件系统 mount_root(); //…
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…
测试平台 宿主机平台: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工…
开发环境: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以上) 写之前的罗嗦 这几天制作根文件系统整得我够呛,毕竟是初学制作,各种不会,各种谷歌百度,害的…
开发环境: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…
一.移植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…
原文地址:http://www.cnblogs.com/hnrainll/archive/2011/06/09/2076214.html 1.1 Linux内核基础知识 在动手进行Linux内核移植之前,非常有必要对Linux内核进行一定的了解,下面从Linux内核的版本和分类说起. 1.1.1  Linux版本 Linux内核的版本号可以从源代码的顶层目录下的Makefile中看到,比如2.6.29.1内核的Makefile中: VERSION = 2 PATCHLEVEL = 6 SUBLE…
Yaffs2根文件系统制作 环境: 交叉编译环境:4.4.6 开发平台:s3c2416 1,编译busybox 获取busybox源码busybox-1.17.2.tar (http://www.busybox.net/downloads/) 置于目录/opt/embed下 #tar jxvf busybox-1.17.2.tar.bz2 #cd busybox-1.17.2 #vim Makefile 将164行改为CROSS_COMPILE = arm-linux- 将190行改为ARCH…
1.1 Linux内核基础知识 在动手进行Linux内核移植之前,非常有必要对Linux内核进行一定的了解,下面从Linux内核的版本和分类说起. 1.1.1  Linux版本 Linux内核的版本号可以从源代码的顶层目录下的Makefile中看到,比如2.6.29.1内核的Makefile中: VERSION = 2 PATCHLEVEL = 6 SUBLEVEL = 29 EXTRAVERSION = .1 其 中的“VERSION”和“PATCHLEVEL”组成主版本号,比如2.4.2.5…
最近打算从头开始制作根文件系统,下面是开发过程. 一.根文件系统的制作 0.FHS(Filesystem Hierarchy Standard)标准介绍 该标准规定了根目录下各个子目录的名称及其存放的内容: 目录名 存放的内容 /bin 必备的用户命令,例如ls.cp等 /sbin 必备的系统管理员命令,例如ifconfig.reboot等 /dev 设备文件,例如mtdblock0.tty1等 /etc 系统配置文件,包括启动文件,例如inittab等 /lib 必要的链接库,例如C链接库.内…
接上一节http://blog.csdn.net/mybelief321/article/details/10040939 说实话,我当时写这个系列的博文的时候,感觉对BusyBox算是有点了解,直到昨天出现问题,今天解决了,才醍醐灌顶,算是知道了BusyBox静态编译和动态编译的区别.首先,说明一下我的问题,以下是我的问题 ----------------------------------问题描述开始------------------------------------------- 在配…
具体步骤如下: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打开配置菜单,修改两个配置项,…
http://m.blog.csdn.net/article/details?id=51400196(转) VMware12 环境:ubuntu12.4 开发板:tiny4412 首先烧写bootloader,我用一个8G的内存卡,现在不说sd卡的制作过程了,网上可以参考. 现在就把我给arm的emmc烧写过程开始说. 用sd卡启动,开发板的右下角有个开关控制启动方式,往下是sd卡启动,往上是mmc启动. 1,.先用sd卡启动 注意:把右下角的开关拨到下面.启动后的是[940122@xxxxxx…