How is the Onion package feed generated?
-
I'd like to generate a feed for some custom packages I'm using on the omega2+, like Onion has done for http://repo.onioniot.com/omega2/packages/onion.
How is this custom feed generated?
-
The OpenWrt build system creates the feeds automatically, along with building the firmware image. After a complete build, all feeds can be found in
bin/packages/mipsel_24kc
(within the openwrt build directory).
Just copy these files to a web server and let/etc/opkg/customfeeds.conf
(on your Omega2) point to the feeds you need.Of course, you need the OpenWrt build system for the Omega2 to get started.
To add your own feed, create a directory on your machine (or a git repository elsewhere) and put the packages you need there. You can copy whole package directories from other third party feeds, or of course create your own packages.
To make the feed known to OpenWrt, edit
feeds.conf
(if it does not exist, copyfeeds.conf.default
tofeeds.conf
first), and add a line like:src-git myfeed https://myserver.com/feeds/myfeed.git;master src-link myfeed /path/to/myfeed
(first is in case you have git repository, second is just linking a local feed directory). See openwrt docs for details.
Then, you need to install the packages (meaning: make available for building, says nothing about actually building them, that's what you'll do in menuconfig, see below) using the
./scripts/feeds
utility:./scripts/feeds update myfeed ./scripts/feeds install -p myfeed mypackage
(the
-p myfeed
part is only needed in case other feeds might also contain a package namedmypackage
, to make sure the version from your feed is preferred).After that,
mypackage
will show up as an option inmake menuconfig
.
Now you can set it toM
(build the package, but do not include it into the firmware image, which means that you can install it withopkg
later) or*
(build and include into firmware image).If you want an example for a custom feed for Omega2, you could have a look at my own custom feed.