http://cc.bingj.com/cache.aspx?q=OpenEmbedded+clfs&d=4706495287069596&mkt=zh-CN&setlang=zh-CN&w=afp8GvZe7KNcRFBKF2kYXd8WwVn9MVkI

CLFS stands for Cross Linux From Scratch, it's an offshoot of the LFS (Linux From Scratch) project. The goal of both LFS and CLFS is to provide instruction on how to build a Linux system, step by step, from source. In both projects, first a toolchain is built and then a bootable GNU/Linux operating system is built using that toolchain. CLFS differs from LFS in that CLFS builds a GNU/Linux system for an architecture different than the one doing the building. For example, if I have an x86 based computer on my desk that I want to use to build GNU/Linux for a PowerPC system I just bought off eBay, I'd use CLFS rather than LFS.

The methods described by CLFS are very similar to the methods used by OpenEmbedded orBuildroot, but each step is described and there's very little automation. You literally manually build, step by step from upstream source, a toolchain and then a functioning GNU/Linux system. Throughout the books there is information on all the different choices you are required to make. For example: if targeting an ARM processor, when building GCC, you have to choose which ARM version to target, like "armv7-a" for Cortex-A8.

The CLFS project has three different books: Standard, Embedded, and Sysroot. The Standard book is the most developed book and mostly targets people who want to build a cross-compiled system for a desktop computer system. The Embedded book (the one I work on) builds a minimal GNU/Linux system using uClibc targeted at embedded devices where resources may be constrained. The Sysroot book uses a different technique to accomplish similar goals as the Standard book. Both the Standard and Embedded books are under active development, Sysroot hasn't been updated in a while.

Where OpenEmbedded and Buildroot hide a lot of the complexity of building a cross compiled version of GNU/Linux, CLFS hides almost nothing. Think of CLFS as more of a learning experience rather than a quick way to build a cross system. A big advantage of CLFS over an automated system is that errors are usually easy to identify, since everything's done manually you stay at the terminal and you'll probably watch the configure scripts and compiler output. If something doesn't look right, you will have a much better idea of where the problem is, if not what the problem is.

http://crosstool-ng.org/

  • buildroot whose main purpose is to build complete root file systems, hence the name. But once you have your toolchain with buildroot, part of it is installed in the root-to-be, so if you want to build a whole new root, you either have to save the existing one as a template and restore it later, or restart again from scratch. This is not convenient,
  • ptxdist, whose purpose is very similar to buildroot,
  • other projects (openembedded for example), which is again used to build complete root file systems.

crosstool-NG is really targetted at building toolchains, and only toolchains. It is then up to you to use it the way you want.

With crosstool-NG, you can learn precisely how each component is configured and built, so you can finely tweak the build steps should you need it.

crosstool-NG can build from generic, general purpose toolchains, to very specific and dedicated toolchains. Simply fill in specific values in the adequate options.

http://www.bitshrine.org/ltib/  这个是早期的版本,已经停止维护

http://blog.chinaunix.net/uid-12617001-id-3766199.html

#QEMU
http://blog.csdn.net/susubuhui/article/details/7414236
sudo apt-get install -y libsdl-dev

yum search sdl
sudo yum install SDL-devel

qemu vl.c:1549:对‘timer_create’未定义的引用
export LDFLAGS=-lrt; ./configure --target-list=arm-softmmu --prefix=$HOME/local; make
make install

$ qemu-system-arm --version

#buildroot

#NAND
uboot.part 拷贝
flashimg -s 64M -t nand -f nand.bin -p uboot.part -w boot,u-boot.bin -w kernel,uImage -w root,rootfs.jffs2 -z 512
qemu-system-arm -M mini2440 -serial stdio -mtdblock nand.bin -usbdevice mouse

QEMU编译及使用方法
http://www.cnblogs.com/richardustc/archive/2013/03/15/2961180.html

#
使用 QEMU 创建虚拟机
http://www.tuicool.com/articles/YRJnYj
所有架构编译
sudo yum install glib2-devel
./configure --enable-kvm --enable-debug --enable-vnc
make -j8
find . -perm -1 -print

linux定制的更多相关文章

  1. Linux 定制X86平台操作系统

    /********************************************************************************* * Linux 定制X86平台操作 ...

  2. linux 定制

    转载至http://luyafei.blog.51cto.com/1092421/1131532 测试环境: VMware Workstation 8.0 CentOS 6.7 x86_64 1.安装 ...

  3. Linux定制化RPM包

    定制化RPM包 1.Linux安装软件方法 1- rpm/yum安装 简单.速度快,但是不能定制安装 RPM RedHat Package Manager(RPM软件包管理器) 2- 二进制安装 解压 ...

  4. linux定制的补充

    上一篇博文:http://www.cnblogs.com/hjc4025/p/6918323.html 这篇文章是对之前博文的一点扩展和补充: 这里主要是在之前的基础上添加了一些自己制作好的程序,还有 ...

  5. Loongnix 系统(MIPS Linux)

    电脑上的x86,手机上的ARM,在各自领域都是很成熟的CPU架构了,龙芯也参与进去竞争是很难的,就算是Intel,挤破头皮疯狂补贴自家的Atom x86还是在手机领域无法立足. 所以说,个人觉得龙芯可 ...

  6. 嵌入式设备上的 Linux 系统开发

    转载:http://www.ibm.com/developerworks/cn/linux/embed/embdev/index.html   如果您刚接触嵌入式开发,那么大量可用的引导装载程序(bo ...

  7. 【Linux探索之旅】开宗明义+第一部分第一课:什么是Linux?

    内容简介 1.课程大纲 2.第一部分第一课:什么是Linux? 3.第一部分第二课预告:下载Linux,免费的噢!   开宗明义 我们总听到别人说:Linux挺复杂的,是给那些追求逼格的程序员用的.咱 ...

  8. Linux定时任务工具crontab详解及系统时间同步

    Linux配置自动时间同步 linux下时间同步的两种方法分享 tail -f /var/log/cron linux下定时执行任务的方法  在LINUX中你应该先输入crontab -e,然后就会有 ...

  9. 最全互联网Linux工作规划!

    首先祝贺你选择学习Linux,你可能即将踏上Linux的工作之旅,出发之前,让我带你来看一看关于Linux和Linux运维的一切. Linux因其高效率.易于裁剪.应用广等优势,成为了当今中高端服务器 ...

随机推荐

  1. s:form标签

    2017-01-07 17:43:18 基本的用法 <!-- Action类必须有一个无参的构造器,因为在执行action方法之前,拦截器已经创建了一个"空"的Action对 ...

  2. 基于AngularJs的上传控件-angular-file-upload

    今天跟大家分享的是一个依赖于angular的上传控件. 前段时间做项目遇到一个需求是上传文件,大概需要实现的样式是这样子的,见下图: 需要同时上传两个文件.并且规定文件格式和文件大小.因为前端框架使用 ...

  3. 马哥linux运维初级+中级+高级 视频教程 教学视频 全套下载(近50G)

    马哥linux运维初级+中级+高级 视频教程 教学视频 全套下载(近50G)目录详情:18_02_ssl协议.openssl及创建私有CA18_03_OpenSSH服务及其相关应用09_01_磁盘及文 ...

  4. 使用Metrics.NET 构建 ASP.NET MVC 应用程序的性能指标

    通常我们需要监测ASP.NET MVC 或 Web API 的应用程序的性能时,通常采用的是自定义性能计数器,性能计数器会引发无休止的运维问题(损坏的计数器.权限问题等).这篇文章向你介绍一个新的替代 ...

  5. APP漏洞扫描用地址空间随机化

    APP漏洞扫描用地址空间随机化 前言 我们在前文<APP漏洞扫描器之本地拒绝服务检测详解>了解到阿里聚安全漏洞扫描器有一项静态分析加动态模糊测试的方法来检测的功能,并详细的介绍了它在针对本 ...

  6. 页面与ViewModel(下)

    在上一篇博客中,笔者分享了一些从页面整体的角度对页面与ViewModel的思考.在本文中笔者希望从相对细节的角度分享一些对页面与ViewModel的思考. 比如,当我们在更新View Model中的绑 ...

  7. [翻译]AKKA笔记 - ACTOR生命周期 - 基本 -5

    原文地址:http://rerun.me/2014/10/21/akka-notes-actor-lifecycle-basic/ (请注意这了讨论的生命周期并不包括 preRestart 或者pos ...

  8. DAO层,Service层,Controller层、View层 的分工合作

    DAO层:DAO层主要是做数据持久层的工作,负责与数据库进行联络的一些任务都封装在此,DAO层的设计首先是设计DAO的接口,然后在Spring的配置文件中定义此接口的实现类,然后就可在模块中调用此接口 ...

  9. SSIS 属性:ExecValueVariable

    有些Task组件执行完成之后,会产生输出结果,称作Execution Value,例如,Execute SQL Task在执行完成之后,会返回受影响的数据行数.Task组件的Execution Val ...

  10. Enterprise Solution 进销存管理软件 C/S架构,支持64位系统 物流,资金流,信息流全面集成

          定位  Target Customers 中小型生产制造企业,批发零售类,贸易企业 主要模块 Modules 采购.销售.库存.财务账款四大模块,包含企业运作过程中销售.采购.库存各岗位需 ...