openwrt 安装交叉编译工具链 错误总结

Openwrt交叉编译

      首先我先介绍下什么是交叉编译:

      交叉编译,简单的说就是,就是在一个平台上生成另一个平台上的可执行文件,举个例子,我我用我的电脑(x86_64平台)编译出路由器(mips-AR71XX)上可以执行的二进制文件,要进行交叉编译首先就要有对应平台的编译器。

Openwrt的交叉编译并不复杂。

第一步,你需要得到toolchain(工具链),我个人理解这个就相当于编译器

       如何得到toolchian呢?有两种方法(推荐第一种)

1.到openwrt下载(要注意平台,http://downloads.openwrt.org)

2.自己编译,在编译固件时可以看到有编译toolchain的选项


      这里告诉大家一个非常实用的小技巧,如果用手工敲上面的命令,非常的费时费力,还很容易出错,你可以敲完“sudo tar jxvf ./b”后按“Tab”键,系统将自动补全为“sudo tar jxvf ./bin” ,后面的文件夹和文件也是同理,非常的省时省力。

 

安装ToolChain

     步骤1:打开虚拟机,在 /home下创建 /home/opwnWRT 文件夹【注意需要用sudo才能创建】    

    步骤2:先将opwnWRT安装包 xxxxxx.tar.bz2从Windows中弄到ubuntu中去(此处使用共享文件夹)

    步骤3:复制。在ubuntu中进入到 /home/opwnWRT 所在的目录(用命令和窗口都行)

    步骤4:解压,用命令和窗口都行。解压指令如下:tar  -jxvf  xxxxx.tar.bz2  。按回车键后让ubnutu自动安装直到安装完毕。

修改ToolChain 的 PATH路径

      在一个终端中执行  . mips-openwrt-linux-gcc  -v  命令后,该终端中就可以直接使用mips-openwrt-linux-gcc 了,但是只要关掉这个终端再另外打开一个立马就不行了。原因是我们本次终端中执行时的操作只是针对本终端,以后再打开的终端并未被执行过这个命令所以没导出。
    解决方案:如果要每次打开终端都可以看到这个环境变量,在  /etc/bash.bashrc  中

   (1)sudo vi /etc/bash.bashrc
         在最后一行添加

        export  PATH=/home/opwnWRT/toolchain-mips_34kc_gcc-4.8-linaro_uClibc-0.9.33.2/bin:$PATH
        export STAGING_DIR=/your_openwrt_path/staging_dir:$PATH
 注意:

(1)上面这个“STAGING_DIR”变量中的“your_openwrt_path”是读者实际放 openwrt源码的根目录,如果这个“STAGING_DIR”变量不设置的话,会在用交叉工具链编译文件时有警告,但是不影响编译结果。

(2)末尾的  :$PATH 不要弄错,否则系统的变量会出错,连 ls、copy等命令都操作不了。

(2)末尾的  :$PATH 不要弄错,否则系统的变量会出错,连 ls、copy等命令都操作不了。

(2)末尾的  :$PATH 不要弄错,否则系统的变量会出错,连 ls、copy等命令都操作不了。

重要事情说了3遍!!!


最后保存退出。


接着在终端执行以下命令:
        source  /etc/bash.bashrc
建议重启一下ubuntu,否则可能找不到。


检查是否安装成功
    mips-openwrt-linux-gcc  -v
   此时应打印出交叉编译工具的一些信息,表示安装成功
 

白浪介绍:

(1)一位自媒体极客,面向射频、微波、天线、无线通信、智能硬件、软件编程、渗透安全、人工智能、区块链,Java、Android、C/C++、python等方向的综合能力培养提升。

(2)各种学习资料、学习软件分享(仅供学生学习)。

1.扫码关注公众号(Geekxiaobai)

                       openwrt 安装交叉编译工具链 错误总结_第1张图片                     openwrt 安装交叉编译工具链 错误总结_第2张图片

2. 在后台发送“Python高级编程”“CST”或“HFSS” 或“Altium”等,即可免费获得学习资源。仅供学习之用。

3. 扫码关注后,查看往期内容,会有更多资料惊喜等着你来拿哦  

  想要更多相关学习资料,可以在公众号后面留言哦,后期将会根据留言需求免费分享学习资料哦。

========******=========******========******=========******==========

 

 

你可能感兴趣的:(Linux)