[openwrt]:斐讯K3C OPCC+中大H3C校园网认证配置指南(二) 交叉编译
上篇说的是如何刷k3c 的OpenWrt固件,现在来说说交叉编译的事情,也可以百度/Google “OpenWrt交叉编译” 获取更多内容。
编译适用于自己平台的软件(k3c为例)
不同机型由于CPU架构不同,现有的软件可能满足不了运行要求,目前路由器的主流的是博通的芯片,大多数基于arm/mips。arm也分armv7等等架构,架构、指令集不同,c程序通常无法运行。因为c/c++是对底层架构敏感的,而路由器通常没有编译环境,这时候我们就需要在其他电脑上完成交叉编译。交叉编译,简单来说就是在一个平台上生成另一个平台上的可执行文件。
很多热门路由器,会有很多固件,也有很多编译好的软件集成在openwrt里面,因此没有太大必要自己编译,这里只针对实在找不到对应CPU架构的软件时的情况。
下载Toolchain
热门机型的SDK在官网有,可以查下自己的CPU架构然后去OpenWrt官网查看。
k3c没有在官方机型里面,不过好在有@paldier维护的SDK,里面有构建所需的工具链,下面以nu-h3c为例,解释如何交叉编译得到可执行文件。以下使用linux(win10 linux子系统也可以)操作
下载OpenWrt SDK
热门机型可以查下自己的CPU架构然后去OpenWrt官网查看,K3C直接下载@paldier的git仓库
git clone https://github.com/paldier/K3C.git
cd K3C/
./scripts/feeds update -a
./scripts/feeds install -a
make menuconfig
会出现OpenWrt Configuration的图形界面
选择Load->k3c256.config,然后Exit
make #会自动构建依赖、编译固件以及相关模块
完成后Toolchain在K3C/staging_dir/toolchain-mips_mips32_gcc-4.8-linaro_uClibc-0.9.33.2。修改环境变量:
vim ~/.bashrc
在末尾加上
export PATH=$PATH:[k3c根目录]/K3C/staging_dir/toolchain-mips_mips32_gcc-4.8-linaro_uClibc-0.9.33.2/bin
export STAGING_DIR=[k3c根目录]/K3C/staging_dir/
export CC=mips-openwrt-linux-uclibc-gcc
export GCC=mips-openwrt-linux-uclibc-gcc
其中[k3c根目录]是指K3C文件夹的绝对路径
source ~/.bashrc
编译nu-h3c
这样可以应对大部分没有依赖库的编译工作,比如nu-h3c
git clone cd nu-k3c
make # 即可,Makefile里写的是$(CC),会自动找到[k3c根目录]/K3C/staging_dir/toolchain-mips_mips32_gcc-4.8-linaro_uClibc-0.9.33.2/bin/mips-openwrt-linux-uclibc-gcc 编译器
至此交叉编译就完成了,scp复制文件到路由器上即可执行
打包成ipk包
如同Debian/RedHat 的包管理工具dpkg/rpm,OpenWrt也使用了一套opkg包管理工具。可以用OpenWrt SDK打包对应平台的程序为.ipk文件。这方面内容我了解也不够深入,只能大致讲一讲如何简单使用OpenWrt SDK。这里以sysuh3c为例,作者@zonyitoo给了完整的使用方法
按照其步骤修改,如果不清楚CPU架构,可以PKGARCHH:=all代替。以刚才的K3C为例:
cd K3C/
git clone git@github.com:zonyitoo/sysuh3c.git -b openwrt package/sysuh3c
vim package/sysuh3c/Makefile #PKGARCHH:=[arch] 改为PKGARCHH:=all
然后更新feed:
cd K3C
./scripts/feeds update -a
./scripts/feeds install -a
make menuconfig
去到Utilities->选中sysuh3c 然后按M,
退出并保存,然后
make #会构建配置的模块以及固件,所以时间很长,不过它会自己解决依赖问题,比如这个sysuh3c依赖于libc/libgcc/libuci
也可以单独构建sysuh3c,不过就要自己解决依赖问题了
make package/sysuh3c/compile
一般生成的ipk文件在bin/文件夹下,我这里是:
PS:这里的Makefile是给OpenWrt SDK看的,写法与正常Makefile不同,详情请查阅OpenWrt官方文档或者Google。
这次折腾交叉编译h3c主要收获的就是这些,如果说法有问题还请指正,毕竟这块我了解的还是太少。
欢迎去我的博客参观
[openwrt]:斐讯K3C OPCC+中大H3C校园网认证配置指南(二) 交叉编译相关推荐
- 斐讯 K3C V32.1.45.267 V1.1官改升级操作
2019独角兽企业重金招聘Python工程师标准>>> 20180415上车试水,原版本支持的功能较少,因此刷了官改版本,本身对路由不是很了解,这里就记录一下就好了,官改的版本支持的 ...
- H3C 交换机 OpenFlow 配置指南
H3C 交换机 OpenFlow 配置指南 目录 Console 连接交换机 配置 VLAN 创建实例并映射 VLAN 配置控制器1的IP地址并激活实例 验证配置 1. Console 连接交换机 笔 ...
- openwrt需要在VMware运行时make menuconfig 如何配置 (二)
1.需要在VMware下运行openwrt的menuconfig配置 make menuconfig 2.Target System:选择X86 3.Target Image:选择ext4和Build ...
- H3C PPP MP配置示例二(续)
转载于:https://www.cnblogs.com/fanweisheng/p/11165452.html
- openwrt配置内核驱动_为斐讯K2P编译OpenWRT LEDE,并启用mtk闭源wifi驱动及H3C认证
写在最前:只有A1/A2版的K2P才能照本文编译固件并刷入,B1/B2版切莫作死. 一.简述 写在最前,只有A1/A2版本的K2P能照本文编译固件并刷入,B1版本切莫作死.虽然斐讯迟早翻车 现在已经翻 ...
- 真假路由“易混淆” 斐讯K系列“做典范”
百兆宽带入户时代已经到来,家中上网竟如"吃瘪"一样,还是熟悉的龟速和卡顿.花大银子却不买账,百兆宽带空成摆设.实际上这可能是因为你的老式路由早已落伍,跟不上百兆网速的节奏.自此,传 ...
- 斐讯盒子N1-docker 入门一
一.斐讯N1盒子可以在拼多多上买 二.刷机教程网上有很多,我这里刷了armbian系统 三.刷机完成后开始安装docker (1)更新下载源 vi etc/apt/sources.list deb [ ...
- 斐讯k2为什么不能加虚拟服务器,斐讯K2路由器怎么设置桥接_斐讯K2无线中继设置教程-192路由网...
问:斐讯K2路由器怎么设置桥接? 我想用斐讯K2无线路由器,桥接家里另一台路由器的信号,应该怎么设置? 答:斐讯K2路由器的无线桥接(中继)设置,其实非常的简单. 只需要先登录到斐讯K2的设置界面,在 ...
- 斐讯k2搭建php环境,斐讯K2路由器怎么设置桥接_斐讯K2无线中继设置教程-192路由网...
问:斐讯K2路由器怎么设置桥接? 我想用斐讯K2无线路由器,桥接家里另一台路由器的信号,应该怎么设置? 答:斐讯K2路由器的无线桥接(中继)设置,其实非常的简单. 只需要先登录到斐讯K2的设置界面,在 ...
最新文章
- javascript优化_如何通过使用服务人员来优化JavaScript应用
- SAP HUM 将HU与检验批号码解除关联关系
- react系列知识---11组件间抽象
- Mybatis映射文件动态SQL语句-02
- Openjudge-计算概论(A)-求分数序列和
- 智慧城市_城市大脑:加速构建智慧城市
- 从微信的改版中我看到了微信的焦虑
- System.Net.Mail和System.Web.Mail
- (39)FPGA面试题Verilog实现卖报机
- java解析xml文件失败,在Java中解析大型XML文件时找不到文件异常
- java awt 教程_JAVA教程第五讲AWT图形用户界面设计
- 华尔街持续唱多美股市场,微美全息发布VR设备领涨科技股
- Unity 在安卓手机上实时调试
- 《Detecting Adversarial Examples through Image Transformation》和CW attack的阅读笔记
- 什么是监管数据?什么是监管信息系统?监管数据安全管理办法说了什么?
- android集成环信客服云_2019.6.12
- sql语句查询时,where条件同时使用and和or
- 代码“可读性”到底有多重要?
- 【c++入门(2)】贪心训练
- Rust的面向对象(五)——面向对象
热门文章
- python考核试题及答案
- 一次登录接口502问题排查过程
- 4s店计算机系统有哪些,4s店管理系统
- LS1028A性能介绍-NXP Layerscape 系列功能对比-飞凌LS1028开发板评测
- java计算机毕业设计计算机组成原理教学网站源码+mysql数据库+系统+lw文档+部署
- Go C画图 CSP-J CSP-S NOIP 信息学奥赛(51套)
- Kotlin系列之Kotlin初体验
- 实现pandas导入excel时保留公式的文本内容
- 『文献回顾』“文本自动摘要” 相关文献综述
- 《瀚兰房地产开发区块链应用及案例分享》BSN培训精华回顾