aboutsummaryrefslogtreecommitdiffstats
path: root/usermanual/reference/class_image.xml
diff options
context:
space:
mode:
Diffstat (limited to 'usermanual/reference/class_image.xml')
-rw-r--r--usermanual/reference/class_image.xml95
1 files changed, 81 insertions, 14 deletions
diff --git a/usermanual/reference/class_image.xml b/usermanual/reference/class_image.xml
index 7d203f888c..b591e9aae2 100644
--- a/usermanual/reference/class_image.xml
+++ b/usermanual/reference/class_image.xml
@@ -56,8 +56,8 @@
</listitem>
<listitem>
- <para>Configures the ipkg feed information in the root filesystem for
- the <command>FEED_URIS</command>;</para>
+ <para>Configures the ipkg feed information in the root filesystem
+ (using <command>FEED_URIS</command> and <command>FEED_DEPLOYDIR_BASE_URI</command>);</para>
</listitem>
<listitem>
@@ -190,6 +190,20 @@
<para>Default: <command>""</command></para>
</listitem>
</varlistentry>
+
+ <varlistentry>
+ <term>FEED_DEPLOYDIR_BASE_URI</term>
+
+ <listitem>
+ <para>If set, configures local testing feeds using OE package deploy dir
+ contents. The value is URL, corresponding to the ipk deploy dir.</para>
+
+ <para>Example: <command>FEED_DEPLOYDIR_BASE_URI =
+ "http://192.168.2.200/bogofeed/"</command></para>
+
+ <para>Default: <command>""</command></para>
+ </listitem>
+ </varlistentry>
</variablelist>
<section>
@@ -274,18 +288,71 @@ IMAGE_DEVICE_TABLES = "files/device_table-minimal.txt files/device_table_add-sci
</section>
<section>
- <title>Package feeds (feed_uris)</title>
-
- <para>Package feeds are used by the ipkg command to determine where to
- retrieve updates and new packages from.</para>
-
- <para>Multiple feeds are supported. Each feed provides a feed name and the
- URL which will contain the packages. The following example shows the
- addition of two feeds, one called <emphasis>base</emphasis> and one called
- <emphasis>updates</emphasis>:</para>
-
- <para><screen>FEED_URIS += " \
+ <title>Package feeds</title>
+
+ <para>"Package feed", or feed for short, is a term used by <command>ipkg</command>
+ package manager, commonly used in embedded systems, to name a package repository
+ holding packages. Structurally, a feed is a directory - local, or on HTTP of FTP server, -
+ holding packages and package descriptor file, named <command>Packages</command> or
+ <command>Packages.gz</command> if compressed. Multiple feeds are supported.</para>
+
+ <para>OpenEmbedded has support to pre-configure feeds within generated images,
+ so once image is installed on a device, user can immediately install new software,
+ without the need to manually edit config files. There are several ways to pre-configure
+ feed support, described below.</para>
+
+ <section>
+ <title>Method 1: Using existing feed</title>
+ <para>If you already have the feed(s) set up and available via specific URL, they
+ can be added to the image using FEED_URIS variable:
+<screen>FEED_URIS = " \
base##http://oe.example.com/releases/${DISTRO_VERSION}/feed/base \
- updates##http://oe.example.com/releases/${DISTRO_VERSION}/feed/updates"</screen></para>
+ updates##http://oe.example.com/releases/${DISTRO_VERSION}/feed/updates"</screen>
+
+ FEED_URIS contains list of feed descriptors, separated by spaces, per
+ OE conventions. Each descriptor consists of feed name and feed URL,
+ joined with "##". Feed name is an identifier used by ipkg to distinguish
+ among the feeds. It can be arbitrary, just useful to the users to understood
+ which feed is used for one or another action.</para>
+ </section>
+
+ <section>
+ <title>Method 2: Using OE deploy directory as a feed (development only)</title>
+ <para>OE internally maintains a feed-like collection of directories to create
+ images from packages. This package deployment directory however has structure internal to OE
+ and subject to change without notice. Thus, using it as feed directly is not recommended
+ (distributions which ignored this recommendation are known to have their feeds broken when
+ OE upgraded its internal mechanisms).</para>
+ <para>However, using deploy directory as feed directly may be beneficial during
+ development and testing, as it allows developers to easily install newly built packages
+ without many manual actions. To facilitate this, OE offers a way to prepare feed configs
+ for using deploy dir as such. To start with this, you first need to configure local
+ HTTP server to export a package deployment directory via HTTP.
+ Suppose you will export it via URL "http://192.168.2.200/bogofeed" (where 192.168.2.200 is the address
+ which will be reachable from the device). Add the following to your local.conf:
+<screen>
+FEED_DEPLOYDIR_BASE_URI = "http://192.168.2.200/bogofeed"
+</screen>
+ Now you need to setup local HTTP server to actually export that directory. For Apache it can be:
+<screen>
+<![CDATA[
+Alias /bogofeed ${DEPLOY_DIR}
+
+<Directory ${DEPLOY_DIR}>
+ Options Indexes FollowSymLinks
+ Order deny,allow
+ Allow from 192.168.2.0/24
+</Directory>
+]]>
+</screen>
+ Replace ${DEPLOY_DIR} with the full path of deploy directory (last components of its path will be
+ <command>deploy/ipk</command>).</para>
+ <para>Now, every image built will automatically contain feed configs
+ for the deploy directory (as of time of writing, deploy directory is internally structured with
+ per-arch subdirectories; so, there several feed configs are being generated, one for each subdirectory).
+ </para>
+
+ </section>
+
</section>
</section> \ No newline at end of file