在Linux下用buildroot搭建mips/arm的交叉编译平台
在Linux下用buildroot搭建mips/arm的交叉编译平台
这个编译环境是不能编译for开源无线路由器的程序的,因为内核是2.6的
建议参考这篇: http://www.felix021.com/blog/read.php?1467
前两天买了NetGear WRT614 V9,搭载的是Broadcom的200MHz MIPS处理器。
由于使用的是开源操作系统Linux,所以可以刷网上一些NB的固件,比如dd-wrt, tomato, openwrt ...
于是决定把武大校园网的newstar ( felicia修改自superstar修改自mystar ) 集成进去。
想要自己编译newstar,就必须搭建一个交叉编译(cross-compile)平台
也有一种说法是cross compile toochain,交叉编译工具链
反正一个意思:就是能在你现在用的机器上(一般是x86)编译出mips架构的目标代码,很NB。
网上搜了一下,发现有一个好东西阿,它的名字是buildroot
它把制作交叉工具链的整个过程都包干了,你只要选择你想要什么东西就好了
详细介绍和使用见 http://buildroot.uclibc.org/buildroot.html
下面是我的搭建过程:
0. 先安装需要安装的东西
包括: build-essential bison flex ...
# sudo apt-get install build-essential bison flex
1. 下载buildroot
我下载的是最新的版本
http://buildroot.uclibc.org/downloads/snapshots/buildroot-snapshot.tar.bz2
当然你也可以在这里找早期的版本 http://buildroot.uclibc.org/downloads/snapshots/
我把它放在了 /cross 这个目录下面,你可以自己选择,但是下面都以 /cross 为例。
2. 打开terminal,解压buildroot
# su root //然后输入密码
# mkdir /cross
# cd /cross
# mv /{你把它放在哪里了?}/buildroot-snapshot.tar.bz2 ./
# tar jxvf buildroot-snapshot.tar.bz2 //得到 /cross/buildroot 目录
# cd buildroot
3. 配置你需要的东西
# make menuconfig //然后看到了熟悉的界面了吧~~和编译Kernel的一样噢~~
在Target Architecture里面,选择MIPS (当然,你也可以选择ARM,下面还是以MIPS为例 =.=)
在Toolchain里面选上你需要的编译工具,比如g++(编译newstar需要g++),是
[ ] Build/install c++ compiler and libstdc++?
移动到上面,按一下空格,就会变成
[*] Build/install c++ compiler and libstdc++?
全部确定OK以后选择Exit,点击YES,程序会自动生成一个.config文件
p.s. 建议不要加入对jffs2的支持(默认没有),因为我这里出现编译错误,有个函数没
相关文档:
dd 是 Linux/UNIX 下的一个非常有用的命令,作用是用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。
dd 的主要选项:
指定数字的地方若以下列字符结尾乘以相应的数字:
b=512, c=1, k=1024, w=2, xm=number m
if=file
输入文件名,缺省为标准输入。
of=file
输出文件名,缺省为标准输出。
ibs=bytes
一 ......
一.真实主机配置与设置
前提条件:公司是通过IP、MAC地址映射的方式来访问网络的。
网关:192.168.10.1
以下两组IP,MAC可以访问外网
1.
IP:192.168.10.232
MAC: 00-0B-2F-1A-51-95
2.
IP:192.168.10.175
MAC:00-28-27-AB-56 ......
作者:北南南北
赞助:
来自:LinuxSir.Org
摘要: 本文主要介绍Linux系统的用户和用户组的查询、添加、修改及删除等管理工具;
1、/etc/passwd 和/etc/groups
2、超级权限控制 sudo 的配置文件/etc/sudoers ;
3、添加用户规则文件 /etc/login.defs 和 /etc/default/useradd
1、useradd 工具;
1.1、u ......
linux内核中最常见的锁是自旋锁(spin lock)。自旋锁最多只能被一个可执行线程持有。如果一个执行线程试图获得一个被争用的自旋锁,那么该线程就会一直进行忙循环等待锁重新可用。要是锁未被争用,请求锁的执行线程便能立刻得到它,继续执行。在任意时间,自旋锁都可以防止多于一个的执行线程同时进入临界区。
......
网上找了很多,这个最有效,转载下
下载成功后上传至服务器任意目录
2. 在当前目录输入
sh jdk-6u2-linux-i586-rpm.bin
3.看到 安装程序在询问您是否尊守许可协议页面 ,回车 ......