Commit Graph

385 Commits

Author SHA1 Message Date
Alexandre Belloni
4dce5c44ab wic: remove useless calls to __write_fstab
__write_fstab() is already iterating over parts. There is now need to
call it fort each parts.

(From OE-Core rev: 0a6668f6e60b4195ff4163c00fc972bacdb27b4b)

Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-14 08:40:59 +00:00
Alexandre Belloni
cf3e21e71e wic: allow to configure overhead factor per partition
Introduce a new option --overhead-factor to replace
IMAGE_OVERHEAD_FACTOR.

(From OE-Core rev: 20fe0c7202724187dbe80eb2101d8ef69e86b94e)

Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-14 08:40:58 +00:00
Alexandre Belloni
d84742c39f wic: allow to configure extra space per partition
Introduce a new option --extra-space instead of using IMAGE_EXTRA_SPACE.
This is useful for boot partitions where the extra space is often
useless or for huge partition where 10MiB may not be enough.

(From OE-Core rev: 9f7fe71a10bcdd1864d2f838f3510e96810ef42e)

Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-14 08:40:58 +00:00
Alexandre Belloni
605627bc9d wic: add rawcopy source plugin
(From OE-Core rev: 5f237238a1fab87668068d042ac86b67d2c5224b)

Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-14 08:40:58 +00:00
Alexandre Belloni
0b156dac83 wic: allow creation of partitions not in table
For some architectures it is necessary to reserve space on disk without
it being present in the partition table.

For example, u-boot on i.mx is placed at an offset of 1kB on the sdcard.
While it would be possible to create a partition at that offset and
place u-boot there, it would then be necessary to update the default
u-boot environment to use partition 2 on the mmc instead of partition 1.

(From OE-Core rev: 233b631ece5ee14d057932c146327065064b5196)

Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-14 08:40:58 +00:00
Paul Eggleton
a3dfb70b62 recipetool: improve command-line help
Based on feedback from Scott Rifenbark <scott.m.rifenbark@intel.com>

(From OE-Core rev: 2c59b2b20c32577085645056e4cbf4f9c259e4d7)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-08 08:00:27 +00:00
Paul Eggleton
943353707b devtool: improve command-line help
Based on feedback from Scott Rifenbark <scott.m.rifenbark@intel.com>

(From OE-Core rev: ec3378f3a7013e289daa0f5c52329488b861f99c)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-08 08:00:27 +00:00
Alexandre Belloni
eba9f8a16d wic: bootimg-partition: Stop removing whole workdir
Stop removing the whole working directory as this is also removing
eventual previously created partition images, leading to image creation
failures.

(From OE-Core rev: 2d3c9f89852bd009fc7accee495ede2fbcadc3bb)

Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-08 08:00:27 +00:00
Alexandre Belloni
080e3e4f58 wic: print partition alignment when available
When printing a partition, the --align parameter was shown when present
but not its value.

(From OE-Core rev: 26280cf0199abb3266d620c8dee1194504a5a829)

Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-08 08:00:27 +00:00
Alexandre Belloni
602d90d57a wic: use kB for the partitions size
Use kB instead of MB for the partition size to get a better granularity.

This is needed on some SoC (i.mx, omap) where it is necessary to create
partitions as small as 64kB.

Keep the backward compatibility by assuming MB when no unit is provided.

(From OE-Core rev: 3d4da9186016d54b76ad2fa710646de253f0f063)

Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Tested-by: Maciej Borzecki <maciej.borzecki@open-rnd.pl>
Acked-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Tested-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-08 08:00:27 +00:00
Maciej Borzecki
09fba50cf3 wic: bail out on kickstart parse errors
Kickstart file errors are not emitted by the parser. In case errors, the
current code will continue to execute possibly creating a faulty or
incomplete image. The patch enables the parser to emit all encountered
errors. The error message is shown for the user and further execution is
ceased.

(From OE-Core rev: 0aa1221c16e65b3daac4aa9a9cfe1d5e9e6106c0)

Signed-off-by: Maciej Borzecki <maciej.borzecki@open-rnd.pl>
Signed-off-by: Maciek Borzecki <maciek.borzecki@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-08 08:00:26 +00:00
Maciej Borzecki
6b19a93f38 wic: fix extended/logical partition layout
The patch fixes an issue in laying out extended and logical partitions
by wic. The original code produced disk images in which the size 3rd
partition as described in MBR was incorrect. Depending on the type of
file system used for that partition and size of the partition, it would
be impossible to mount the partition correctly. For instance, kickstart
file in which the 3rd partition had size of 1GB and used ext4 fs, would
result in an image with an umountable partition. The root cause is
reservation of sectors for EBR through stealing of last sector from the
last primary partition.

(From OE-Core rev: a8b85f7878726503dbfa2e9ea86bd6fd961bf03b)

Signed-off-by: Maciej Borzecki <maciej.borzecki@open-rnd.pl>
Signed-off-by: Maciek Borzecki <maciek.borzecki@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-08 08:00:24 +00:00
Tom Zanussi
02a1e01c00 yocto-bsp: Add branch to SRC_URI for custom kernels
Without 'branch' in the SRC_URI, a SRCREV specified for a non-master
KBRANCH will result in a fetch failure since the branch tested by the
fetcher will default to master, which doesn't contain the SRCREV.
This fixes the problem by adding branch=KBRANCH to the SRC_URI.

Fixes [Yocto #6518].

(From meta-yocto rev: 29a36d4c1146f38b4d204b5b4b89bd002074d47d)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-07 13:34:00 +00:00
Tom Zanussi
bf6f35b214 yocto-bsp: Add missing conf dir to arm template
The /conf dir for arm was missed when committing the changes for the
'removing strange characters' patchset; this restores it.

(From meta-yocto rev: 0fe51b37c32569bd5a3e24c43dc4d16ab7b6d4e9)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-07 13:33:59 +00:00
Paul Eggleton
3f739a86a9 recipetool: replace version in S value
If a versioned recipe filename is specified, replace the version in the
value of S with ${PV} just as we do with SRC_URI to make future upgrades
of the recipe easier.

(From OE-Core rev: 0b3c81ed5bcce9b608c4f804496d769288fe8c04)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-03 14:53:50 +00:00
Christopher Larson
1b7b58ac97 recipetool: add python dependency scanning support
This uses a standalone python script named `pythondeps` which now lives in
scripts. It supports scanning for provided packages and imported
modules/packages, the latter via the python ast. It's not perfect, and
obviously conditional imports and try/except import blocks are handled
naively, listing all the imports even if they aren't all used at once, but it
gives the user a solid starting point for the recipe.

Currently `python_dir` from setup.py isn't being handled in an ideal way. This
is easily seen when testing the python-async package. There, the root of the
project is the async package, so the root has __init__.py and friends, and the
python provides scanning currently just assumes the basedir of that dir is the
package name in this case, which is not correct. Forthcoming patches will
resolve this.

(From OE-Core rev: cb093aca3b78f130dc7da820a8710342a12d1231)

Signed-off-by: Christopher Larson <kergoth@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-23 11:36:28 +00:00
Christopher Larson
e490d79fb7 recipetool: add python buildsystem support
- Handles distutils & setuptools.
- Supports pulling metadata from PKG-INFO, .egg-info, & setup.py (via two
  different mechanisms).
- Doesn't handle python 3 yet.

(From OE-Core rev: 6ff693c71d97b4bcfde198c84cf9fac7185cccfd)

Signed-off-by: Christopher Larson <kergoth@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-23 11:36:28 +00:00
Maciej Borzecki
052c67c845 wic: account for mmcblk device partition naming
MMC block device partitions are named differently than other block
devices and use the scheme: mmcblk<devnum>p<partnum>, ex: mmcblk0p1,
mmcblk0p2. The current code generates incorrect parition names missing
'p' infix for fstab entries. The patch resolves this problem.

(From OE-Core rev: e2664f563921467fe38bb74f4dd2a41eb004ee9f)

Signed-off-by: Maciej Borzecki <maciej.borzecki@open-rnd.pl>
Signed-off-by: Maciek Borzecki <maciek.borzecki@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-25 08:18:13 +00:00
Junchun Guan
0d686ccc7c scripts/devtool: Support deploy/undeploy function
Deploy recipe output files to live target machine using scp
Store the files list and target machine info in localhost if deployment
is done
Undeploy recipe output files in target machine using the previous
deployment info

[YOCTO #6654]

(From OE-Core rev: cc10751aa3121218b21ec2058358f3ea02a4500a)

Signed-off-by: Junchun Guan <junchunx.guan@intel.com>
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-23 10:18:16 +00:00
Paul Eggleton
cd5ca4a11d scripts/devtool: add development helper tool
Provides an easy means to work on developing applications and system
components with the build system.

For example to "modify" the source for an existing recipe:

  $ devtool modify -x pango /home/projects/pango
  Parsing recipes..done.
  NOTE: Fetching pango...
  NOTE: Unpacking...
  NOTE: Patching...
  NOTE: Source tree extracted to /home/projects/pango
  NOTE: Recipe pango now set up to build from /home/paul/projects/pango

The pango source is now extracted to /home/paul/projects/pango, managed
in git, with each patch as a commit, and a bbappend is created in the
workspace layer to use the source in /home/paul/projects/pango when
building.

Additionally, you can add a new piece of software:

  $ devtool add pv /home/projects/pv
  NOTE: Recipe /path/to/workspace/recipes/pv/pv.bb has been
  automatically created; further editing may be required to make it
  fully functional

The latter uses recipetool to create a skeleton recipe and again sets up
a bbappend to use the source in /home/projects/pv when building.

Having done a "devtool modify", can also write any changes to the
external git repository back as patches next to the recipe:

  $ devtool update-recipe mdadm
  Parsing recipes..done.
  NOTE: Removing patch mdadm-3.2.2_fix_for_x32.patch
  NOTE: Removing patch gcc-4.9.patch
  NOTE: Updating recipe mdadm_3.3.1.bb

[YOCTO #6561]
[YOCTO #6653]
[YOCTO #6656]

(From OE-Core rev: 716d9b1f304a12bab61b15e3ce526977c055f074)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-23 10:18:16 +00:00
Paul Eggleton
b7d53f2ebb scripts: add scriptutils module
Add a utility module for scripts. This is intended to provide functions
only really useful before bitbake has been found (or only of particular
interest to scripts). At the moment this includes functions for setting
up a logger and for loading plugins.

(From OE-Core rev: a8f90528981127fbace3e901c6e3dfe8b45b98ab)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-23 10:18:15 +00:00
Paul Eggleton
5638ca2b94 scripts/recipetool: Add a recipe auto-creation script
Add a more maintainable and flexible script for creating at least the
skeleton of a recipe based on an examination of the source tree.
Commands can be added and the creation process can be extended through
plugins.

[YOCTO #6406]

(From OE-Core rev: fa07ada1cd0750f9aa6bcc31f8236205edf6b4ed)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-23 10:18:15 +00:00
Maciej Borzecki
cff6c481aa wic: add globbing support in IMAGE_BOOT_FILES entries
Adding glob support for entries in IMAGE_BOOT_FILES. Files picked up by
glob are by default installed under their basename, as this is likely
most common use case. Target name for globbed entries specifies the
name of directory in which files will be installed withing the partition.

(From OE-Core rev: 2c9635bdb97ddc80750c11d356e153a99d61cf09)

Signed-off-by: Maciej Borzecki <maciej.borzecki@open-rnd.pl>
Signed-off-by: Maciek Borzecki <maciek.borzecki@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-19 18:08:02 +00:00
Maciej Borzecki
90487dfbbb wic: IMAGE_BOOT_FILES format checks in bootimg-partition source
Check for malformed entries in IMAGE_BOOT_FILES, fail early if such
entries were found.

(From OE-Core rev: e56072aaaad6cfa222853a4e9e68dd8aa861de18)

Signed-off-by: Maciej Borzecki <maciej.borzecki@open-rnd.pl>
Signed-off-by: Maciek Borzecki <maciek.borzecki@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-19 18:08:02 +00:00
Tom Zanussi
fb760054d4 yocto-bsp: Get rid of 'strange' filenames in x86_64 templates
For the x86_64 templates, give all the 'strange' yocto-bsp template
filenames 'normal' names, adding new yocto-bsp-filename and
yocto-bsp-dirname tags for the new filename processing pass where
needed.

(From meta-yocto rev: d478b11db66795040009e9b7d7751300d4385018)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-18 10:09:01 +00:00
Tom Zanussi
82e8b73d78 yocto-layer: Get rid of 'strange' filenames in templates
For the yocto-layer templates, give all the 'strange' template
filenames 'normal' names, adding new yocto-bsp-filename and
yocto-bsp-dirname tags for the new filename processing pass where
needed.

(From meta-yocto rev: 0aa76b36ccb8262a7eec62845361c3d4b73ceb46)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-18 10:09:00 +00:00
Tom Zanussi
4b4eca1359 yocto-bsp: Get rid of 'strange' filenames in powerpc templates
For the powerpc templates, give all the 'strange' yocto-bsp template
filenames 'normal' names, adding new yocto-bsp-filename and
yocto-bsp-dirname tags for the new filename processing pass where
needed.

(From meta-yocto rev: c21329385f93bd876ef675ee453627910b4d5dec)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-18 10:08:59 +00:00
Tom Zanussi
debb440be5 yocto-bsp: Get rid of 'strange' filenames in mips64 templates
For the mips64 templates, give all the 'strange' yocto-bsp template
filenames 'normal' names, adding new yocto-bsp-filename and
yocto-bsp-dirname tags for the new filename processing pass where
needed.

(From meta-yocto rev: 8bc26cbfe2da0d6ffd08ecdce36fd50622bb1fad)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-18 10:08:59 +00:00
Tom Zanussi
4b82dab822 yocto-bsp: Get rid of 'strange' filenames in arm templates
For the arm templates, give all the 'strange' yocto-bsp template
filenames 'normal' names, adding new yocto-bsp-filename and
yocto-bsp-dirname tags for the new filename processing pass where
needed.

(From meta-yocto rev: fb533fd98678671d319e52fc288783bbd0368218)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-18 10:08:58 +00:00
Tom Zanussi
6a103322f8 yocto-bsp: Get rid of 'strange' filenames in mips templates
For the mips templates, give all the 'strange' yocto-bsp template
filenames 'normal' names, adding new yocto-bsp-filename and
yocto-bsp-dirname tags for the new filename processing pass where
needed.

(From meta-yocto rev: afa61438aa31fbc5c87991c8b3ec88c228b9d2d1)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-18 10:08:57 +00:00
Tom Zanussi
37a6affc48 yocto-bsp: Get rid of 'strange' filenames in x86 templates
For the x86 templates, give all the 'strange' yocto-bsp template
filenames 'normal' names, adding new yocto-bsp-filename and
yocto-bsp-dirname tags for the new filename processing pass where
needed.

(From meta-yocto rev: 9fa30ad9cf1291a37d365515ec8d969fb4fd4aef)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-18 10:08:56 +00:00
Tom Zanussi
cac5446989 yocto-bsp: Get rid of 'strange' filenames
Give all the 'strange' yocto-bsp template filenames 'normal' names,
adding new yocto-bsp-filename and yocto-bsp-dirname tags for the new
filename processing pass where needed.

(From meta-yocto rev: c66a5b2acb2e243b857e5eb31c1427af296b4c9d)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-18 10:08:37 +00:00
Tom Zanussi
ed99aeeb68 yocto-bsp: Add a processing pass to get rid of 'strange' filenames
Operating systems that can't handle filenames containing anything but
uppercase letters don't like to see 'strange' characters in filenames
such as the file and directory names yocto-bsp uses as part of its
templating mechanism.  To fix this, we essentially add another level
of metadata into the template files themselves rather than into their
names, and add a processing pass that internally gives us what we had
before.  Specifically:

  - strange characters in filenames are moved inside the files they
    apply to, to the first line of the file prepended with '#
    yocto-bsp-filename {{...}} filename | this'

  - strange characters in directory names are moved inside a new file
    of the same name but ending in .noinstall and with the first (and
    only) line of the file prepended with '# yocto-bsp-dirname {{...}}
    dirname'

If the new filename contained in the yocto-bsp-* tag is 'this', the
filename is the existing name of the file.  For a dirname, this would
be the filename with .noinstall removed.

"Fixes" [YOCTO #5312].

(From meta-yocto rev: 3dad2decbd682713f717950fc39fa0f63f1b8c98)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-18 10:08:37 +00:00
Tom Zanussi
bf0ec70284 yocto-bsp: Add mips64 support
mips64 support was recently added to the core BSPs; we should also
support it in yocto-bsp.  [YOCTO #5314]

(From meta-yocto rev: 3f3d29e2df6462c915d0763ab07f3be3c739ca4d)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-05 18:00:22 +00:00
Tom Zanussi
0cc9a12ff8 yocto-bsp: Update templates to 3.17 kernel
Add 3.17 kernel support.

(From meta-yocto rev: cdebafc6f87ae635769cf93787c97caa8e58e13e)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-05 18:00:21 +00:00
Martin Hundebøll
c0dafd3101 scripts: use '/usr/bin/env' in shebangs with python
To support yocto on systems with python3 as default version, scripts
should use /usr/bin/env python in the shebang, as this allows the use of
a fake env to mimic python2 as default version.

This patch simply replaces occurrences of #!/usr/bin/python with
 #!/usr/bin/env python and was done with this oneliner:

     git grep -lE '^#!/usr/bin/python' | xargs \
         sed -i 's|/usr/bin/python|/usr/bin/env python|'

(From OE-Core rev: 6d3de22a19657a413e01d7bb5fd74d16c00dc696)

Signed-off-by: Martin Hundebøll <martin@hundeboll.net>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-12 15:38:29 +00:00
Tom Zanussi
fcf56083b9 wic: Update bootimg-partition to use bootimg_dir
Update bootimg-partition to use bootimg_dir instead of img_deploy_dir,
to match similar usage in other plugins.

As mentioned elsewhere, plugins should use the passed-in value for
bootimg_dir directly if non-null, which corresponds to a user-assigned
value specified via a -b command-line param, and only fetch the value
from bitbake if that value is null.

(From OE-Core rev: 3822f8a7b33da56ecd9144b4bcae50734fb1af81)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:03:41 +00:00
Tom Zanussi
42d0334aa8 wic: Remove special-case bootimg_dir
The first iterations of wic very shortsightedly catered to two
specific use-cases and added special-purpose params for those cases so
that they could be directly given their corresponding boot artifacts.
(hdddir and staging_data_dir).

As more use-cases are added, it becomes rather obvious that such a
scheme doens't scale, and additionally causes confusion for plugin
writers.

This removes those special cases and states explicitly in the help
text that plugins are responsible for locating their own boot
artifacts.

(From OE-Core rev: 6ba3eb5ff7c47aee6b3419fb3a348a634fe74ac9)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:03:41 +00:00
Tom Zanussi
38400617fe Revert "wic: set bootimg_dir when using image-name artifacts"
This reverts commit 7ce1dc13f9.

This patch broke the assumption that a non-null boot_dir means a
user-assigned (-b command-line param) value.

Reverting doesn't break anything, since the case it was added for
doesn't use the boot_dir for anything except debugging anyhow.

Fixes [YOCTO #6290]

(From OE-Core rev: db90f10bf31dec8d7d7bb2d3680d50e133662850)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:03:41 +00:00
Tom Zanussi
d1f8b8f5d0 wic: Update the help text to include -D (--debug)
The --debug option is missing from the wic help text; this adds it and
at the same time rearranges the usage into a more logical arrangement.

(From OE-Core rev: cf5144ef241d8f4ccaa3461ae5c9f89c2cf2f8d1)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:03:40 +00:00
Tom Zanussi
005d81da2b wic: Use overhead factor when creating partitions from rootfs directories
When creating partitions sized to given rootfs directories, filesystem
creation could fail in cases where the calculated target partition
size was too small to contain the filesystem created using mkfs.  This
occurred in particular when creating partitions to contain very large
filesystems such as those containing sdk image artifacts.

This same limition is present in the oe-core image creation classes,
which can be readily see by changing IMAGE_OVERHEAD_FACTOR from the
default 1.3 to 1.0 and building a sato-sdk image.

It should be possible to calculate required sizes exactly given the
source rootfs and target filesystem types, but for now, to address the
specific problem users are hitting in such situations, we'll just do
exactly what oe-core does and define and use an IMAGE_OVERHEAD_FACTOR
or 1.3 in those cases.

Fixes [YOCTO #6863].

(From OE-Core rev: bbaef3ff5833fc1d97b7b028d7770834f62789da)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:03:40 +00:00
Tom Zanussi
334f83a146 wic: Don't allow mkfs to fail silently in partition command
The return code from the mkfs command used by the partition creation
command was being ignored, allowing it to silently fail and leaving
users mystified as to why the resulting filesystem was corrupted.

This became obvious when failures occurred when creating large
e.g. sdk filesystems [YOCTO #6863].

(From OE-Core rev: 8cef3b06f7e9f9d922673f430ddb3170d2fac000)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:03:40 +00:00
Hongxu Jia
9c218a319e wic/bootimg-pcbios.py: checking the existance of syslinux
While syslinux not existed in $bootimg_dir, there was a error:

$ wic create directdisk -e core-image-minimal
...
|Creating image(s)...
|Error: exec_cmd: install -m 444 /home/jiahongxu/yocto/
build-20141010-yocto/tmp/deploy/images/qemux86-64/syslinux/
ldlinux.sys /var/tmp/wic/build/hdd/boot/ldlinux.sys
returned '1' instead of 0
...

Add checking for the existance of syslinux to fix this issue.
If syslinux didn't exist in anywhere, prompt user to build it.

[YOCTO #6826]

(From OE-Core rev: c2d4364d9fbbda64598f0a3eb0b0890932bb7742)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-18 16:14:03 +02:00
Maciej Borzecki
7291691d3f wic: add sdimage-bootpart kickstart file
Add kickstart for generating a SD card image that should cover most use
case scenarios. The layout is as follows:
- 16MB vfat partition that IMAGE_BOOT_FILES will be copied to, 4k
  alignment
- ext4 rootfs, 4k alignment

(From OE-Core rev: bb01a6be7b32aa675f5003a6012a60a081212e8c)

Signed-off-by: Maciej Borzecki <maciej.borzecki@open-rnd.pl>
Signed-off-by: Maciek Borzecki <maciek.borzecki@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-09-23 20:35:56 +01:00
Maciej Borzecki
6b03fc214f wic: add new bootimg-partition plugin
This patch implements 'bootimg-partition source plugin class for 'wic'. The
plugin creates an image of boot partition, copying over files listed in
IMAGE_BOOT_FILES bitbake variable.

(From OE-Core rev: 4a3200d710d953956064c28188577fbd461d093d)

Signed-off-by: Maciej Borzecki <maciej.borzecki@open-rnd.pl>
Signed-off-by: Maciek Borzecki <maciek.borzecki@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-09-23 20:35:56 +01:00
Maciej Borzecki
7ce1dc13f9 wic: set bootimg_dir when using image-name artifacts
Running wic with -e to use artifacts from a named image, bootimg_dir was
always passed as empty string to partition source plugins. The patch
sets bootimg_dir to current value of DEPLOY_DIR_IMAGE, as bootloader
artifacts end up in that location as well.

(From OE-Core rev: d7f69e6f0932a927b6ce289fb47ba575d7aaa1c8)

Signed-off-by: Maciej Borzecki <maciej.borzecki@open-rnd.pl>
Signed-off-by: Maciek Borzecki <maciek.borzecki@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-09-23 20:35:56 +01:00
Maciej Borzecki
48ff3fa3a5 wic: fix vfat partition sector count only if needed
VFAT rootfs partitions sector count would get updated always even if
there is no need. Since parition size in wic is expressed in MB, any
sub MB change will cause the generated partition image to be larger
than allocated space within the disk image. Fortunately, partitions
sized in MB will most of the time have a proper sector count.

(From OE-Core rev: 99bee4cb489800d74dea4d2158ff834413685f04)

Signed-off-by: Maciej Borzecki <maciej.borzecki@open-rnd.pl>
Signed-off-by: Maciek Borzecki <maciek.borzecki@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-09-23 20:35:56 +01:00
Maciej Borzecki
0b3f477616 wic: use IMAGE_EXTRA_SPACE for vfat rootfs
Functions for generating rootfs use IMAGE_EXTRA_SPACE rather than
BOOTDD_EXTRA_SPACE. The latter is used in boot image source plugins.

(From OE-Core rev: 44abf447f8e4ed11cbbe53a4fb0ecf10a20f0f9e)

Signed-off-by: Maciej Borzecki <maciej.borzecki@open-rnd.pl>
Signed-off-by: Maciek Borzecki <maciek.borzecki@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-09-23 20:35:55 +01:00
Maciej Borzecki
c94d8e93db wic: minor comment update
Update comment about types of generated partition images.

(From OE-Core rev: ba1503f77e0c03fe6c715b61983008b7a534ae20)

Signed-off-by: Maciej Borzecki <maciej.borzecki@open-rnd.pl>
Signed-off-by: Maciek Borzecki <maciek.borzecki@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-09-23 20:35:55 +01:00
Tom Zanussi
5bef32283f wic: Completely remove all urlgrabber references
The previous commit, 'wic: Remove 3rdparty/urlgrabber' didn't actually
remove all references to urlgrabber - this does however.

(From OE-Core rev: b4367af770611174d9de82c63c697d4347e30dcf)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-09-10 11:33:25 +01:00
Maciej Borzecki
50fbf19a93 wic: do not realign aligned partitions
The change prevents additional realignment of already aligned
partition. Previously, even already aligned partitions would be pushed
forward by the amount of --align.

(From OE-Core rev: 92a1b83d928173a58280ca019ca81fdeb5ba72b5)

Signed-off-by: Maciej Borzecki <maciej.borzecki@open-rnd.pl>
Signed-off-by: Maciek Borzecki <maciek.borzecki@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-23 09:26:09 +01:00
Maciej Borzecki
5686b2d5a7 wic: do not steal sectors from the first partition
In order to make up for space loss due to overhead located before the
first partition, same amount of bytes was extracted from the first
partition's size. This leads to unexpected change of first partition's
size, and is not matched by similar adjustment at the time the partition
image is generated. Thus it is possible that the first partition may
partially overwrite contents of the following partition, as the
partition image is larger than the allocated space.

This is also problematic on certain platforms such as OMAP, where the
first partition is required for have an even number of
sectors (typically already expressed by --size in kickstart
file). Subtracting an odd number of sectors lost for overhead, leads to
an odd number of sectors assigned for partition, preventing the board,
such as beaglebone, from booting correctly.

(From OE-Core rev: c3251d4191fb0b7c3477a3579e542729598f6aad)

Signed-off-by: Maciej Borzecki <maciej.borzecki@open-rnd.pl>
Signed-off-by: Maciek Borzecki <maciek.borzecki@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-23 09:26:09 +01:00
Maciej Borzecki
f12ac6101c wic: include partition label in fs image file name
Not including the label image but having multiple partitions of the same
type, the image file of one partition would overwrite the other.

(From OE-Core rev: acf2fb7c6dfa3217ffcbf9483c190057d9f41bbf)

Signed-off-by: Maciej Borzecki <maciej.borzecki@open-rnd.pl>
Signed-off-by: Maciek Borzecki <maciek.borzecki@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-15 18:21:53 +01:00
Tom Zanussi
072657ce98 wic: Add mkgummidisk kickstart file
This is the same as mkefidisk but uses gummiboot instead of grub-efi.

(From OE-Core rev: 5979409ebfab0bb07b3c2b2fcf14a722c441f07b)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-15 18:21:52 +01:00
Tom Zanussi
32a5799b78 wic: Add sourceparams to mkefidisk.wks
The bootimg-efi plugin now requires a loader param, so supply it to
retain existing behavior.

(From OE-Core rev: ccef1385cb51ce2b9b75493b314e38599a8ae10e)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-15 18:21:52 +01:00
Tom Zanussi
6e328c94ae wic: Add gummiboot support to bootimg-efi
Add gummiboot support to bootimg-efi, which retains the existing
grub-efi support (though requires an update to the .wks file).

(From OE-Core rev: f1a81fcefa493540a9faac549fdd513b86f8f497)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-15 18:21:52 +01:00
Tom Zanussi
8d0185f4f8 wic: Parse and pass sourceparams to partition plugin methods
Add code to parse the sourceparams and pass them to the partition
plugin methods.

(From OE-Core rev: 769a6f920fb672c50d76bd4bdea4a65fdc18a7b3)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-15 18:21:52 +01:00
Tom Zanussi
e00e902fc7 wic: Add sourceparam param to partition plugin methods
The sourceparam param allows source plugins to be parameterized
generically (via --sourceparams="key=val[,key=val], implemented
previously).

(From OE-Core rev: 2abbcc843ba888782f6d68748d930c81e6ae7040)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-15 18:21:52 +01:00
Tom Zanussi
ef700ea11f wic: Add utility function for parsing sourceparams
Parses strings of the form key1=val1[,key2=val2,...] and returns a
dict.  Also accepts valueless keys i.e. without =.

(From OE-Core rev: 36f258ee6e60c26fd44b9bc71c318363cec71f42)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-15 18:21:52 +01:00
Tom Zanussi
3c90ee9bc2 wic: Add '--sourceparams' partition option
To go along with '--source' as a way to parameterize source plugins.

(From OE-Core rev: f5b9ef65453b3f66282c49f5e2584ad33ac6d2d7)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-15 18:21:52 +01:00
Tom Zanussi
d942d2220c wic: Bump the version to 2.0
This represents a complete rework, and if we assume the previous
version should have been 1.0 (instead of a silly .1x version), then
this should be 2.0.

(From OE-Core rev: d263cb055333e6432454a13403eda471c514a3e6)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-11 10:53:12 +01:00
Tom Zanussi
d8f9d05bae wic: Rename /mic to /wic
As well as any other stray instances of mic in the codebase that can
be removed.

We don't really need to carry around legacy naming, and the history is
in git.

(From OE-Core rev: 598b120406dc1d2b7e377bd1ab6f0acbef034b22)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-11 10:53:12 +01:00
Tom Zanussi
a43c1f9420 wic: Update Disk description
Remove obsolete comment.

(From OE-Core rev: d39c76f24a50c9359840c0959fb50fc6da0960cd)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-11 10:53:12 +01:00
Tom Zanussi
ff1aa2358e wic: Rename MountError
wic doesn't mount anything, so can't have a mount error; rename it to
something more appropriate.

(From OE-Core rev: e1edee656fc9c0a791c0eb62796d1afa483be34e)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-11 10:53:12 +01:00
Tom Zanussi
312479cf07 wic: Rename PartitionedMount
It's actually a container for disks and partitions, and wic doesn't
mount anything, so rename it to match what it really is.

(From OE-Core rev: 28c5249b4df46ba3ac227d0c4dc6e545b40dbaf3)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-11 10:53:12 +01:00
Tom Zanussi
28453ae63c wic: Update/rename configure-related code
The wic code inherited a basic image-creation flow based on
image-configuration, but wic doesn't actually configure anything, so
rename parts of the code dealing with configuration to something more
appropriate.

(From OE-Core rev: 58dc8879bba31542e2386aaaa70034621b2b1e4e)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-11 10:53:12 +01:00
Tom Zanussi
d02c91fe4d wic: Update/rename install-related code
The wic code inherited a basic image-creation flow based on installing
packages, but wic doesn't actually install anything, so rename parts
of the code dealing with installing to something more appropriate.

(From OE-Core rev: b4232041534a79236eb8d8ab5c0024a0ef4da649)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-11 10:53:12 +01:00
Tom Zanussi
467bf7e68f wic: Update cleanup/unmount-related code
The wic code inherited a basic image-creation flow based on mounting
loop devices, but wic doesn't actually mount or unmount anything, so
get rid of unmount() and consolidate whatever it did do with
cleanup().

(From OE-Core rev: 1b103bf4a7c7527d4fc57bad1bbd1d5a5bbddb4a)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-11 10:53:11 +01:00
Tom Zanussi
4d1f5ee6d1 wic: Update/rename/delete mount-related code
The wic code inherited a basic image-creation flow based on mounting
loop devices, but wic doesn't actually mount anything, so rename parts
of the code dealing with mounting to something more appropriate, and
remove related unused code.

(From OE-Core rev: 94e15c18c011b0d7d71276cd4566be2417c2c6be)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-11 10:53:11 +01:00
Tom Zanussi
bd0dd4489e wic: Remove Mount object
It doesn't do anything we need, so remove it and fix up callers/base
classes.

(From OE-Core rev: fb2a162d8756ab69c9c29a0715b033f18620341d)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-11 10:53:11 +01:00
Tom Zanussi
d74e7d3fa6 wic: Remove unused conf support
Also fix up users such as imager functions.

(From OE-Core rev: eb77b9c11bd9b8dc90aacfbd5b5bc5568a233525)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-11 10:53:11 +01:00
Tom Zanussi
554feeebe0 wic: Update 'Background and Motivation' help section
Remove help text regarding the source and future intentions of the wic
codebase, since the code prompting those comments has now been mostly
removed.

(From OE-Core rev: dfa8626700269141f8d2f5be12c8758db7ca6473)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-11 10:53:11 +01:00
Tom Zanussi
02ebd15c62 wic: Remove unused command versioning support
The default is F16 and there's no reason to change that, so remove
everything else.

(From OE-Core rev: e0ec12d012e568c9943614fc1190c143912180b3)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-11 10:53:11 +01:00
Tom Zanussi
8678a6eb02 wic: Clean up Creator
wic doesn't use a lot of Creator, so remove it.

(From OE-Core rev: ef6bc7a3b58ba8b9c94f4c1e41c0f6d7d51c0bf5)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-11 10:53:11 +01:00
Tom Zanussi
f12336aa4a wic: Clean up PartitionedMount
wic doesn't use a lot of ParitionedMount, so remove it.

(From OE-Core rev: 0f793ff0767b0cce032c20b677974806c65610d6)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-11 10:53:11 +01:00
Tom Zanussi
1601821636 wic: Clean up DirectImageCreator
Remove what wic doesn't use from DirectImageCreator.

(From OE-Core rev: dbbe6d04f6c606c94ff17151aee1214e4e24ce7d)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-11 10:53:10 +01:00
Tom Zanussi
6c6c96afb6 wic: Clean up BaseImageCreator
wic doesn't use a lot of BaseImageCreator, so remove it.

(From OE-Core rev: 6bd95c24b44fa80ac9d5950bf2d925f18f671290)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-11 10:53:10 +01:00
Tom Zanussi
df42125f2c wic: Remove unused plugin and error code
wic doesn't use it, so remove it.

(From OE-Core rev: b818e5a1ed047940fda533da73fc50a099e1aa3f)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-11 10:53:10 +01:00
Tom Zanussi
946dbec4eb wic: Remove gpt_parser
wic doesn't currently use it, so remove.

(From OE-Core rev: d3a490d5421405bf9e002c6c65ffb831ea6b767e)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-11 10:53:10 +01:00
Tom Zanussi
5a8bcfb562 wic: Remove unused 3rdparty/commands
wic doesn't use anything but partition and bootloader, so remove the
rest.

(From OE-Core rev: b6ae106b5d28180a5890e837c87f3e91e5917638)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-11 10:53:10 +01:00
Tom Zanussi
c9b5ea0873 wic: Remove 3rdparty/urlgrabber
wic doesn't use it, so remove it.

(From OE-Core rev: 00dcdb29c89634ab267d328eb00f8eb70c696655)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-11 10:53:10 +01:00
Tom Zanussi
ba19b60fd2 wic: Remove unused misc code
wic doesn't use it, so remove it.

(From OE-Core rev: 84e1e13ce3af216e304f61c7ea6e5e9338f94bc6)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-11 10:53:10 +01:00
Tom Zanussi
f0499a07b5 wic: Remove unused fs_related code
wic doesn't use it, so remove it.

(From OE-Core rev: e18d5393a556e1ff4826c1e5b1a75f4ac998b10e)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-11 10:53:09 +01:00
Tom Zanussi
93a60f7e99 wic: Remove rpmmisc
wic doesn't use it, so remove it.

(From OE-Core rev: a49b39ddf18b1b058c0a892e1a7450239eea66ce)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-11 10:53:09 +01:00
Tom Zanussi
ac2d312f81 wic: Remove proxy support
wic doesn't use proxy support, so remove it.

Also remove anything related to proxies in misc and conf, and while
we're at it, remove all the obviously unneeded code from those files -
it's easier to just remove it than to figure out the callchain to the
proxy code usages.

Basically the extra stuff relates to packaging, images, and config
files we don't use.

(From OE-Core rev: 041f9e2ca52681cd6f5c2fb804dd45f05358c9f9)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-11 10:53:09 +01:00
Tom Zanussi
29fb556a88 wic: Remove grabber implementation
wic doesn't need to grab any urls, so remove it.

(From OE-Core rev: 55f8df07d82724b6d7ed694158ca6e9a5266cbc4)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-11 10:53:09 +01:00
Tom Zanussi
d9096a659e wic: Remove fiemap support
wic doesn't use it, so remove it.

(From OE-Core rev: b732ad616ca20dfc4adb845b68ae3378624a0a4d)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-11 10:53:09 +01:00
Tom Zanussi
aac322317a wic: Remove bmap support
wic doesn't use it, so remove it.

(From OE-Core rev: 69f16c7582660a3bcf4106668e548b4c789ae251)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-11 10:53:09 +01:00
Tom Zanussi
a9351096db wic: Remove mic package managers
wic doesn't use the yum or zypp package managers, remove them.

(From OE-Core rev: ef70b961b6b8f3a004036f84b608665db2085215)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-11 10:53:09 +01:00
Tom Zanussi
f1dbd46e7e wic: Remove rt_util
More package-related stuff we don't need.

(From OE-Core rev: 167cb99af427510bb6d72e89478c62a804db125c)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-11 10:53:09 +01:00
Tom Zanussi
c0aa6cb8fe wic: Remove mic chroot
mic chroot allows users to chroot into an existing mic image and isn't
used by wic, so remove it.

Removing chroot.py leads in turn to various plugin-loading failures
for a number of plugins that wic doesn't use either, so remove those
as well.

The existing source plugins refer to chroot but don't use it, so fix
those up.

(From OE-Core rev: d73230306b827972cdc99f21d247c54d5d7c0b6d)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-11 10:53:08 +01:00
Tom Zanussi
d2120000df wic: Remove mic bootstrap
packaging bootstrap, not needed

(From OE-Core rev: 980c8faf01fa59ce3922cbad3363a6c2f759d30e)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-11 10:53:08 +01:00
Tom Zanussi
bd9b9345dd wic: Remove packaging, config commands
Remove commands related to repos, packaging, configuration

(From OE-Core rev: 2b002ab75473578f06f161be0b48670fba26994e)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-11 10:53:08 +01:00
Tom Zanussi
36f4edec65 wic: Remove unused custom commands
installer, repo, desktop-related stuff

(From OE-Core rev: 26e909682fffb8ae6062d1e8295b6421f1f716ad)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-11 10:53:08 +01:00
Tom Zanussi
68e6adf2df wic: Make exec_cmd() error out instead of warn
The reason exec_cmd() warns but doesn't error out (broken parted)
doesn't really make sense, since the parted invocations don't even use
exec_cmd().  It really should just fail since by not doing so it's
actually enabling invalid images in some cases.

Also, since the return code is now always zero, there's no point in
having a return code, so remove it.  This represents a change in the
API, so we also need to update all callers.

(From OE-Core rev: a10bbd39eee29cc49d258bf08aaec279c3115c66)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-11 10:53:08 +01:00
Tom Zanussi
463c9f4d3a wic: Various typo/grammar fixes to wic help text
This is a set of miscellaneous help text updates noticed while
transcribing wic help for the dev manual.

(From OE-Core rev: d4b350fcdedf29692673e09a0c1850cdbbe29739)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-02 09:26:13 +01:00
Tom Zanussi
b7528a4bc1 wic: Add squashfs to --fstypes documentation
squashfs support was recently added to wic, so document it.

(From OE-Core rev: c04043e143932fe2ea38f87d2faa8beed007671b)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-02 09:26:13 +01:00
Tom Zanussi
dcf7d981a2 wic: Add documentation for --fsoptions
--fsoptions support was recently added to wic, so document it.

(From OE-Core rev: e2d87ad57f8aa74e748ba95f6a801a2ca665ecc4)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-02 09:26:13 +01:00
Tom Zanussi
3e237b177b wic: Fix plugin help text
Fix various typoes and grammar problems noticed while transcribing for
the dev manual.

(From OE-Core rev: 79fb7d9b5a28810e3adfaf5cba0c2298810253e9)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-02 09:26:13 +01:00
Maciej Borzecki
09def7a78c wic: do not overwrite autogenerated /etc/fstab with original too early
DirectImageCreator.__write_fstab() generates new /etc/fstab in sysroot
with rootfs contents. The fstab entries are generated base on the
initialn contents of /etc/fstab, plus any extra (other than / or
/boot) partitions listed in *.wks. A backup of original /etc/fstab is
done in a temp location. Subsequent call to __restore_fstab() restores
the backup copy, replacing the autogenerated one.

Calling __restore_fstab() before Wic_PartData.prepare() brings back the
original fstab before the partition image file actually is created. As
such, the autogenerated /etc/fstab will not make it to the partition.

(From OE-Core rev: a9e59d7b1fa1ed33ce9678fb77a367800d7a8f87)

Signed-off-by: Maciej Borzecki <maciej.borzecki@open-rnd.pl>
Signed-off-by: Maciek Borzecki <maciek.borzecki@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-26 09:01:05 +01:00
Maciej Borzecki
73ce04eb6d wic: squashfs partition support
It is possible to instruct wic to create a squashfs partition by setting
--fstype=squashfs in *.wks. For now this is only useable for rootfs
partitions (note that you must have squashfs support in the kernel). An
attempt to create an empty partition will produce a warning.

(From OE-Core rev: 30266a0be946bd0ce76d6920e7afe840c6c3bf80)

Signed-off-by: Maciej Borzecki <maciej.borzecki@open-rnd.pl>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-25 16:54:43 +01:00
Maciej Borzecki
5e7de54d3d wic: --fsoptions handling
Add handling of --fsoptions in parition definition. If no options are
specified, 'defaults' is used.

(From OE-Core rev: e91c0db15db74237606fae96c9b7d21936519a86)

Signed-off-by: Maciej Borzecki <maciej.borzecki@open-rnd.pl>
Signed-off-by: Maciek Borzecki <maciek.borzecki@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-25 16:54:43 +01:00
Tom Zanussi
063ee04d47 wic: Remove fstype from mkefidisk canned wks
The bootimg-efi plugin specifies the fstype internally, so remove it
from the partition definition.

(From OE-Core rev: e9365e9d9e8a8696849fda182ec260398059089a)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-23 21:59:16 +01:00
Tom Zanussi
aec05b6bf8 wic: Add help entry for wic kickstart
Previous patches added help for 'wic kickstart' but forgot to add an
entry in the main help page showing its availability.  Add an entry
for it.

(From OE-Core rev: 5aa212f990c3d9b90a4f06cea346b82fc5d376ba)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-23 21:59:16 +01:00
Tom Zanussi
a0e7d58bc1 wic: Fix bad directory name in bootimg-efi
The original move of the mkefidisk code to the bootimg-efi plugin
resulted in a bad hdddir - fix it.

(From OE-Core rev: ab337705521d8734f12be612709e70a163111fe3)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-23 21:59:16 +01:00
Tom Zanussi
eca8a56a4e wic: Error on zero-sized partitions
It doesn't make sense to create zero-sized partitions so assume user
error and notify the user they should be using a non-zero --size for
partitions that don't specify a --source.

(From OE-Core rev: 3231562c3c9f8173ddcc0812001aadf0988c8892)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-16 10:20:48 +01:00
Tom Zanussi
d08c2ce0d6 wic: Add kickstart reference to help system
Add a 'wic kickstart' help section to make it easy for users to access
the kickstart reference without having to go to an external website.

(From OE-Core rev: 136137ec1c124aee89d2120abded60a5cf0562b0)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-16 10:20:48 +01:00
Tom Zanussi
d8b65a55d2 wic: Add wic overview to help system
Add a general overview of wic to the help system as 'wic overview',
along with some introductory examples.

(From OE-Core rev: fa108caaa53878152e4856d32ce1ab7fe3802287)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-16 10:20:48 +01:00
Tom Zanussi
83e5c09d2f wic: Add vfat support
Add vfat as a supported rootfs type (in addition to the current
ext2/3/4 and btrfs support).

vfat partitions can now be created using --source rootfs along with
--fstype=vfat, or without --source but specifying a --size.

(From OE-Core rev: d9efc110fd73822629b2a3326761f2256b9f23b0)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-16 10:20:48 +01:00
Tom Zanussi
f3986878ed wic: Error on parted non-zero error code
The current code uses msger.debug() to note errors, effectively
squelching them if --debug isn't used.  Apparently this is because it
can return non-zero for some loop device failures.  We don't care
about loop devices, and not paying attention to the error code
actually results in invalid images, so error out on parted failures as
we should be.

(From OE-Core rev: b1c68e5446080f0743f7f8a530f3b00f90c8717d)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-16 10:20:48 +01:00
Tom Zanussi
d8ef35557e wic: Add general 'plugins' help topic
Add a category for help topics with an initial help topic discussing
source plugins.

(From OE-Core rev: a3dbe46dd28a6fd9e6c21f6bbb6a12578df9dff3)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-10 17:38:34 +01:00
Tom Zanussi
b5dceca436 wic: Print error if a partition specifies an invalid --source
If a partition specified in a .wks file specifies a nonexistent
--source, print an error to that effect and exit.  The error text also
points the user to a command listing valid sources, and help on adding
a new source plugin.

(From OE-Core rev: 4dff6945d2606cebc0ab26e877c5d8c7b457e179)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-10 17:38:34 +01:00
Tom Zanussi
1908751b32 wic: Add help text for 'wic list source-plugins'
Add both short and long text for the new 'wic list source-plugins'
command.

(From OE-Core rev: 4f20acc10b18c7353bd73f253943372dacd957ca)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-10 17:38:34 +01:00
Tom Zanussi
40769b7cc0 wic: Add command to list available source plugins
Add a 'wic list source-plugins' command enabling users to get a list
of valid partition --sources.  This is useful not only for determining
sources to use in .wks partition statements, but also for making sense
of errors in .wks partition processing.

(From OE-Core rev: 37db9423e7872012fabde67e8858db5b512832f6)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-10 17:38:34 +01:00
Richard Purdie
359f08766f yocto-bsp: Drop GLIBC_ADDONS setting
This has been copied and pasted around and is not needed, simply drop it.
The defaults in the recipe work just fine.

(From meta-yocto rev: 037bce9a5f196df3cded9dfe6200188c1dd1d84a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-04 09:12:35 +01:00
Richard Purdie
05c47cc68e yocto-bsp: Update qemu inclusion lists
Update qemu tune definitions to match changes in main qemu machines.

[YOCTO #6482]

(From meta-yocto rev: 0d78ffd509c6caba6c74c6e75c485fb8d923cd31)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-04 09:12:35 +01:00
Robert Yang
1adedecc0d scripts: fix no newline at end of file
Add a '\n' to the last line of the file to fix:

No newline at end of file

(From meta-yocto rev: 58cc5c502bd0309feed65ab7836ed8fbaab6ced9)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-03 13:57:12 +01:00
Paul Eggleton
2b4e1506f0 scripts: consolidate code to find bitbake path
Several of these scripts were using duplicated code (and slightly
different methods) to find the path to bitbake and add its lib
subdirectory to the Python import path. Add some common code to do this
and change the scripts to use it.

Fixes [YOCTO #5076].

(From OE-Core rev: 0b5e94e168819134dcda0433c8ae893df4ab13ce)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-06-25 13:51:45 +01:00
João Henrique Ferreira de Freitas
307d0e13c0 wic: check if BBLAYERS is valid before use
If wic is running as raw mode, it's better to check if BBLAYERS
is valid before inspect it.

No functional changes.

(From OE-Core rev: a3ee9cc7aebaecfa2223552a2c1865a9337de664)

Signed-off-by: João Henrique Ferreira de Freitas <joaohf@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-06-06 10:29:24 +01:00
João Henrique Ferreira de Freitas
567fec4b0d wic: default plugin type directory should be added only once
Fix 'for' statement identention so plugin type directory will be
added only once in layers_dirs list.

No functional changes.

(From OE-Core rev: ba88329115a3d6f964febcbf554af8391e1b84a1)

Signed-off-by: João Henrique Ferreira de Freitas <joaohf@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-06-06 10:29:24 +01:00
João Henrique Ferreira de Freitas
32a811f71b wic: add support to look in all layers and get plugins
Plugins are looked in 'scripts/lib/mic/plugins/[type]/' directory on all
BBLAYERS variable returned by bitbake environment. If found, it will
be load at runtime.

The user could create your own plugin and keep it inside its layers. For
now the path must be <layer-dir>/scripts/lib/mic/plugins/[type]/. Where
'type' could be 'imager' or 'source'.

(From OE-Core rev: bb6f5d7de1c7ce2680874a74949903db0f5bb91a)

Signed-off-by: João Henrique Ferreira de Freitas <joaohf@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-05-21 09:09:02 +01:00
João Henrique Ferreira de Freitas
8af57a6ca2 wic: add support to look in all layers and get .wks file
.wks file are looked in 'scripts/lib/image/canned-wks' directory on all
BBLAYERS variable returned by bitbake environment. If found, it will
be used.

The user could create your own .wks and keep it inside its layers. For
now the path must be <layer-dir>/scripts/lib/image/canned-wks.

(From OE-Core rev: 1f3e312211f277a1befd707a59a0c0a9bf6cbcbc)

Signed-off-by: João Henrique Ferreira de Freitas <joaohf@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-05-21 09:09:02 +01:00
João Henrique Ferreira de Freitas
d6900a5fe7 wic: Extend indirect string connection to support image names and rootfs
The wic command-line param --rootfs-dir gets extended to support
multiple directories and image names. Each '--rootfs-dir' could be
connected using a special string. This special string is a image
name which gets expanded by bitbake to get 'IMAGE_ROOTFS' or
a rootfs-dir path pointing to rootfs directory. Like this:

  wic create ... --rootfs-dir rootfs1=core-image-minimal \
    --rootfs-dir rootfs2=core-image-minimal-dev

.wks:

  part / --source rootfs --rootfs-dir="rootfs1" --ondisk sda --fstype=ext3 \
    --label primary --align 1024

  part /standby --source rootfs --rootfs-dir="rootfs2" \
    --ondisk sda --fstype=ext3 --label secondary --align 1024

(From OE-Core rev: 58417093d7ce83c8a2f683a356fddc23aaee5e8e)

Signed-off-by: João Henrique Ferreira de Freitas <joaohf@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-05-13 19:35:11 +01:00
João Henrique Ferreira de Freitas
bc10da01f3 wic: add find_artifact() to get a specific bitbake variable
This helper is used by source plugins to get specific bitbake
variable.

(From OE-Core rev: b8e51f73bc8e67ca60b7dd8d67091257aad62efd)

Signed-off-by: João Henrique Ferreira de Freitas <joaohf@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-05-13 19:35:11 +01:00
João Henrique Ferreira de Freitas
8387f1f000 wic: Move find_bitbake_env_line() to oe.misc
Move find_bitbake_env_line() since they're going to need to be
accessible from source plugins.

(From OE-Core rev: d881ec6136255fd0f4a8cf36f9ce148ade02c103)

Signed-off-by: João Henrique Ferreira de Freitas <joaohf@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-05-13 19:35:11 +01:00
Otavio Salvador
1528e596d4 Globally replace 'base_contains' calls with 'bb.utils.contains'
The base_contains is kept as a compatibility method and we ought to
not use it in OE-Core so we can remove it from base metadata in
future.

(From meta-yocto rev: 5021839af713cb34bea5888981f2184104b6d35e)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-25 17:20:28 +01:00
Tom Zanussi
bb20d3afbf yocto-bsp: Update templates to 3.14 kernel
Add 3.14 kernel support, and remove support for 3.4.

(From meta-yocto rev: 342dce5873a9f1844fd7ce52a1c2656dcfb43053)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-09 09:53:14 +01:00
Richard Purdie
7254dfb642 Drop beagleboard, replaced by beaglebone
(From meta-yocto rev: b125761e5e31fc506f7b5b87308850cd573ab1b6)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-31 23:04:36 +01:00
João Henrique Ferreira de Freitas
ba65fe654a wic: Extend --rootfs-dir to connect rootfs-dirs
The wic command-line param --rootfs-dir gets generalized to support
multiple directories. Each '--rootfs-dir' could be connected using a
special string, that should be present in .wks. I.e:

wic create ... --rootfs-dir rootfs1=/some/rootfs/dir \
  --rootfs-dir rootfs2=/some/other/rootfs/dir

  part / --source rootfs --rootfs-dir="rootfs1" --ondisk sda --fstype=ext3 \
    --label primary --align 1024

  part /standby --source rootfs --rootfs-dir="rootfs2" \
    --ondisk sda --fstype=ext3 --label secondary --align 1024

The user could use harded-code directory instead of connectors. Like this:

  wic create ... hard-coded-path.wks -r /some/rootfs/dir

  part / --source rootfs --ondisk sda --fstype=ext3 --label primary --align 1024

  part /standby --source rootfs --rootfs-dir=/some/rootfs/dir \
    --ondisk sda --fstype=ext3 --label secondary --align 1024

(From OE-Core rev: 719d093c40e4c259a4c97d6c8a5efb5aeef5fd38)

Signed-off-by: João Henrique Ferreira de Freitas <joaohf@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-30 10:10:35 +01:00
João Henrique Ferreira de Freitas
3c00384884 wic: Report all ROOTFS_DIR artifacts
When a .wks has more than one ROOTFS_DIR it's better to report
all ROOTFS_DIR that was used to create the image.

(From OE-Core rev: a8762f3be215678a6806cabe49647083f42323a8)

Signed-off-by: João Henrique Ferreira de Freitas <joaohf@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-30 10:10:35 +01:00
João Henrique Ferreira de Freitas
13afd35868 wic: Add option --rootfs-dir to --source
The '--rootfs-dir' option is optional and only takes efect is a
partition is set up like this:

  part /standby --source rootfs --rootfs-dir=<special rootfs> ...

So '--rootfs-dir' is used instead of bitbake ROOTFS_DIR variable or
'-r' param.

(From OE-Core rev: d486db593e6643bd10b8fe90257d547a9f341043)

Signed-off-by: João Henrique Ferreira de Freitas <joaohf@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-30 10:10:35 +01:00
João Henrique Ferreira de Freitas
cbee7cb5f8 wic: Use partition label to be part of rootfs filename
When a partition from .wks file is set up like this:

  part /standby --source rootfs --rootfs-dir=<special rootfs> ... --label \
    --label secondary

This means that 'rootfs' must use '<special rootfs>' as rootfs and
the default partition filename in /var/tmp/wic/build/ will be create
using the '--label' as part of the name. E.g:

  /var/tmp/wic/build/rootfs_secondary.ext3

(From OE-Core rev: c7efb3a21618ce3069811042279a0d898237ac0f)

Signed-off-by: João Henrique Ferreira de Freitas <joaohf@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-30 10:10:35 +01:00
João Henrique Ferreira de Freitas
550e931734 wic: Add rootfs_dir argument to do_prepare_partition() method
The do_prepare_partition() method from RootfsPlugin class need
to know what will be the rootfs_dir. This makes sense when .wks
file has a partition set up like this:

  part /standby --source rootfs --rootfs-dir=<special rootfs> ...

then do_prepare_partition() will work with the correct rootfs.

(From OE-Core rev: 6042b097a8fc24f2b85eb9848fb007a3c6c090a9)

Signed-off-by: João Henrique Ferreira de Freitas <joaohf@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-30 10:10:35 +01:00
João Henrique Ferreira de Freitas
25d16c4934 wic: Hook up RootfsPlugin plugin
Remove the 'rootfs' case when internal call code is used and
replace to call the general-purpose plugin.

For now RootfsPluing class continues to invoke prepare_rootfs()
method from Wic_PartData. However RootfsPlugin could implement them.

(From OE-Core rev: 26cd93b79318cbfaebb971d1e728041904e015f1)

Signed-off-by: João Henrique Ferreira de Freitas <joaohf@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-30 10:10:34 +01:00
João Henrique Ferreira de Freitas
66bb67d0ff wic: Add RootfsPlugin
Implement RootfsPlugin class. The do_prepare_partition() method
is implemented using code in Wic_PartData class.

This class have 'rootfs' name, which is the name that should
be used in the --source parameters of the .wks partition commands.

(From OE-Core rev: 68dd66849bbaca6e3a0cf00beec0dba1c08e9070)

Signed-off-by: João Henrique Ferreira de Freitas <joaohf@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-30 10:10:34 +01:00
Tom Zanussi
7cb65151f8 wic: Fix bitbake_env_command for 'None' case
bitbake_env_command will choke if it isn't given an image, make sure
it does the right thing in that case.

(From OE-Core rev: a17f879cd5bc7401597ccee908801f8e3efa34c0)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-30 10:10:34 +01:00
João Henrique Ferreira de Freitas
7f880e2980 wic: Add SD/MMC-Cards support to '--ondisk' param
The special case when wic is set up to use SD/MMC-Cards in place
of sdX disks is not handled properly.

Append 'p' to the rootdev when disk is SD/MMC-Cards fix this situation.

(From OE-Core rev: 3a95c4549f743aa47456c76e687a863c64c7a7f4)

Signed-off-by: João Henrique Ferreira de Freitas <joaohf@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-27 09:42:06 +00:00
Tom Zanussi
f7fabf100c wic: Use pseudo for ext mkfs command
The switchover from populate-exfs.sh to mke2fs forgot to preserve
pseudo, add it back.

(From OE-Core rev: 032309928f931b32cf63a0ebf174de029ba17401)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-12 15:06:47 -07:00
João Henrique Ferreira de Freitas
2b4a00a65a wic: Use mke2fs to create the ext2/3/4 image
OE-core commit f3a95ca6886b55e5819b068bdbd2cceb882d91a6 removed the
populate-extfs.sh. So mke2fs should be used to create ext2/3/4 image.

(From OE-Core rev: 4dea928eef325364922b1e0cbabc2a581356e804)

Signed-off-by: João Henrique Ferreira de Freitas <joaohf@gmail.com>
Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-12 15:06:47 -07:00
Tom Zanussi
bb0c26960d wic: Make exec_native_command() fail if a command isn't found
Because exec_cmd() return values can in certain cases be non-zero yet
non-fatal, we don't want to automatically make them fatal (though
there should at least be a warning in such cases, which this patch
also does); non-zero return values are definitely fatal however if
they mean that a native command wasn't found, so have
exec_native_cmd() check the return value of exec_cmd() for that case,
and bail out if so.

[YOCTO #5835]

(From OE-Core rev: 43ac6e3216c5d985d6f90a28e727e397df616267)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-20 14:28:13 +00:00
Tom Zanussi
8e894d111d wic: Fix exec_native_cmd() path
The path exported in exec_native_cmd() includes bogus 'PATH=' which
means the native paths for all but the first will be ignored.

(From OE-Core rev: e10c1102d958ffc6b521fb36c6bc51d896503218)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-20 14:28:13 +00:00
Tom Zanussi
df634f3b1e wic: Honor --size for --source partititions
Instead of simply creating partitions large enough to contain the
contents of a --source partition (and adding a pre-specified amount of
padding), use the --size used in the partition .wks statement.

If --size isn't used, or is smaller than the actual --source size,
retain the current behavior.

(From OE-Core rev: 23b6c5ea4d48cdf731e5202991961a0e4b10ff29)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-09 09:40:01 +00:00
Tom Zanussi
82f9c2bcff wic: Hook up --debug option
Hook up the existing --debug option to toggle the wic debug loglevel,
which is indispensible when things go wrong, and make it easy to use
from the command-line.

(From OE-Core rev: a5ece6f37656fa56b97fd8faf52917345238d015)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-04 12:57:36 +00:00
Tom Zanussi
94b805f1b4 wic: Hook up BootimgEFIPlugin and BootimgPcbiosPlugin plugins
Remove all the Wic_PartData and DirectImageCreator code now
implemented by the BootimgEFIPlugin and BootimgPcbiosPlugin plugins,
as well as all the special-cased boot_type code, significantly
cleaning up the code.

Replace the calling code with general-purpose plugin invocations, in
essence calling the appropriate implementations at run-time based on
the --source value in effect.

Change the directdisk.wks and mkefidisk.wks scripts to make use of the
new plugins.

(From OE-Core rev: 43558610a5793888ff2b18bd3a27c7ab558e5ad0)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-04 12:57:36 +00:00
Tom Zanussi
e663d2f5c1 wic: Add BootimgEFIPlugin and BootimgPcbiosPlugin
Implement the BootimgPcbiosPlugin and BootimgEFIPlugin SourcePlugin
classes.  The configure/prepare_partition() methods are implemented
using code derived from similar code in the Wic_PartData class.

These classes have the corresponding names 'bootimg-pcbios' and
'bootimg-efi', which are the names that should be used in the --source
parameters of the .wks partition commands.

(From OE-Core rev: 6e147488b40f730e07f1e0f232083ed75388daa0)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-04 12:57:35 +00:00
Tom Zanussi
73ce09065f wic: Add SourcePlugin class
Define the SourcePlugin class, which is the class that should be
subclassed to create a 'source' plugin.

'Source' plugins provide a mechanism to customize various aspects of
the image generation process in wic, mainly the contents of
partitions.

The initial version of wic defined a --source param for partitions,
which was in the first revision hard-coded to two possible values:
rootfs and bootimg.

This patch essentially removes the hard-coded --bootimg param and
replaces it with a plugin system that maps the value specified as
--source to a particular 'source' plugin instead.

A 'source' plugin is created as a subclass of SourcePlugin and the
plugin file containing it is added to scriptsl/lib/mic/plugins/source/
to make the plugin implementation available to the wic implementation.

When the wic implementation needs to invoke a partition-specific
implementation, it looks for the plugin that has the same name as the
--source param given to that partition.  For example, if the partition
is set up like this:

  part /boot --source bootimg-pcbios   ...

then the methods defined as class members of the plugin having the
matching .name class member would be used.

To be more concrete, here's the plugin definition that would match a
'--source bootimg-pcbios' usage, along with an example method that
would be called by the wic implementation when it needed to invoke an
implementation-specific partition-preparation function:

  class BootimgPcbiosPlugin(SourcePlugin):
      name = 'bootimg-pcbios'

  @classmethod
      def do_prepare_partition(self, part, ...)

If the subclass itself doesn't implement a function, a 'default'
version in a superclass will be located and used, which is why all
plugins must be derived from SourcePlugin.

This scheme is extensible - adding more hooks is a simple matter of
adding more plugin methods to SourcePlugin and derived classes.  The
code that then needs to call the plugin methods the uses
plugin.get_source_plugin_methods() to find the method(s) needed by the
call; this is done by filling up a dict with keys containing the
methon names of interest - on success, these will be filled in with
the actual methods. fPlease see the implementation for examples and
details.

Note that a source plugin need not restrict itself to methods that
apply directly to partitions - methods can also be defined for higher
level processing such as at the 'disk' level.  The
get_default_source_plugin() of DirectImageCreator allows the default
source plugin to be retrieved; by default this is set to be the same
plugin used for the /boot partition, but that can be overridden by
specifying a different --source and therefore different plugin on the
'bootloader' line.  This isn't ideal, but it avoids forcing a new
high-level object to be defined for that purpose.

Note that the '--source rootfs' param remains as its current
hard-coded value, which is just the rootfs to be used to populate the
partition - by default, that's just the value of the bitbake
ROOTFS_DIR variable (or whatever was passed in using the -r param).
Note that this also could also be overridden by creating a source
plugin using a different name; at this point, unlike with bootimg,
there's been no need to do so.

(From OE-Core rev: 663833d8ecccb36ab42150bc5c9c00be79fa5b93)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-04 12:57:35 +00:00
Tom Zanussi
363488fc9a wic: Add wic-specific bootloader subclass
Add a new wic-specific bootloader subclass so we can add a --source
param to hang non-partition plugin off of.

By default, the bootloader gets the /boot partition source plugin, but
this can be overridden by the --source bootloader param if needed.

(From OE-Core rev: f90e4097c4e69d4f61c69923cb5d1ebb6b74d2ff)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-04 12:57:35 +00:00
Tom Zanussi
3cb93017e6 wic: Create and use new functions for getting bitbake variables
Add get_bitbake_var() and bitbake_env_lines() functions for use by
plugins, which will need access to them for customization.

(From OE-Core rev: f0bb47b0d7ab6520c105ce131844269172de3efd)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-04 12:57:35 +00:00
Tom Zanussi
534d9ba70a wic: Move some common items to oe.misc
Move a couple items into a more common location since they're going to
need to be accessible from source plugins.

(From OE-Core rev: 95ca523949e838850b5afa090ba16f91b8557c12)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-04 12:57:35 +00:00
Darren Hart
5612e2652d yocto-bsp: Add core2 and corei7 tune choice to x86_64
Update the x86_64 architecture bsp creator to include choices for core2
and corei7 tune files.

(From meta-yocto rev: 06a16db32eae5b2280642643009fa653dc6f7839)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Cc: Richard Purdie <richard.purdie@linuxfoundation.org>
Cc: Paul Eggleton <paul.eggleton@intel.com>
Cc: Tom Zanussi <tom.zanussi@intel.com>
Cc: Nitin Kamble <nitin.a.kamble@intel.com>
Cc: Mark Hatle <mark.hatle@windriver.com>
Cc: Bruce Ashfield <bruce.ashfield@windriver.com>
Cc: Martin Jansa <martin.jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-01-28 00:51:58 +00:00