【OpenWrt】ipk软件包编写与应用

一、编写测试驱动

驱动代码结构:

 hello_world.c

#include 
int main(char argc, char *argv[])
{
	int i = 1;
	while(1){		
		printf("Hello world!!!%d\n",i);
		
		if (i < 10){
			i++;
		}else{
			i = 1;	
		}
		
		sleep(1);
	}
	return  0;
}

Makefile(src文件夹里的)

all: hello_world
hello_world: hello_world.o
	$(CC) $(LDFLAGS) hello_world.o -o hello_world
hello_world.o: hello_world.c
	$(CC) $(CFLAGS) -c hello_world.c
clean:
	rm *.o hello_world

Makefile

以下 Makefile 参考创建软件包Makefile格式说明。

include $(TOPDIR)/rules.mk

PKG_NAME:=hello_world
PKG_VERSION:=1.0
PKG_BUILD_DIR:= $(BUILD_DIR)/$(PKG_NAME)


include $(INCLUDE_DIR)/package.mk

define Package/hello_world
	SECTION:=base
	CATEGORY:=Utilities
	TITLE:=Hello world -prints a hello world message
endef

define Package/hello_world/description
	If you can't figure out what this program does, you're probably  
	brain-dead and need immediate medical attention.
endef

define Build/Prepare
	mkdir -p $(PKG_BUILD_DIR)
	$(CP) ./src/* $(PKG_BUILD_DIR)/
endef

define Package/hello_world/install
	$(INSTALL_DIR) $(1)/bin
	$(INSTALL_BIN) $(PKG_BUILD_DIR)/hello_world $(1)/bin/
endef

$(eval $(call BuildPackage,hello_world))

 

 二、把 ipk 软件包发送到开发板

用 SCP 命令将hello_world_1.0_ramips_24kec.ipk 上传到开发板上。

scp $(PATH)/$(FileName) root@IP:/tmp 

1、创建执行文件 scpipk.sh :

#!/bin/sh
scp ~/linux/MTK/MT7628/SDK/openwrt-hiwooya/bin/ramips/packages/base/hello_world_1.0_ramips_24kec.ipk [email protected]:/tmp

2、运行执行文件 scpipk.sh :

【OpenWrt】ipk软件包编写与应用_第1张图片

 3、复制成功:【OpenWrt】ipk软件包编写与应用_第2张图片

 

三、测试软件包

1、在开发板上执行

opkg install /tmp/hello_world_1.0_ramips_24kec.ipk

2、执行 helloworld 查看程序的效果。

hello_world

【OpenWrt】ipk软件包编写与应用_第3张图片

你可能感兴趣的:(OpenWrt,ipk,Makefile)