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 开发工具 网络协议
定制Linux
tar -xzvf linux-major-minor-VERSION.tar.gz -C /usr/src cd /usr/src ln -sv linux-major-minor-VERSION linux make allnoconfig make menuconfig 在此处配置的信息: 1.
989 0
|
17天前
|
Web App开发 Linux 网络安全
工作中常用到的Linux命令
工作中常用到的Linux命令
|
4天前
|
机器学习/深度学习 缓存 监控
linux查看CPU、内存、网络、磁盘IO命令
`Linux`系统中,使用`top`命令查看CPU状态,要查看CPU详细信息,可利用`cat /proc/cpuinfo`相关命令。`free`命令用于查看内存使用情况。网络相关命令包括`ifconfig`(查看网卡状态)、`ifdown/ifup`(禁用/启用网卡)、`netstat`(列出网络连接,如`-tuln`组合)以及`nslookup`、`ping`、`telnet`、`traceroute`等。磁盘IO方面,`iostat`(如`-k -p ALL`)显示磁盘IO统计,`iotop`(如`-o -d 1`)则用于查看磁盘IO瓶颈。
|
14天前
|
NoSQL Linux Shell
常用的 Linux 命令
常用的 Linux 命令
36 9
|
1天前
|
监控 Linux Windows
50个必知的Linux命令技巧,你都掌握了吗?(下)
50个必知的Linux命令技巧,你都掌握了吗?(下)
|
1天前
|
Linux Shell Windows
Linux 常用基本命令
Linux 常用基本命令
|
2天前
|
Ubuntu Linux Shell
linux免交互登陆远程主机并执行命令(密钥对和Expect)
linux免交互登陆远程主机并执行命令(密钥对和Expect)
|
2天前
|
Linux
【Linux】常用命令
【Linux】常用命令
21 0
|
2天前
|
安全 Ubuntu Linux
Linux 网络操作命令Telnet
Linux 网络操作命令Telnet
14 0
Linux 网络操作命令Telnet
|
3天前
|
Linux 数据安全/隐私保护
Linux常用命令实例带注释
Linux常用命令实例带注释
30 0