【调试笔记-20240603-Linux-在 OpenWrt-23.05 上运行 ipkg-build 生成. ipk 安装包】

调试笔记-系列文章目录

调试笔记-20240603-Linux-在 OpenWrt-23.05 上运行 ipkg-build 生成. ipk 安装包


文章目录

  • 调试笔记-系列文章目录
    • 调试笔记-20240603-Linux-在 OpenWrt-23.05 上运行 ipkg-build 生成. ipk 安装包
  • 前言
  • 一、调试环境
    • 操作系统:Windows 10 专业版
    • 调试环境
    • 调试目标
  • 二、调试步骤
    • 获取 ipkg-build 脚本
    • 准备安装包目录
    • 调试脚本
  • 三、应用场景
    • 在 OpenWrt 运行环境中打包配置安装包
  • 四、参考资料
  • 总结


前言

本文记录在 OpenWrt-23.05 发行版本上使用 ipkg-build 脚本生成 .ipk 安装包的步骤。

实验使用的电脑如下:

CPU:

Intel Core i5 8265U

操作系统:

Microsoft Windows 10  Professional (x64), Version 22H2, Build 19045.4412

一、调试环境


操作系统:Windows 10 专业版

操作系统详细信息如下:

Microsoft Windows 10  Professional (x64), Version 22H2, Build 19045.4412

调试环境

  • Windows 系统已安装 QEMU 并成功运行 OpenWrt 发行版

参考【安装笔记-20240520-Windows-在 QEMU 中尝试运行 OpenWRT】


调试目标

在 OpenWrt-23.05 发行版上不安装 SDK ,通过脚本生成 .ipk 安装包。


二、调试步骤

获取 ipkg-build 脚本

1、下载 OpenWrt-23.05 的 SDK

2、解压后在 scripts/ 目录中有 ipkg-build 脚本

3、复制 ipkg-build 脚本到 OpenWrt-23.05 的运行环境中

准备安装包目录

1、在 /tmp 目录中创建测试用的安装包目录 /tmp/foo ,执行以下命令

mkdir -p /tmp/foo/bin
cp foo /tmp/foo/bin
mkdir -p /tmp/foo/CONTROL
cat >/tmp/foo/CONTROL/control <<EOF
Package: foo
Version: 0.1
Architecture: mipsel
Maintainer: foo bar <foo@bar.com>
Section: base
Priority: optional
Description: This package provides foo, which does nothing.
Source: http://foo.bar/foo
EOF

2、尝试创建目标 .ipk 安装包

./ipkg-build -o root -g root /tmp/foo /tmp

显示出错

在这里插入图片描述

调试脚本

1、去掉 -o 和 -g 参数后继续执行

./ipkg-build /tmp/foo /tmp

显示出错信息:

./ipkg-build: line 128: realpath: not found

2、查找并安装 realpath 命令的安装包

opkg update
opkg install coreutils-realpath

3、继续执行命令

./ipkg-build /tmp/foo /tmp

显示出错信息:

/bin/tar: unrecognized option: format=gnu

4、查找并安装全功能版本的 tar 命令的安装包

opkg update
opkg install tar

5、继续执行命令

./ipkg-build /tmp/foo /tmp

显示出错信息:

./ipkg-build: line 184: stat: not found

6、查找并安装全功能版本的 stat 命令的安装包

opkg update
opkg install coreutils-stat

7、继续执行命令

./ipkg-build /tmp/foo /tmp

显示成功

在这里插入图片描述


三、应用场景

在 OpenWrt 运行环境中打包配置安装包


四、参考资料

1、[Howto] build your own iPKG packages


总结

本文记录在 OpenWrt-23.05 发行版本上使用 ipkg-build 脚本生成 .ipk 安装包的步骤,并给出了所遇到问题的解决方法。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/21756.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android11 AudioTrack和Track建立联系

应用程序创建AudioTrack时&#xff0c;导致AudioFlinger在播放线程中&#xff0c;创建Track和其对应。那它们之间是通过什么来建立联系传递数据的&#xff1f;答案是共享内存。 创建Track时&#xff0c;导致其父类TrackBase的构造函数被调用 //frameworks/av/services/audiofl…

数字化时代还需要传统智慧图书馆吗

尽管以电子阅览室代表的数字化时代带来了许多便利和创新&#xff0c;但传统智慧图书馆依然具有重要的价值和意义。以下是一些原因&#xff1a; 1. 保存历史文化&#xff1a;传统智慧图书馆是保存历史文化遗产的重要载体&#xff0c;收藏了许多珍贵的古籍、手稿和纸质图书&#…

Prop 和 State 有什么区别?

Prop (属性) 和 State (状态) 是 React 中两个非常重要的概念,它们之间有以下几个主要区别: 来源:Prop 是父组件传递给子组件的数据。State 是组件内部维护的数据。可变性:Prop 是不可变的(immutable)。一旦父组件传递给子组件,子组件就无法直接修改 prop。State 是可变的(mut…

基于 Amazon EC2 快速部署 Stable Diffusion WebUI + chilloutmax 模型

自2023年以来&#xff0c;AI绘图已经从兴趣娱乐逐渐步入实际应用&#xff0c;在众多的模型中&#xff0c;作为闪耀的一颗明星&#xff0c;Stable diffusion已经成为当前最多人使用且效果最好的开源AI绘图软件之一。Stable Diffusion Web UI 是由AUTOMATIC1111 开发的基于 Stabl…

力扣2090.半径为k的子数组平均值

力扣2090.半径为k的子数组平均值 accumulate函数&#xff1a;求一段和(起始迭代器&#xff0c;终止迭代器&#xff0c;初始值) class Solution {public:vector<int> getAverages(vector<int>& nums, int k) {int n nums.size();vector<int> res(n,-1…

Java密码复杂度实现

在Java中实现密码复杂度验证&#xff0c;通常需要考虑以下几个因素&#xff1a; 密码长度&#xff1b; 包含大写字母&#xff1b; 包含小写字母&#xff1b; 包含数字&#xff1b; 包含特殊字符&#xff08;可选&#xff09;。 以下是一个简单的Java类&#xff0c;用于验…

江苏服务器租用的优势有哪些?

随着互联网科技的快速发展&#xff0c;网络行业也逐渐开始兴起&#xff0c;而网络服务则离不开服务器的使用&#xff0c;那么江苏服务器租用对于其它地区来说都哪些优势呢&#xff1f; 江苏省是经济发展比较迅速的地区&#xff0c;所以江苏的企业对于网络方面的发展也是十分快速…

vue-cl-service不同环境运行/build配置

概述 在项目开发过程中&#xff0c;同一个项目在开发、测试、灰度、生产可能需要不同的配置信息&#xff0c;所以如果能根据环境的不同来设置参数很重要。 vue项目的vue-cl-service插件也支持不同环境的不同参数配置和打包。 实现 新建不同环境配置文件 vue项目中的配置文件以…

面向对象程序设计之从C到C++的初步了解

1. C语言 1. C的发展 C是从C语言发展演变而来的&#xff0c;首先是一个更好的C引入了类的机制&#xff0c;最初的C被称为“带类的C”1983年正式取名为C 从1989年开始C语言的标准化工作 于1994年制定了ANSIC标准草案 于1998年11月被国际标准化组织(ISO)批准为国际标准&#xf…

QT的窗口坐标和全局坐标

1、定义解释 窗口坐标&#xff1a;创建的窗口的坐标&#xff0c;以窗口左上角点为原点&#xff0c;横向往右为x轴正向&#xff0c;竖向往下为y轴正向。 全局坐标系&#xff1a;电脑屏幕的坐标系&#xff0c;以电脑屏幕左上角点为原点&#xff0c;横向往右为x轴正向&#xff0…

Ubuntu系统安装

目录 安装准备 安装步骤 虚拟机配置 系统安装 安装准备 Ubuntu系统镜像&#xff0c;虚拟机环境 虚拟机环境 使用的虚拟机软件为VMware Workstation 系统镜像 阿里镜像站&#xff1a;阿里巴巴开源镜像站-OPSX镜像站-阿里云开发者社区 (aliyun.com)https://developer.aliyun.com…

记一次使用mysql存储过程时,游标取值为空问题

call modify_collation(num,count_num) > 1146 - Table test.table_name doesnt exist > 时间: 0.009s 我在使用mysql存储过程时&#xff0c;打印时游标取值为空&#xff0c;报错找不到表。我的过程语句是这样的&#xff1a; drop procedure if exists modify_collation…

【电源专题】一体成型电感为什么需要注意耐压问题

对于电感,我们在电路上使用的很多,如升压、降压、滤波等电路中基本上使用到了电感。电感的种类有很多,电感从不同的角度会有不同的分类。如可以根据否屏蔽、工艺类型、磁性材料类型等可分为多类,这在文章:【分立元件】电感器(inductor)——简介中有做了一些简单的介绍。…

【Qt】之【项目】整理可参考学习的git项目链接(持续更新)

Tcp 通信相关 IM即时通讯设计 高并发聊天服务&#xff1a;服务器 qt客户端&#xff08;附源码&#xff09; - DeRoy - 博客园 未使用protobuf通讯协议格式 github&#xff1a;GitHub - ADeRoy/chat_room: IM即时通讯设计 高并发聊天服务&#xff1a;服务器 qt客户端 QT编…

Redis中大Key与热Key的解决方案

原文地址&#xff1a;https://mp.weixin.qq.com/s/13p2VCmqC4oc85h37YoBcg 在工作中Redis已经成为必备的一款高性能的缓存数据库&#xff0c;但是在实际的使用过程中&#xff0c;我们常常会遇到两个常见的问题&#xff0c;也就是文章标题所说的大 key与热 key。 一、定义 1.1…

python使用反射创建对象问题

在python中没有发现类似j ava可以使用全限定类名创建对象的方法。 例如&#xff1a;java可以使用Class.forName(全限定类名)这样就可以简单的创建一个对象了。 python中也可以使用反射方式创建对象&#xff0c;稍微比较复杂。 第一步&#xff1a;导入py文件模块 # test_valida…

THS6011启动控制台后无法使用https访问控制台(by yz+lqw)

原因&#xff1a; 6011相对于6010版本&#xff0c;多了一个ssl的开关&#xff0c;下图是6010版本的参考配置&#xff1a; 而6011版本下的conf目录下的http.yaml&#xff0c;里面的ssl开关&#xff0c;默认是关闭的&#xff0c;也就是enable:false. 所以需要把enable&#xf…

构建LangChain应用程序的示例代码:9、使用Anthropic API生成结构化输出的工具教程

使用Anthropic API生成结构化输出的工具 Anthropic API最近增加了工具使用功能。 这对于生成结构化输出非常有用。 ! pip install -U langchain-anthropic可选配置&#xff1a; import osos.environ[LANGCHAIN_TRACING_V2] true # 启用追踪 os.environ[LANGCHAIN_API_KEY…

echarts-series的x,y轴的规则

series的data与x,y轴的匹配规则 如果series的data为[1,2,3,4,5,6] 1.如果x,y轴都是类目轴&#xff0c;且data没有与x,y轴的值匹配上&#xff0c;则无效。 2.如果x,y轴都为类目,data中能够跟类目轴上的字符串对应上&#xff0c;轴&#xff0c;有效。 3.如果都为value.,则按数值…

实验四:基于System-Verilog的FPGA设计与仿真

实验四&#xff1a;基于System-Verilog的FPGA设计与仿真 实验目的&#xff1a; 学习和掌握System Verilog基本语法&#xff0c;在DE2-115开发板上重新设计之前做过的Verilog练习&#xff0c;如流水灯、全加器或者VGA显示、超声波测距 等&#xff0c;并完成 testbench 仿真。 …