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. 解决Chrome 下载带半角分号出现net::ERR_RESPONSE_HEADERS_MULTIPLE_CONTENT_DISPOSITION的问题

    方式一:添加双引号Response.AddHeader("content-disposition", "attachment; filename=\"" ...

  2. linux常用命令(2)pwd命令

    pwd 命令1 命令格式:pwd [选项]2 命令功能查看当前工作目录的完整路径3 常用参数一般不带任何参数如果目录是链接时:pwd -P 显示实际路径,而非使用链接路径4 常用实例:4.1 用pwd ...

  3. nuget常用命令

    nuget命令的用法: 一.安装 1.安装指定版本类库install-package <程序包名> -version <版本号> 2.安装到指定的项目install-packa ...

  4. 在Linux(Luna)下向Launch启动器中添加图标

    记录下在Luna下向Launch中添加图标的步骤,以供以后参考,这里我以加入eclipse图标为例: 首先,我们来创建一个desktop文件(Luna中到启动器Launch可以看作是Ubuntu中到桌 ...

  5. APP并非一个人在战斗,还有API—Xamarin.Android回忆录

    前言 一般来说,一个客户端APP并非独立存在的,很多时候需要与服务器交互.大体可分为两方面的数据,常规字符串数据和文件数据,因为这两种数据很可能传输方式不一样,比如字符串之类的数据,使用HTTP协议, ...

  6. 一步步开发自己的博客 .NET版(3、注册登录功能)

    前言 这次开发的博客主要功能或特点:    第一:可以兼容各终端,特别是手机端.    第二:到时会用到大量html5,炫啊.    第三:导入博客园的精华文章,并做分类.(不要封我)    第四:做 ...

  7. C++11 shared_ptr 智能指针 的使用,避免内存泄露

    多线程程序经常会遇到在某个线程A创建了一个对象,这个对象需要在线程B使用, 在没有shared_ptr时,因为线程A,B结束时间不确定,即在A或B线程先释放这个对象都有可能造成另一个线程崩溃, 所以为 ...

  8. Java关键字:static

    通常,当创建类时,就是在描述那个类的外观和行为.只有用new创建类的对象时,才分配数据存储空间,方法才能被调用.但往往我们会有下面两种需求: 1.我想要这样一个存储空间:不管创建多少对象,无论是不创建 ...

  9. 将Json数据保存在静态脚本文件中读取

    一些常用的数据例如一些网站的区域信息被改变的可能性不大,一般不通过请求获取,于是我们选择存在静态文件中,例如以下Demo: 1.动态加载Json数据显示到前台 [HttpPost] public Ac ...

  10. 揭开SQL注入的神秘面纱PPT分享

        SQL注入是一个老生常谈但又经常会出现的问题.该课程是我在公司内部培训的课程,现在分享出来,希望对大家有帮助.     点击这里下载.