平台:vmware下ubuntu14.04
前期准备:安装交叉编译环境arm-linux-gcc-4.5.1;下载完成BusyBox 1.23.2
一、busybox构建
1、make menuconfig——>裁剪定制构建选项 make defconfig
注:menuconfig需要库支持(sudo apt-get install libncurses5-dev)
2、配置busybox的编译工具链参数:
确定交叉编译器的安装位置:which arm-linux-gcc
确定交叉编译器的sys-root目录位置:在交叉编译路径下find . -name sys-root

Build Options——>
    ()Cross Compiler prefix  ----输入交叉编译器的安装位置。。。。/arm-linux-
    ()Path to sysroot     ----输入交叉编译器工具链中的sys-root目录

3、make(根据选项编译出二进制文件)
4、make install (根据选项安装busybox)
5、进入_install 可以发现已经创建好了:bin、linuxrc、sbin、usr目录

二、构建根文件系统
1、复制 _install目录的内容至需要制作的根文件系统
2、补全目录结构 :etc lib proc var dev
3、添加lib库文件
  (1 查找动态库依赖:readelf -d busybox|grep NEEDED
  (2 在交叉编译工具里寻找动态库文件(ld-linux.so.3 libc.so.6 libm.so.6) :如:find . -name libc.so.6
  (3 复制需要的库文件至lib
4、创建基本的设备文件(参考pc机linux系统):/dev/console /dev/tty[1-3]
  如:

  则:mknod console c 5 1

5、拷贝配置文件:
cp examples/bootfloppy/etc/*  mini_busybox/etc/ -r

至此,根文件系统mini_busybox制作完成

运用busybox构建最小根文件系统的更多相关文章

  1. 移植busybox构建最小根文件系统

    Busybox:瑞士军刀,里面装有很多小命令. STEP 1:构建目录结构  创建根文件系统目录,主要包括以下目录/dev  /etc /lib  /usr  /var /proc /tmp /hom ...

  2. busybox(三)最小根文件系统

    目录 busybox(三)最小根文件系统 引入 构建终端 构造inittab 配置应用程序 构建C库 制作映像文件yaffs title: busybox(三)最小根文件系统 tag: arm dat ...

  3. 构建 ARM Linux 4.7.3 嵌入式开发环境 —— BusyBox 构建 RootFS

    上一篇我们已经成功将 ARM Linux 4.7.3 的内核利用 U-BOOT 引导了起来.但是细心的你会发现,引导到后面,系统无法启动,出现内核恐慌 (Kernel Panic). 原因是找不到文件 ...

  4. 使用busybox构建根文件系统

    当我们在Qemu上运行起来自己编译的内核之后,需要使用busybox构建一个文件系统,将此文件系统挂载上去就可以使用busybox提供的各种命令了. 1.编译安装busybox 源码下载地址:http ...

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

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

  6. 韦东山笔记之用busybox构建根文件系统

    1 百度搜索busybox进入busybox官网(https://busybox.net/)作者:恒久力行 QQ:624668529  点击左侧DownloadSource下载最新稳定版的busybo ...

  7. 基于 debootstrap 和 busybox 构建 mini ubuntu

    基于 debootstrap 和 busybox 构建 mini ubuntu 最近的工作涉及到服务器自动安装和网络部署操作系统,然后使用 ansible 和 saltsatck 进行配置并安装 op ...

  8. 使用BusyBox制作Linux根文件系统

    STEP 1:构建目录结构 创建根文件系统目录,主要包括以下目录/dev  /etc /lib  /usr  /var /proc /tmp /home /root /mnt /bin  /sbin  ...

  9. 18.14 构建Linux根文件系统

    18.14.1 Busybox1.7.0之init程序分析 1.读取配置文件 2.解析配置文件 3.执行用户程序(根据配置文件中指定的内容) 配置文件: 1.指定应用程序 2.何时执行 busybox ...

随机推荐

  1. DataS-2

    2.4 证明对任意常数k,(称此式为公式A) 证明: ①当k1<k2时,,因此只需证明正数对公式A成立: ②当k=0或1时,显然有和满足公式A: ③假设k<i (i>1)时,都满足公 ...

  2. zan扩展安装

    官方地址 https://github.com/youzan/zan //提示缺少libcurl扩展时候安装 yum install libcurl-devel //安装完zan.so php -m提 ...

  3. 常用的邮箱服务器(SMTP、POP3)地址、端口

    sina.com: POP3 服务器地址:pop3.sina.com.cn(端口:110) SMTP 服务器地址:smtp.sina.com.cn(端口:25) sinaVIP: POP3 服务器:p ...

  4. RedHat(Linux) Oracle数据库设置开机自启动

    1 首先修改/etc/oratab文件添加如下行:ycr:/u01/app/oracle/product/12.1.0/dbhome_1:Y 关于/etc/oratab文件解释如下:# This fi ...

  5. 040同步条件event

    条件同步和条件变量同步差不多意思,只是少了锁功能,因为条件同步设计于不访问共享资源的条件环境,event=threading.Event():条件环境对象,初始值为False.event.isSet( ...

  6. Python深入学习之《Fluent Python》 Part 1

    Python深入学习之<Fluent Python> Part 1 从上个周末开始看这本<流畅的蟒蛇>,技术是慢慢积累的,Python也是慢慢才能写得优雅(pythonic)的 ...

  7. Ubuntu16.04使用所遇问题记录

    记录笔者在使用Ubuntu系统过程中所遇到过的错误/问题和解决方案.本机系统为Ubuntu 16.04 LTS,64-bit. 目前已有的解决方案: (1)Ubuntu安装搜狗输入法 (2)Windo ...

  8. slf4j-api-1.5.8.jar

    资源介绍: 详细说明:slf4j-api-1.5.8.jar,jsp开发中使用FCK编辑器,要用到一个jar包-slf4j-api-1.5.8.jar, jsp development using t ...

  9. luogu P1642 规划

    嘟嘟嘟 看到最后让求一个比值,应该得往01规划上去想.令x = ∑v[i] / ∑c[i],则x * ∑c[i] = ∑v[i], ∑(v[i] - x * c[i]) = 0. 于是可以二分x(注意 ...

  10. Centos7 安装eclipse IDE for C++

    1.安装前eclipse需要java, yum -y install java 查看版本java -version 2.下载eclipse IDE http://www.eclipse.org/dow ...