开发者社区> 狗尾巴呢> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

linux定制

简介: http://cc.bingj.com/cache.aspx?q=OpenEmbedded+clfs&d=4706495287069596&mkt=zh-CN&setlang=zh-CN&w=afp8GvZe7KNcRFBKF2kYXd8WwVn9MVkI CLFS stands for Cros...
+关注继续查看

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 scp命令
        scp全称为secure copy,即安全拷贝,是Linux下进行远程拷贝文件的命令。与其相似的命令是cp和rsync,cp只是在本机进行拷贝不能跨服务器,rsync比较占用资源,虽然会比scp快,但是在小文件众多的情况下,rsync会导致磁盘I/O非常高,而scp则可以进行跨服务器传输,并且传输时加密的,同时不会消耗多少系统资源。
979 0
Linux awk命令
        awk是一个强大的文本分析工具,其对数据分析并生成报告的能力非常强大。它的处理流程为:将文件逐行读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。         语法         awk [-F  field-separator]  'commands'  input-file(s)         其中,[-F  field-separator]为可选的指定域分隔符,不指定的话默认为空格;commands是需要执行的命令;input-file(s) 是待处理的文件。
807 0
+关注
狗尾巴呢
从事研发20年 涉及桌面软件、嵌入式设备、C/S分层系统、B/S业务系统、互联网系统等等各类系统 语言涉及C/C++ .net系统 java系列 前端系列等等不同的类别 主控和主导了国家863项目,企业业务应用系统,自然语言翻译系统,数据库审计等系列的软件研发
435
文章
2
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载