summaryrefslogtreecommitdiffstats
path: root/scripts/lib/wic/utils/partitionedfs.py
Commit message (Collapse)AuthorAgeFilesLines
* wic: fix bug in handling fsoptionsEd Bartosh2016-04-141-19/+17
| | | | | | | | | | | | | | | | | Partitions specifying --fsoptions were silently skipped by wic due to the old bug introduced when removing code related to subvolume handling: - if mountpoint == "/" or not fsopts or fsopts.find("subvol=") == -1 + if mountpoint == "/" or not fsopts: [YOCTO #9396] (From OE-Core rev: be7ff1741e8ab5f2724b3f64da1bed8b0d3dcb7c) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Revert "wic/utils/partitionedfs.py: assemble .wic images as sparse files"Ross Burton2016-04-131-1/+1
| | | | | | | | | | | | | | It turns out that dd's conv=sparse doesn't look at the file extents, but simply checks if a "block" is all zero. If the block of zero was meaningful it gets lost and if the image is subsequently written to media using a sparse-aware writer then the block of zeros won't be written at all. This reverts commit 5fd592fbae2e046bcb8c3a6c3ef4993fe0400676. (From OE-Core rev: 63d15764cc2014dba9fee2186f0c8b97c2ac5682) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic/utils/partitionedfs.py: assemble .wic images as sparse filesJoshua Lock2016-04-091-1/+1
| | | | | | | | | | | | | | | | The individual partitions created by wic are sparse but without this change the assembled image is written as one (potentially very) large file. Preserve sparseness in the assembled image by passing the sparse conversion symbol. [YOCTO #9099] (From OE-Core rev: 5fd592fbae2e046bcb8c3a6c3ef4993fe0400676) Signed-off-by: Joshua Lock <joshua.lock@collabora.co.uk> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: fix short variable namesEd Bartosh2015-09-031-77/+77
| | | | | | | | | | | | Made short variable names longer and more readable. Fixed pylint warnings "Invalid variable name" and "Invalid argument name". (From OE-Core rev: 872cb0d5d79b26f34e6b35d7be8870d245021be4) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: Code cleanup: long lines, identation and whitespacesEd Bartosh2015-07-021-3/+2
| | | | | | | | | | Fixed pylint warnings bad-continuation, bad-continuation and line-too-long. (From OE-Core rev: db43e59f41b6bc19152cd4743585a3217015e272) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: Remove __write_partition methodEd Bartosh2015-07-021-21/+15
| | | | | | | | | | Moved code of __write_partition to 'assemble' method. This way it should be more readable. (From OE-Core rev: f7059362053c87f96ce68d1ab850962defb76540) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: Rename partition imagesEd Bartosh2015-07-021-0/+2
| | | | | | | | | | | Renamed partition images into <final image>.p<partition number> This should make output directory look more organized and easier to understand. (From OE-Core rev: c826939e4eeed034f39207089ec1a7ed87c1c493) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: Move validation of --ptable option to wks parserEd Bartosh2015-06-111-4/+0
| | | | | | | | | | | | | bootloader --ptable option has two valid choices: gpt and msdos Moved this check to wks parser by changing option type to 'choice'. Removed similar checks from 5 other places. (From OE-Core rev: b812d0f40423bc56394cc8b6fc92eb1f477dba1b) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: Set type GUID and UUID for partitionEd Bartosh2015-06-111-0/+15
| | | | | | | | | | | | | | | | | | Set type GUID and UUID for partition using sgdisk utility. Type GUID can be specified for partition in .wks with --part-type option. UUID is generated when --use-uuid option is specified for partition. [YOCTO #7716] (From OE-Core rev: c3cb9eb31570b2a92c8081a6b3716cb7443b1506) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: Add parameter 'uuid' to Image.add_partition methodEd Bartosh2015-06-111-2/+3
| | | | | | | | | | | With this parameter it's possible to pass generated UUID into Image class to set it for partition when it's created. (From OE-Core rev: e4bc71fa78b0d7a60aa85b8eb09a053545b61b84) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: pylinted partitionedfs.pyEd Bartosh2015-06-111-33/+30
| | | | | | | | | | Fixed some pylint findings in partitionedfs.py (From OE-Core rev: fcb891a391a34fad15d99edfea6b0f022fc0d1c9) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: replaced __run_parted with exec_native_cmdEd Bartosh2015-06-111-19/+13
| | | | | | | | | | There is no need for yet another wrapper around exec_native_cmd. (From OE-Core rev: f0f163e55865dc10d2a4188b5f2d759836c13f68) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: move checks to exec_native_cmdEd Bartosh2015-06-111-11/+1
| | | | | | | | | | | | | | Checked for return code and output of native commands inside exec_native_cmd. Removed similar code from a lot of places where exec_native_cmd is called. (From OE-Core rev: 9e3e933321d58c04619a585326fb291dbf2748f5) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: check if part_type is set only for msdos partition tableEd Bartosh2015-06-111-1/+1
| | | | | | | | | | | | | Specifying partition type(GUID) makes sense for gpt partition table. Current code checks if part-type is specified and throws exception if it is. This makes sense to do only for msdos partition table. (From OE-Core rev: 52dcccbead0c57d1a3f4afd2f9c7a38a985301ec) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: set legacy_boot flag for gpt partitionsEd Bartosh2015-06-111-1/+1
| | | | | | | | | | | This flag is used to tell special purpose software that the GPT partition may be bootable. (From OE-Core rev: 3ec5e2892c5ee312c44f4425096450a1914ce44a) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: code cleanup: wildcard importsEd Bartosh2015-04-241-3/+1
| | | | | | | | | | | | | Here is what PEP8(Style Guide for Python Code) says about this: Wildcard imports (from <module> import *) should be avoided, as they make it unclear which names are present in the namespace, confusing both readers and many automated tools. (From OE-Core rev: 13416c1941f5dc8abcdb0073f2104a89eae2d6f1) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: use native partedEd Bartosh2015-04-141-5/+6
| | | | | | | | | | | | | | | | | Used exec_native_cmd instead of find_binary_path to run parted. Got rid of find_binary_path as it's not used anywhere else. There are several tools wic is trying to find not only in sysroot, but also in host root. Parted is a special as on some distros it's installed in /usr/sbin, which is not in the user's PATH. This makes wic to fail with error "External command 'parted' not found, exiting." [YOCTO #7122] (From OE-Core rev: 76adf38c0d8e0faf04a5ecb3fcfbe831c85bb81f) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic:code cleanup: No space allowedEd Bartosh2015-04-131-4/+4
| | | | | | | | | | Fixed pylint warning 'No space allowed around keyword argument assignment' (From OE-Core rev: e07dd9b9c71960fbeded162ed52fbce06de620e9) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: support ontrackdm6aux3 partitionsAlexandre Belloni2015-04-091-0/+2
| | | | | | | | | | ontrack dm6 aux3 is a type of partition required to be able to boot a Freescale mxs based platform. (From OE-Core rev: aa2d05c58992810a5f816eef8078facf03a07e3c) Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: code cleanup: unused importsEd Bartosh2015-04-091-2/+0
| | | | | | | | | Fixed pylint warning 'Unused import' (From OE-Core rev: dfde8bdae3ae151ffed5777b920d24c774e5da2c) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: add GPT supportAlexandre Belloni2015-02-141-1/+8
| | | | | | | | | | Add GPT partition table support. (From OE-Core rev: a3479ab45d89273b4474ca54517554fc5346da32) 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>
* wic: allow creation of partitions not in tableAlexandre Belloni2015-02-141-5/+15
| | | | | | | | | | | | | | | | 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>
* wic: use kB for the partitions sizeAlexandre Belloni2015-02-081-2/+2
| | | | | | | | | | | | | | | | | | 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>
* wic: fix extended/logical partition layoutMaciej Borzecki2015-02-081-21/+19
| | | | | | | | | | | | | | | | | | | 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>
* scripts: use '/usr/bin/env' in shebangs with pythonMartin Hundebøll2014-11-121-1/+1
| | | | | | | | | | | | | | | | | | 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>
* wic: do not realign aligned partitionsMaciej Borzecki2014-08-231-8/+11
| | | | | | | | | | | | 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>
* wic: do not steal sectors from the first partitionMaciej Borzecki2014-08-231-3/+0
| | | | | | | | | | | | | | | | | | | | | | | 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>
* wic: Rename /mic to /wicTom Zanussi2014-08-111-0/+360
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>