智能小车40:制作openwrt安装包
openwrt的安装包是ipk文件,我在学习过程中走了很多弯路,在此记录下正确做法,高手请绕行。
一、开发ipk文件
1.进入编译openwrt后的sdk目录下,比如我的目录是如下:
/home/zhongzhong/openwrt_study/openwrt/bin/ar71xx/OpenWrt-SDK-ar71xx-generic_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-i686/package
这是因为我的openwrt源码包在/home/zhongzhong/openwrt_study/openwrt,而我编译选择的目标设备是ar71xx
2.在上面的package目录下建立myIpk文件夹,下面目录如下图:
3.上层Makefile代码如下:
因为要注意格式问题我就粘图片了。
4.src下面的Makefile
5.src下面的myIpk.c
6.最后在/home/zhongzhong/openwrt_study/openwrt/bin/ar71xx/OpenWrt-SDK-ar71xx-generic_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-i686目录下执行make V=s 就会在以下目录生成文件myIpk_1.0.6-1_ar71xx.ipk
/home/zhongzhong/openwrt_study/openwrt/bin/ar71xx/OpenWrt-SDK-ar71xx-generic_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-i686/bin/ar71xx/packages/base
二、上传安装ipk文件
1.使用scp命令上传。
因为我在windows上,所以用winscp这个工具上传。
2.进入openwrt,执行opkg install myIpk_1.0.6-1_ar71xx.ipk
这时会报如下错:
据查这个不影响执行程序,先不管了。
3.终于可以执行了,输入myIpk.
效果如下:
root@JoySince:~# myIpk
hello zhongzhong
最后我又尝试把上面依赖uci库与代码的include加上,编译也能成功,这些库的使用后面再学习。
文/程忠 浏览次数:0次 2017-10-23 22:43:41
一、开发ipk文件
1.进入编译openwrt后的sdk目录下,比如我的目录是如下:
/home/zhongzhong/openwrt_study/openwrt/bin/ar71xx/OpenWrt-SDK-ar71xx-generic_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-i686/package
这是因为我的openwrt源码包在/home/zhongzhong/openwrt_study/openwrt,而我编译选择的目标设备是ar71xx
2.在上面的package目录下建立myIpk文件夹,下面目录如下图:
3.上层Makefile代码如下:
因为要注意格式问题我就粘图片了。
4.src下面的Makefile
5.src下面的myIpk.c
#include //#include int main(void) { printf("hello zhongzhong\n"); return 0; }
6.最后在/home/zhongzhong/openwrt_study/openwrt/bin/ar71xx/OpenWrt-SDK-ar71xx-generic_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-i686目录下执行make V=s 就会在以下目录生成文件myIpk_1.0.6-1_ar71xx.ipk
/home/zhongzhong/openwrt_study/openwrt/bin/ar71xx/OpenWrt-SDK-ar71xx-generic_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-i686/bin/ar71xx/packages/base
二、上传安装ipk文件
1.使用scp命令上传。
因为我在windows上,所以用winscp这个工具上传。
2.进入openwrt,执行opkg install myIpk_1.0.6-1_ar71xx.ipk
这时会报如下错:
据查这个不影响执行程序,先不管了。
3.终于可以执行了,输入myIpk.
效果如下:
root@JoySince:~# myIpk
hello zhongzhong
最后我又尝试把上面依赖uci库与代码的include加上,编译也能成功,这些库的使用后面再学习。
相关阅读
评论:
↓ 广告开始-头部带绿为生活 ↓
↑ 广告结束-尾部支持多点击 ↑