Openwrt源码下载和交叉编译

一.下载源码及配置:

普通用户模式下:

 sudo apt-get install git-core //安装git工具
 sudo apt-get install subversion //安装svn工具
 mkdir openWrt
 cd openWrt

svn下载源码方法如下:

trunk开发版:    svnco svn://svn.openwrt.org/openwrt/trunk/
backfire稳定版: svnco svn://svn.openwrt.org/openwrt/branches/backfire

准备编译工具:

sudo apt-getinstall gcc g++ binutils patch bzip2 flex bison make autoconf gettext texinfounzip sharutils subversion libncurses5-dev ncurses-term zlib1g-dev subversion git-core gawk asciidoc libz-dev

cd trunk:

 ./scripts/feeds update –a   //更新扩展
 ./scripts/feedsinstall –a  //安装扩展

 make defconfig     //测试编译环境
 make menuconfig    // 编译固件,进入定制界面

配置内核:
  Target System–>AtherosAR9XXX //主芯片,cpu型号
  Target Profile–>NETGEARWNDR3800 //路由器型号
  选择Toolchain;

make  V=99  //编译 

二.原厂固件刷成openWrt步骤:

型号:WNDR3800

1.电脑主机与路由器LAN口相连,用笔捅住路由器复位键后开启电源,直到电源指示灯变为绿色闪烁后释放。(电源指示灯:黄->黄色闪烁->绿->绿色闪烁)

2.tftp方式刷路由器:

root@zlk-pc:/home/zlk/wndr3800#tftp
tftp> mode binary
tftp>connect 192.168.1.1
tftp>put wndr3800.img
Sent7995521 bytes in 1.3 seconds
tftp>quit

3.输入192.168.1.1进入Luci界面配置

之后即可直接上传不同固件版本
.img和.bin固件链接:http://pan.baidu.com/s/1cog9Vg

这里写图片描述

三.交叉编译:

交叉编译工具链:

 cd openWrt/trunk/staging_dir/toolchain-mips_34kc_gcc-4.8-linaro_uClibc-0.9.33.2/bin/  
  ls 
 ./mips-openwrt-linux-gcc  hello.c -o hello    //交叉编译hello.c

 scp/home/zlk/openWrt/trunk/staging_dir/toolchain-mips_34kc_gcc-4.8-linaro_uClibc-0.9.33.2/bin/hello   root@192.168.1.1: //上传到路由器

 ssh 192.168.1.1
 ls
./hello      //成功!

可能遇到的问题:
1,用OpenWrt的交叉编译器编译外部程序文件,遇到如下错误:
mips-openwrt-linux-gcc: warning: environment variable ‘STAGING_DIR’ not defined
解决办法是在命令行输入:
export STAGING_DIR=(你的OpenWrt目录的绝对路径)/staging_dir

2,上传到openWrt运行时,遇到如下错误:
-ash: ./hello: not found
解决办法是在主机上使用静态编译:
./mips-openwrt-linux-gcc -static -o hello hello.c

以上编译针对的都是简单的程序,实际上对于大型源码,需要链接。

附:scp指令copy文件:
  
   ps -e | grep ssh
   2105 ? 00:00:01 ssh-agent
   29729 ? 00:00:00 sshd
  若没有sshd安装:apt-get install openssh-server
  
从本地到远程: scp /home/zlk/KVM.odt zlk@192.168.1.225:/home/zlk/ KVM.odt
从远程到本地: scp zlk@192.168.1.225:/home/zlk/KVM.odt /home/zlk/ KVM.odt

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值