уторак, 20. август 2024.

Kako dodati aplikaciju u OpenWrt-u


Recimo da se naša aplikacija zove rcserver hijerahija fajlova bi trebala da izgleda ovako
openwrt/
  package/
    rcserver/
      Makefile
      src/
        tcp_server.c
      files/
        tcp_server_init_script
        tcp_server.config

Make file bi trebalo da izgleda ovako


include $(TOPDIR)/rules.mk

PKG_NAME:=rcserver
PKG_VERSION:=0.1
PKG_RELEASE:=1

include $(INCLUDE_DIR)/package.mk

define Package/rcserver
  SECTION:=utils
  CATEGORY:=Utilities
  TITLE:=RC Server
  DEPENDS:=+libpthread
endef

define Package/rcserver/description
  A simple TCP RC server program.
endef

define Build/Prepare
    $(INSTALL_DIR) $(PKG_BUILD_DIR)
    $(CP) ./src/* $(PKG_BUILD_DIR)/
endef

define Build/Compile
    $(TARGET_CC) $(TARGET_CFLAGS) -o $(PKG_BUILD_DIR)/rc_server $(PKG_BUILD_DIR)/rc_server.c
endef

define Package/rcserver/install
    $(INSTALL_DIR) $(1)/usr/bin
    $(INSTALL_BIN) $(PKG_BUILD_DIR)/rc_server $(1)/usr/bin/

    $(INSTALL_DIR) $(1)/etc/init.d
    $(INSTALL_BIN) ./files/rc_server_init_script $(1)/etc/init.d/rc_server

    $(INSTALL_DIR) $(1)/etc/config
    $(INSTALL_CONF) ./files/rc_server.config $(1)/etc/config/rc_server
endef

$(eval $(call BuildPackage,rcserver))

Fajl rc_server.config bi trebalo da izgleda ovako

config tcp_server
    option enabled '1'
    option port '5555'
rc_server_init_script fajl bi trebalo da izgleda ovako

#!/bin/sh /etc/rc.common

START=99
STOP=10

start() {
    echo "Starting TCP server"
    /usr/bin/tcp_server &
}

stop() {
    echo "Stopping TCP server"
    killall tcp_server
}
I naravno vaš kod bi trebalo da stavite u fajl tcp_server.c.
Zatim idemo
make menuconfig 
i u Utilities označimo sa <*> ime našeg programa i nakon toga
make -j5
gdje je broj 5 broj jezgara vašeg procesora +1

Нема коментара:

Постави коментар