summaryrefslogtreecommitdiffstats
path: root/scripts/lib/wic
AgeCommit message (Collapse)Author
2015-04-08wic: support ontrackdm6aux3 partitionsAlexandre Belloni
ontrack dm6 aux3 is a type of partition required to be able to boot a Freescale mxs based platform. Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-08wic: rawcopy: ensure comparison is done on intAlexandre Belloni
The size comparison may fail because it is done on strings rather than integers. Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-08wic: code cleanup: unused importsEd Bartosh
Fixed pylint warning 'Unused import' Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-20wic: Consider PSEUDO_* environment variablesEd Bartosh
Used default values of PSEUDO_* environment variables only if variables are not set. This allows to set custom PSEUDO_PREFIX and other pseudo variables in order to use pseudo database from non-standard locations. Change-Id: I0bc1af5e521121d1f96d590cb6edb23cf0cb0b83 Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com> Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-03-09wic: rawcopy: support skippingAlexandre Belloni
Add support for skipping the beginning of a file with the rawcopy plugin. Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-03-09wic: add fsimage pluginAlexandre Belloni
The fsimage plugin allows to add an already existing filesystem image in the partition layout. Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-03-09wic: fix fstab generationAlexandre Belloni
Commit 0a6668f6e60b4195ff4163c00fc972bacdb27b4b still included some debug and is not working properly as the new fstab is generated too late. Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-02-14wic: add GPT supportAlexandre Belloni
Add GPT partition table support. Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-02-14wic: properly label filesystemsAlexandre Belloni
Use the partition label option, when available, to label the filesystem. Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-02-14wic: fix empty btrfs partitionsAlexandre Belloni
btrfs emtpy partition creation is currently not working because of the usage of the non existant variables rootfs ans extra_imagecmd. It also as an incorrect size. Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-02-14wic: remove useless calls to __write_fstabAlexandre Belloni
__write_fstab() is already iterating over parts. There is now need to call it fort each parts. Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-02-14wic: allow to configure overhead factor per partitionAlexandre Belloni
Introduce a new option --overhead-factor to replace IMAGE_OVERHEAD_FACTOR. Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-02-14wic: allow to configure extra space per partitionAlexandre Belloni
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. Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-02-14wic: add rawcopy source pluginAlexandre Belloni
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-02-14wic: allow creation of partitions not in tableAlexandre Belloni
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. Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-02-07wic: bootimg-partition: Stop removing whole workdirAlexandre Belloni
Stop removing the whole working directory as this is also removing eventual previously created partition images, leading to image creation failures. Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-02-07wic: print partition alignment when availableAlexandre Belloni
When printing a partition, the --align parameter was shown when present but not its value. Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-02-07wic: use kB for the partitions sizeAlexandre Belloni
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. 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>
2015-02-07wic: bail out on kickstart parse errorsMaciej Borzecki
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. 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>
2015-02-07wic: fix extended/logical partition layoutMaciej Borzecki
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. 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>
2014-12-24wic: account for mmcblk device partition namingMaciej Borzecki
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. 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-19wic: add globbing support in IMAGE_BOOT_FILES entriesMaciej Borzecki
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. 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>
2014-12-19wic: IMAGE_BOOT_FILES format checks in bootimg-partition sourceMaciej Borzecki
Check for malformed entries in IMAGE_BOOT_FILES, fail early if such entries were found. 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>
2014-11-12scripts: use '/usr/bin/env' in shebangs with pythonMartin Hundebøll
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|' 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-10-30wic: Update bootimg-partition to use bootimg_dirTom Zanussi
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. Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30wic: Remove special-case bootimg_dirTom Zanussi
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. Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30wic: Use overhead factor when creating partitions from rootfs directoriesTom Zanussi
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]. Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30wic: Don't allow mkfs to fail silently in partition commandTom Zanussi
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]. Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-18wic/bootimg-pcbios.py: checking the existance of syslinuxHongxu Jia
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] Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2014-09-23wic: add new bootimg-partition pluginMaciej Borzecki
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. 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-23wic: fix vfat partition sector count only if neededMaciej Borzecki
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. 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-23wic: use IMAGE_EXTRA_SPACE for vfat rootfsMaciej Borzecki
Functions for generating rootfs use IMAGE_EXTRA_SPACE rather than BOOTDD_EXTRA_SPACE. The latter is used in boot image source plugins. 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-23wic: minor comment updateMaciej Borzecki
Update comment about types of generated partition images. 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-10wic: Completely remove all urlgrabber referencesTom Zanussi
The previous commit, 'wic: Remove 3rdparty/urlgrabber' didn't actually remove all references to urlgrabber - this does however. Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-23wic: do not realign aligned partitionsMaciej Borzecki
The change prevents additional realignment of already aligned partition. Previously, even already aligned partitions would be pushed forward by the amount of --align. 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-23wic: do not steal sectors from the first partitionMaciej Borzecki
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. 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-15wic: include partition label in fs image file nameMaciej Borzecki
Not including the label image but having multiple partitions of the same type, the image file of one partition would overwrite the other. 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-15wic: Add gummiboot support to bootimg-efiTom Zanussi
Add gummiboot support to bootimg-efi, which retains the existing grub-efi support (though requires an update to the .wks file). Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-15wic: Parse and pass sourceparams to partition plugin methodsTom Zanussi
Add code to parse the sourceparams and pass them to the partition plugin methods. Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-15wic: Add sourceparam param to partition plugin methodsTom Zanussi
The sourceparam param allows source plugins to be parameterized generically (via --sourceparams="key=val[,key=val], implemented previously). Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-15wic: Add utility function for parsing sourceparamsTom Zanussi
Parses strings of the form key1=val1[,key2=val2,...] and returns a dict. Also accepts valueless keys i.e. without =. Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-15wic: Add '--sourceparams' partition optionTom Zanussi
To go along with '--source' as a way to parameterize source plugins. Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-11wic: Bump the version to 2.0Tom Zanussi
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. Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
2014-08-11wic: Rename /mic to /wicTom Zanussi
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. Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>