Examaple

  • 如何开发一个自定义应用
    一定要在编译好的SDK环境进行
    1. 在packet下建立相关的自定义的包

    mkdir src
    touch Makefile
    同时在window在开始操作


    2. 拷贝一个makefile模板,进行修改
    $(eval (callBuildPackage.(call BuildPackage.(callBuildPackage.PKG_NAME))) 当前编译的包需 要再主机内使用
    我们可以从packet包 其他的包的Makefile复制来作为模板,在此基础上进行修改,此处用openwrt-17.01.4-17.01.4\package\kunteng\net\adbyby 的Makefile

  • 系统总Makefile–>package.Makefile—>hello.Makefile
    –>src.Makefile 调用关系

3. 进行源码文件中的源码设计与Makefile设计

  • hello的 Makefile ,要符合系统的Makefile规范
include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk  //PKG_NAME:=hello   //包名
PKG_VERSION:=1 //版本
PKG_RELEASE:=1.0  //发行日期include $(INCLUDE_DIR)/package.mkdefine Package/$(PKG_NAME)SECTION:=utils   //放着通用的东西CATEGORY:=hello  //类别TITLE:=hello test ipk  //题头
//  DEPENDS:=+libstdcpp  //依赖什么包
//  URL:=http://www.adbyby.com/  //下载地址
endefdefine Package/$(PKG_NAME)/description  //描述hello,my world!endefdefine Build/Prepare //准备些什么东西,在准备的时候要干什么事mkdir -p $(PKD_BUILD_DIR) //创建一个文件夹,在build_dir目录下$(CP) ./src/* $(PKD_BUILD_DIR)
endefdefine Build/Configure //配置
endefdefine Build/Compile  //编译过程 ,编译选项,类似gcc$(MAKE) -C $(PKG_BUILD_DIR) \   // make该目录的包$(TARGET_CONFIGURE_OPTS) \   //全局的编译属性CFLAGS="$(TARGET_CFLAGS)" \CPPFLAGS="$(TARGET_CPPFLAGS)"\LDFLAGS="$(TARGET_LDFLAGS)"
endefdefine Package/$(PKG_NAME)/install  //如何安装$(INSTALL_DIR) $(1)/bin       //安装目录放在哪$(INSTALL_BIN) $(PKG_BUILD_DIR)/hello $(1)/bin/  //安装的bin文件放在哪
endef                                   //放在hello下 还有放在/bin下$(eval $(call BuildPackage,$(PKG_NAME)))
//表明当前这个编译工具是要在主机上使用
  • 在hello目录的Makefile要引起src的 Makefile 进行编译,所以在src 下要创建一个Makefile,此Makefile是编译src里的文件

    • 完成,并把它们拖进linux

      4. 进行 make menuconfig 的配置
      因为config.build的关系,它会自动被加载进menuconfig的菜单栏

  • 选择对应的应用模块程序,选择 为M 进行模块类型编译

  • ‘’M‘’ 代表编译成一个单独的 ipk文件

  • ‘’*‘ 代表编译内核里重新编译个镜像

  • 保存退出

    5. make package/hello/copmile V=s 模块指定编译

    6. 编译完成后在 /bin/packages/i386_pentuum4/base 下找到对应的ipk包

    • 以上操作在linux中完成

    • 把所编译的 hello.ipk 包拿出来

    • 下面操作在lede中完成
      7. python -m SimpleHTTPServer 8080 wget 方式进行ipk包传递/导入

        * scp 方式进行包的传递*
      
scp book@192.168.1.106:/home/book/openwrt-gcc/c----openwrt-17.01.4.-17.01.4/bin/packages/1386_pentium4/base/hello_1-1.0_i386_pentium4.ipk    /tmp/

wget 的方式

8. opkg install hello_1-1.0_i386_pentium4.ipk

  • 成功

二、openwrt自定义编译包的过程相关推荐

  1. 【自制yum仓库一】自定义RPM包

    当我们需要自己制作yum仓库的时候,第一步应该是准备rpm包.一般rpm包的来源有两种办法:1.通过别人的镜像拉取rpm包 :2.自己通过源码包来制作rpm包:下面来讲怎么通过源码包自定义RPM包. ...

  2. GDAL源码剖析(二)之编译说明

    一.简单的编译 1.使用VisualStudio IDE编译 首先进入GDAL的源代码目录,可以看到有几个sln为后缀的文件名,比如makegdal10.sln,makegdal80.sln,make ...

  3. golang 导入自定义包_二、Go基本命令及定制自定义第三方包

    一.二进制Package 1.以package main 作为文件的第一行 2.有且只有一个main函数,如echo.go所表示 3.go的源码要放在GOPATH的src下 echo.go的内容 pa ...

  4. 【理解 Cilium 系列文章】(二) 理解网络数据包的流转过程

    Cilium 作为近两年最火的云原生网络方案,可谓是风头无两.作为第一个通过 ebpf 实现了 kube-proxy 所有功能的网络插件,它的神秘面纱究竟是怎样的呢?本系列文章将带大家一起来慢慢揭晓 ...

  5. java打包后发布找不到jsp,tomcat编译jsp找不到自定义的包解决方案

    当前位置:我的异常网» Java Web开发 » tomcat编译jsp找不到自定义的包解决方案 tomcat编译jsp找不到自定义的包解决方案 www.myexceptions.net  网友分享于 ...

  6. 小白的proxmox ve(pve)打造AIO(all in boom)折腾日记 (五)openwrt虚拟机建立(包括openwrt系统编译)

    打造一台pve主机,软路由功能可以说是必不可少的,我这里选择使用openwrt系统. 一.准备系统镜像 网上的openwrt系统可以说是五花八门,可以选择直接下载官方的固件,也可以去恩山无线论坛中找到 ...

  7. 初探 Go 的编译命令执行过程

    引言 Go 语言这两年在语言排行榜上的上升势头非常猛,Go 语言虽然是静态编译型语言,但是它却拥有脚本化的语法,支持多种编程范式(函数式和面向对象).Go 语言最最吸引人的地方可能是其原生支持并发编程 ...

  8. linux下下载openwrt源码,OpenWrt下载编译

    不想啰嗦直接肝,依次执行: git clone git://github.com/openwrt/openwrt.git cd openwrt ./scripts/feeds update -a ./ ...

  9. OpenWrt 固件编译教程

    一.编译环境准备 编译平台 阿里云 Ubuntu 20.04.5 LTS 安装编译环境依赖 sudo apt-get -y install build-essential asciidoc binut ...

最新文章

  1. 为什么我不建议你用阿里巴巴Java规范,而使用 Google Guava 编程?
  2. php上传文件后定时删除,PHP根据条件定时删除文件代码
  3. 「机器学习速成」过拟合的风险和泛化
  4. Python拼接字符串的7种方法总结
  5. iOS: 在代码中使用Autolayout (2) – intrinsicContentSize和Con
  6. “温室里的花朵”也要直面困难
  7. 前端小知识点(4):JS 运行机制和存储
  8. CCNA-第八篇-OSPF-上
  9. oracle基本的查询语句,Oracle基本查询语句
  10. oracle 表(下)
  11. 闭包、作用域链、函数
  12. VSFlexGrid控件
  13. 基于Java毕业设计新能源汽车租赁管理系统源码+系统+mysql+lw文档+部署软件
  14. 英文科技论文写作与学术报告Lecture 4习题答案
  15. modbus调试团结_团结:打破垃圾收集规则
  16. Strtok的使用方法
  17. 七夕送什么礼物最实用?送人绝对不会出错的礼物值得买
  18. linux终端ppt,[转]TPP:linux终端下的ppt
  19. java后端开发(九):mybatis的威力加强版之mybatis-plus
  20. VS Code的背景图老是黑白灰等?放一张喜欢的图片当做背景图敲代码不更舒服么

热门文章

  1. 联想y430p win8.1 解决qq语音 qq视频卡死 yy卡死 等录音软件卡死问题
  2. QTalk的源码公开!!
  3. html5新增 媒体,HTML5中支持新的媒体元素有这些
  4. 如何iis上运行php网站_iis怎么部署php网站
  5. 初识Framework7,搭建app手机端项目
  6. MATLAB中的squeeze函数
  7. python爬虫教程(1)-爬虫的好处
  8. windows10桌面图标不见了
  9. 数据存储之——Android文件存储系统及文件系统(Android Q)
  10. 简单计数(构造矩阵 矩阵快速幂优化dp)