1 什么是opkg

  Opkg 是一个轻量快速的套件管理系统,目前已成为 Opensource 界嵌入式系统标准。常用于路由、交换机等嵌入式设备中,用来管理软件包的安装升级与下载。

  opkg update 更新可以获取的软件包列表
  opkg upgrade 对已经安装的软件包升级
  opkg list 获取软件列表
  opkg install 安装指定的软件包
  opkg remove 卸载已经安装的指定的软件包

2 什么是ipk

  openwrt下的程序安装包,用户可以很方便地安装程序。

3 ipk与内核模块

  什么是内核模块呢?这对于初学者无非是个非常难以理解的概念。内核模块是Linux内核向外部提供的一个插口, 其全称为动态可加载内核模块(Loadable Kernel Module,LKM),我们简称为模块。Linux内核之所以提供模块机制,是因为它本身是一个单内核(monolithic kernel)。单内核的最大优点是效率高,因为所有的内容都集成在一起,但其缺点是可扩展性和可维护性相对较差,模块机制就是为了弥补这一缺陷。
  模块是具有独立功能的程序,它可以被单独编译,但不能独立运行。它在运行时被链接到内核作为内核的一部分在内核空间运行,这与运行在用户空间的进程是不同的。模块通常由一组函数和数据结构组成,用来实现一种文件系统、一个驱动程序或其他内核上层的功能。
  总之,模块是一个为内核(从某种意义上来说,内核也是一个模块)或其他内核模块提供使用功能的代码块。

  

  按上面的说法,虽然openwrt编译出的内核模块也是一个ipk包,但它是无法独立地运行的,它们的名字会以kmod-为开头而取。

4 编译最简单的ipk包

  我这里使用的openwrt源码为12.09(attitude adjustment)

  1. 在OPENWRT下执行make menuconfig,然后选择Utilities -> gpioctl为<M>,保存退出就可以了
  2. 在OPENWRT下执行make package/gpioctl/compile编译就会得到该ipk了

 

想要清理的话使用以下命令:

make package/gpioctl/clean

5 验证运行

  将这个gpioctl_1.0-1_ar71xx.ipk包文件使用ftp上传到路由器上去。

ftp> put gpioctl_1.-1_ar71xx.ipk gpioctl.ipk
local: gpioctl_1.-1_ar71xx.ipk remote: gpioctl.ipk
PORT command successful. Consider using PASV.
Ok to send data.
Transfer complete.
bytes sent in 0.00 secs (4745.5 kB/s)
ftp> ls
PORT command successful. Consider using PASV.
Here comes the directory listing.
-rw-r--r-- Apr : gpioctl.ipk
-rw-r--r-- Apr : minicom.log
Directory send OK.
ftp>

  运行结果:

   运行时若不带任何参数的话会有这样的提示信息:

gpioctl dirin|dirout|get|set|clear gpio

  说明该ipk包已经正常安装运行了。

更进一步的内容稳步至此: http://wiki.openwrt.org/doc/devel/packages

在openwrt上编译最简单的一个ipk包文件的更多相关文章

  1. 在openwrt上编译一个最简单的ipk包

    1 什么是opkg Opkg 是一个轻量快速的套件管理系统,目前已成为 Opensource 界嵌入式系统标准.常用于路由.交换机等嵌入式设备中,用来管理软件包的安装升级与下载. opkg updat ...

  2. 如何在苹果电脑上创建一个html格式文件,并在浏览器正确打开

    之前一直使用windows系统的电脑,创建文件很简单,改格式也非常的简单.但换了苹果电脑,如何创建一个HTML文件?却把我给整蒙了. 首先,为什么mac上不能直接新建文本文件? 因为mac一都是以应用 ...

  3. OpenWRT平台搭建及简单应用[转帖]+华为HG255D编译实践(20190323更新)

    转自:http://www.cnblogs.com/zmkeil/archive/2013/04/17/3027385.html对于HG255D参照这里:http://www.right.com.cn ...

  4. 利用Bootstrap简单实现一个文件上传进度条

    © 版权声明:本文为博主原创文章,转载请注明出处 说明: 1. 使用commons-fileupload.jar实现文件上传及进度监听 2. 使用bootstrap的进度条进行页面显示 3. 因为进度 ...

  5. openwrt(二) 配置openwrt及编译

    导航 1. 配置openwrt 2. 编译openwrt 3. 错误记录 1. 配置openwrt 在openwrt的根目录下,执行make menuconfig. 这个界面我也只是了解了这两个选项而 ...

  6. 在Mac mini上编译Android源码

    参考文章 1.Android 6.0 源代码编译实践 2.编译Android源码致命错误解决方案 实践过程 1.Mac下安装Ubuntu双系统 (1)Ubuntu版本:Ubuntu 15.10 注:实 ...

  7. 在CentOS上编译安装PostgreSQL

    http://my.oschina.net/tashi/blog 第一步:准备阶段 获取必需软件包: CentOS中查看是否安装了某个软件的命令:rpm -qa | grep 软件名.which命令可 ...

  8. 在OpenWrt上编写自己的硬件操作程序

    上一篇文章中有写到如何使用OPENWRT的SDK,这里继续,写怎么在上面开发自己的应用程序. 我欲在OpenWrt上编写一个软件,它能够去读取某个AD芯片的多通道采样值. 在看这篇文章之前请看这官方的 ...

  9. Win10上编译CoreCLR的Windows和Linux版本

    一.编译环境 首先,不管是Windows还是Linux版本CoreCLR的编译,都是在Windows10上进行的. 二.CoreCLR for Windows 在Windows上做编译怎么能少得了Vi ...

随机推荐

  1. Docker简明教程(转)

    Docker自从诞生以来就一直备受追捧,学习Docker是一件很炫酷.很有意思的事情.我希望通过这篇文章能够让大家快速地入门Docker,并有一些学习成果来激发自己的学习兴趣.我也只是一个在Docke ...

  2. CCFadeOut ,CCFadeIn 不能使用的原因

    CCFadeOut *action = CCFadeOut::create(0.5f);  image->runAction(action); 截取部分代码.以上是我写游戏时候遇到的问题代码, ...

  3. Cordic 算法之 反正切

    在通信的算法中,常采用Cordic算法之一,知道角度产生正交的的正弦余弦, 或者知道正弦和余弦求角度,求反正切. 1. 求正弦和余弦值. 方法:旋转角度,得到正弦余弦值: 再旋转角度,到达下一个正弦余 ...

  4. Oracle 数据恢复指导具体解释

    1.数据恢复指导 : 高速检測.分析和修复故障 最大程度地降低停机故障和执行时故障 将对用户的干扰降到最低 用户界面:    --EM GUI 界面 (多个路径)    --RMAN 命令行 支持的数 ...

  5. eclipse 对齐行号在括号中显示和字体调整

    笔者 : 本笃庆军 一.括号对齐:指和C/C++里面一样.上下括号对齐~~~ 第一步:Project->preferences->Java->Code Style->Forma ...

  6. 蜗牛—苍茫IT文章大学的路(十)

    昨晚,有个叫***培训机构鼓吹我们学校.起初我还以为是介绍这个游戏吧.谁知道.它原来是一个培训结构.去年我买的表啊 我知道这会不会去,我也浪费了时间审查.因为今天下午和晚上来测试啊.我没有审查,. 当 ...

  7. JSCover+WebDriver/Selenium获得JS 代码覆盖

    我们看JSCover(http://tntim96.github.io/JSCover/manual/manual.xml)介绍及使用说明的时候,往往被图形界面所吸引.这样的方式比較适合手工操作,点击 ...

  8. CSS3实现Tooltip提示框飞入飞出动画

    原文:CSS3实现Tooltip提示框飞入飞出动画 我们见过很多利用背景图片制作的Tooltip提示框,但是缺点是扩展比较麻烦,要经常改动图片.还有就是利用多层CSS的叠加实现,但是效果比较生硬,外观 ...

  9. .NET开发者必备的11款免费工具

    原文:.NET开发者必备的11款免费工具 如今,HTML5,jQuery,JavaScript等等这些热门技术,受到了开发者们的强烈追捧,有了这些开发工具也为开发者们减轻了许多负担.本文为开发者介绍了 ...

  10. 使用iframe从网页调起移动端应用

    比如想在网页中调起支付宝,我们可以创建一个iframe,src为: alipayqr://platformapi/startapp?saId=10000007&clientVersion=3. ...