Compiling on OpenWRT

Revision as of 15:07, 19 October 2020 by Root (talk | contribs)

These are some notes, we'll see if it works and warrants a full article...

  • Entware has better resources documentation for compiling on a router: https://github.com/Entware/Entware/wiki/Using-GCC-for-native-compilation
  • A key resource are headers;
    • To keep OpenWRT and Entware stuff separate, create the /opt directory: mkdir /opt
    • Then it is safe to install / download this: wget -qO- http://bin.entware.net/armv7sf-k3.2/include/include.tar.gz | tar xvz -C /opt/include
  • And from this source, it is easy to add the path when compiling: https://gcc.gnu.org/onlinedocs/cpp/Search-Path.html
    • By default, gcc searches these directories first: /usr/include and /usr/lib/gcc/arm-openwrt-linux-muslgnueabi/7.4.0/include
    • Downloading the above Entware Header File, this command can be used to search a different directory, like /opt/include, first: -IWhatEverDirectory
  • Items to install;
    • Make: https://man7.org/linux/man-pages/man1/make.1.html
      • opkg install gcc make
    • Entware recommends installing the following: opkg install busybox ldd make gawk sed (a version of ldd and sed are included within the OpenWRT version of BusyBox)
    • Additional utilities are recommended
      • Install the full version of BASH: opkg install bash
  • Environment variables to add;