一、首先编译并安装BusyBox

这里使用的交叉编译器还是3.4.5.

注意:编译内核、编译BusyBox以及编译文件系统中的所有应用程序的交叉编译器要使用同一个版本。

1、获取BusyBox源码

下载地址:http://www.busybox.net/downloads/

这里下载 busybox-1.13.0.tar.bz2

2、修改并配置BusyBox

解压BusyBox,进入到其顶层目录,修改顶层Makefile:

将164行修改为:

CROSS_COMPILE ?= arm-linux-

将189行修改为:

ARCH ?= arm

3、执行make menuconfig,进入配置单:

需要注意的配置选项如下:

Busybox Settings—>General Configuration:

Busybox Settings—>Build Options:

Busybox Settings—>Installation Options:

Busybox Settings—>Busybox Library Tuning:

Linux Module Utilities—>

保存配置并推出配置单。

4、执行命令make;make install编译安装Busybox。

编译安装结束后,会在顶层目录下生成一个名为_install的目录,该目录内容如下:

二、构建根文件系统

1、选择一个合适的地方创建一个目录root_2.6.30.4。

2、复制Busybox中生成的_install目录下的bin、sbin、usr和linuxrc到root_2.6.30.4目录下。

3、在root_2.6.30.4目录下新建dev、etc、home、lib、mnt、opt、proc、root、sddisk、sys、tmp、udisk、var和web目录,同时在原有的usr目录下新建lib和share目录。

4、添加内容:

在dev目录下:

在etc目录下:

这里要添加的内容比较多,所以就直接复制了一个天嵌做好的文件系统进行适当修改。

5、使用mkyaffs2image软件制作跟文件系统:

mkyaffs2image root_2.6.30.4/ root.bin

将root.bin烧写到开发板,启动如下:

linux2.6.30.4内核移植(5)——构建根文件系统(yaffs文件系统格式的镜像)的更多相关文章

  1. linux2.6.30.4内核移植(3)——yaffs文件系统移植

    内核源码:linux2.6.30.4 交叉编译工具:3.4.5 移植linux内核至:TQ2440 工作基础:http://www.cnblogs.com/nufangrensheng/p/36696 ...

  2. linux2.6.30.4内核移植(2)——Nand Flash驱动移植

    内核源码:linux2.6.30.4 交叉编译工具:3.4.5 移植linux内核至:TQ2440 工作基础:http://www.cnblogs.com/nufangrensheng/p/36696 ...

  3. linux2.6.30.4内核移植(1)

    内核源码:linux2.6.30.4 交叉编译工具:3.4.5 移植linux内核至:TQ2440 1.进入内核顶层目录,修改顶层Makefile,大概在193和194行,将ARCH和CROSS_CO ...

  4. linux2.6.30.4内核移植(7)——插入hello world驱动模块

    详细步骤参考自:http://www.cnblogs.com/wanyao/archive/2011/11/21/2257628.html 过程比较顺利,结果截图如下: 这里需要注意的是:http:/ ...

  5. linux2.6.30.4内核移植(6)——移植应用程序hello world常见的错误:-bin/sh ./hello not found

    通常在开发板上搭建好开发平台后,我们会试着移植一个最简单的应用程序Hello world来测试一下.初次尝试,我们经常会碰到的问题就是,在开发板上运行./hello的时候出错:-bin/sh ./he ...

  6. linux2.6.30.4内核移植(4)——完善串口驱动

    在内核里支持两个串口,也就是芯片的UART0和UART1,而UART2的驱动是针对红外接口的,而不是串口驱动,这里将其修改为串口驱动. 一.修改内核源码arch/arm/mach-s3c2440/ma ...

  7. 【Linux驱动器】Linux-2.6.20.4内核移植

    最近一段时间以来一直学习TQ2440内核开发板移植.嫁接驱动器. 真诚地相信这方面的知识有很大的困难,.但有一种观点认为,从看,难度越大,的提升空间的能力更大! ! 1.解压源代码 从Internet ...

  8. Linux内核移植

    实验步骤:(1)准备工作(2)修改顶层Makefile(3)修改falsh 分区(4)配置编译内核 下面以Linux2.6.30.4内核移植到gec2440为例: 一.准备工作:建立工作目录,下载内核 ...

  9. ARM-Linux内核移植之(二)——Linux2.6.22内核移植

    平台:mini2440  交叉工具链:arm-linux-gcc-4.3.2 一.内核移植基本知识 移植内核也叫构建BSP(boardsupprot packet).BSP的作用有两个:一是为内核运行 ...

随机推荐

  1. 查询EBS系统在线人数

    /* Formatted on 2018/3/14 23:25:51 (QP5 v5.256.13226.35538) */ SELECT U.USER_NAME , APP.APPLICATION_ ...

  2. Asp.Net 管道事件注册/HttpApplication事件注册

    一.HttpApplication简介 在HttpRuntime创建了HttpContext对象之后,HttpRuntime将随后创建一个用于处理请求的对象,这个对象的类型为HttpApplicati ...

  3. Java工程师成神之路~(2018修订版)

    针对本文,博主最近在写<成神之路系列文章> ,分章分节介绍所有知识点.欢迎关注. 主要版本 更新时间 备注 v1.0 2015-08-01 首次发布 v1.1 2018-03-12 增加新 ...

  4. sys.stdout.flush()以及subprocess的用处

    sys.stdout.flush()立即把stdout缓存内容输出. subprocess与shell进行交互,执行shell命令等. 执行shell命令集合: subprocess.check_ou ...

  5. Windows8.1 关机异常的解决

    昨天电脑无法正常关机,关机后风扇仍然转,硬盘也在读写,等了很长时间都没有完全关机,只能强制关机.以前其他系统也遇到过这个问题,因此考虑还是驱动问题.回想了下之前装过VirtualBox,考虑到应该是V ...

  6. 在PC上像普通winform程序调试WINCE程序

    在PC上像普通winform程序调试WINCE程序 步骤: 1. 在VS2008中到 工具→选项→设备工具→设备,选择对应的平台,另存为新的名称,如CEDesktopRun,关闭VS2008.(如果不 ...

  7. [leetcode]Unique Binary Search Trees @ Python

    原题地址:https://oj.leetcode.com/problems/unique-binary-search-trees/ 题意: Given n, how many structurally ...

  8. Combination Sum II leetcode java

    题目: Given a collection of candidate numbers (C) and a target number (T), find all unique combination ...

  9. C# XmlTextWriter和XmlTextReader 读写XML文件

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.X ...

  10. iOS中的多线程 NSOperation

    在ios中,使用多线程有三种方式,分别是:NSThread.NSOperation和NSOperationQueue.GCD,在本节,主要讲解一下NSOperation的使用. NSOperation ...