使用openwrt-SDK 生成IPK
1. 生成openwrt-sdk
在openwrt的根目录使用
make menuconfig
make V=99
选中 Build the Openwrt SDK
将生成的sdk文件拷贝到自己认为合适的目录。以后自己编写的程序包,都以这个目录为依据。这个SDK的目录结构类似openwrt的源码。
cp OpenWrt-SDK-ramips-mt7628_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-i686.tar.bz2 /home/qian/js7688_bsp/sdk_openwrt
cd /home/qian/js7688_bsp/sdk_openwrt
tar -xvf OpenWrt-SDK-ramips-mt7628_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-i686.tar.bz2 #解包
mv OpenWrt-SDK-ramips-mt7628_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-i686 openwrt_sdk #名字太长 改短些
2. 创建一个helloworld IPK软件包
cd ..openwrt_sdk/package #进入到sdk的package目录下 参考个人路径
目录下各个文件如下:
各个文件的内容如下:
package目下的Makefile是原来就有的,不要动。
package/helloworld目录下的文件是我们需要添加的。
helloworld/Makefile
include $(TOPDIR)/rules.mk #包含了包的基本信息,比如Makefile中的BUILD_DIR INCLUDE_DIR 等定义。可以到源码目录下查看rules.mkPKG_NAME:=helloworld #软件包的名称
PKG_VERSION:=1.0 #软件包的版本
PKG_BUILD_DIR:= $(BUILD_DIR)/$(PKG_NAME) #软件包编译目录include $(INCLUDE_DIR)/package.mk #定义用户软件包的规则。用户态package.mk 内核态:kernel.mkdefine Package/helloworld #定义包的名称SECTION:=base #包的类型CATEGORY:=Utilities #目录为utilitis,在menuconfig中的位置,有时还会有SUBMENU项,即子目录. TITLE:=Hello world -prints a hello world message #软件包的简单描述
endefdefine Package/helloworld/description #menuconfig中Help信息If you can't figure out what this program does, you're probably brain-dead and need immediate medical attention.
endefdefine Build/Preparemkdir -p $(PKG_BUILD_DIR)$(CP) ./src/* $(PKG_BUILD_DIR)/
endefdefine Package/helloworld/install$(INSTALL_DIR) $(1)/bin$(INSTALL_BIN) $(PKG_BUILD_DIR)/helloworld $(1)/bin/
endef$(eval $(call BuildPackage,helloworld))
helloworld/src/Makefile
helloworld : helloworld.o$(CC) $(LDFLAGS) helloworld.o -o helloworldhelloworld.o : helloworld.c$(CC) $(CFLAGS) -c helloworld.cclean:rm *.o helloworld
helloworld/src/helloworld.c
#include <stdio.h>
#include <stdlib.h>int main(void)
{int i=0;while(1){i++;printf("hello world... cnt=%d\r\n",i);sleep(1);}}
3 编译生成ipk文件
回到openwrt_sdk的根目录
make menuconfig
make
默认就是M。。
4.安装和执行
编译好的ipk存放在:..openwrt_sdk/bin/ramips/packages/base/
拷贝到开发板上,执行
opkg install helloworld_1.0_ramips_24kec.ipk
helloworld
使用openwrt-SDK 生成IPK相关推荐
- openwrt 下编译ipk
openwrt插件都是以.ipk方式发布的,ipk可以直接通过opkg安装到系统.上文我们编译了简单的hello,本文探究hello.ipk的编译过程. 一. 环境准备 cd ~/openwrt/bi ...
- uniapp使用高德地图微信小程序SDK生成地图轨迹
一文看懂微信小程序生成地图轨迹 一.开发准备 1.下载微信小程序SDK 2.高德控制台申请相关平台key 二.html页面展示地图标签 三.引入sdk及定义数据 四.相关方法(静态生成两个点之间的轨迹 ...
- 使用京东FaceX-Zoo sdk生成戴口罩数据集
使用京东FaceX-Zoo sdk生成戴口罩数据集 最近要做戴口罩的人脸识别,事实上当前开源的模型都不那么尽如人意,所以要优化算法再重新训练. 首先要解决的就是数据集的问题.因为从网络中能获取到的真实 ...
- openwrt修改生成BIN文件大小以用于8M FLASH(WR703N)
openwrt修改生成BIN文件大小以用于8M FLASH(WR703N) 由于存放于SVN上的openwrt代码总是不断更新版本,本方法可能不适用老版本. 1. openwrt 当前版本号:3440 ...
- openwrt学习笔记(1)--什么是openwrt,openwrt sdk
前言 环境: 1. VM15+ubuntu 14.04 LTS. 2. 创凌开发板TR7628NADM-4G : MT7268N. 什么是openwrt 专用于嵌入式路由设备的linux发行版. 组成 ...
- OpenWrt SDK应用程序开发
在官方下载了openwrt发行版barrier_breaker后,开始在ubuntu下编译.要进行应用程序开发,注意要勾选SDK; 由于我所用板子是rampis系列的mt7620a,所以在Subtar ...
- MT7621原厂openwrt SDK使能串口2和串口3
MT7621有三个串口,项目需要将三个串口都使能: 首先按照openwrt的方法修改DTS文件来使能串口2和串口3是不行的,经试验,还是要按照MTK传统的方法,修改内核源码来解决:不同SDK版本可能不 ...
- openwrt sdk下交叉编译aria2c
想要在路由器下安装一个下载工具,选择了aria2c,用到的操作系统openwrt. 下面是交叉编译的步骤: (1)在github上下载最新的aria2版本aria2-1.33.0.tar.xz (2) ...
- OpenWrt安装ser2net.ipk软件包
前言: 本文讲解在OpenWrt上安装ser2net.ipk软件包,实现双向通信. 实验平台如下: 路由器型号:TP-LINK TL-WR703N v1 OpenWrt版本:Chaos Calmer ...
- Kinect Azure DK入门学习(三)——设置人体跟踪SDK + 生成第一个人体跟踪应用程序
参考官网教程:https://docs.microsoft.com/zh-cn/azure/kinect-dk/body-sdk-setup https://docs.microsoft.com/zh ...
最新文章
- hibernate和spring学习
- Codeforces Round #694 (Div. 2) D. Strange Definition 质因子分解 + 平方数
- 在Ubuntu中搭建.NET开发环境
- python vars() 函数用法及实例
- 机器学习笔记II: 决策树
- mysql xp系统时间_【MySQL】时间函数
- java修改.class重新打包jar
- Apache 配置里面使用 Win32DisableAcceptEx ,Apache 启动不了
- 思岚科技RPlidar A3激光雷达ROS源码详解
- Linux+bridge做透明网桥
- oracle if else嵌套,else能嵌入if吗
- 软件测试常见分辨率测试,兼容测试:常见的显示器分辨率
- Linux GDB的实现原理
- 神秘的罗斯柴尔德家族
- SpringBoot项目中的 ClassPath路径指的是哪个路径
- 无法加载文件 ,因为在此系统上禁止运行脚本
- FLStudio21水果软件中文版本有哪些新增功能?
- 黑客每小时发送3万封性勒索邮件:轻松月入11万!
- git出现fatal: authentication failed for *****解决办法
- PHP字符串长度不一致的处理方法
热门文章
- cass简码大全_南方CASS简码.doc
- oracle软件 乱码,oracle 中文乱码解决办法
- 微信小程序data format error解决办法
- (二十)美萍酒店管理系统:系统维护_系统设置_房间类型_单个添加、多个添加
- newifimini出厂固件_newifi 新路由 mini用哪个Pandora固件
- IP地址的分类和规划
- delphi 剪切板变量_delphi clipbrd剪贴板的读写和清除功能
- (转)用Scintilla让程序支持语法高亮
- 查看电脑的admin的密码
- 台式计算机如何取消屏幕密码,电脑锁屏密码图文步骤教程 电脑怎么设置及取消锁屏密码...