aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/lib/mic/imager
AgeCommit message (Collapse)Author
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>
2014-08-11wic: Rename MountErrorTom Zanussi
wic doesn't mount anything, so can't have a mount error; rename it to something more appropriate. Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
2014-08-11wic: Rename PartitionedMountTom Zanussi
It's actually a container for disks and partitions, and wic doesn't mount anything, so rename it to match what it really is. Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
2014-08-11wic: Update/rename configure-related codeTom Zanussi
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. Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
2014-08-11wic: Update/rename install-related codeTom Zanussi
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. Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
2014-08-11wic: Update cleanup/unmount-related codeTom Zanussi
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(). Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
2014-08-11wic: Update/rename/delete mount-related codeTom Zanussi
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. Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
2014-08-11wic: Remove unused conf supportTom Zanussi
Also fix up users such as imager functions. Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
2014-08-11wic: Clean up DirectImageCreatorTom Zanussi
Remove what wic doesn't use from DirectImageCreator. Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
2014-08-11wic: Clean up BaseImageCreatorTom Zanussi
wic doesn't use a lot of BaseImageCreator, so remove it. Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
2014-08-11wic: Remove mic chrootTom Zanussi
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. Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
2014-07-26wic: do not overwrite autogenerated /etc/fstab with original too earlyMaciej Borzecki
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. 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-25wic: --fsoptions handlingMaciej Borzecki
Add handling of --fsoptions in parition definition. If no options are specified, 'defaults' is used. 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-03-30wic: Extend --rootfs-dir to connect rootfs-dirsJoão Henrique Ferreira de Freitas
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 Signed-off-by: João Henrique Ferreira de Freitas <joaohf@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-30wic: Report all ROOTFS_DIR artifactsJoão Henrique Ferreira de Freitas
When a .wks has more than one ROOTFS_DIR it's better to report all ROOTFS_DIR that was used to create the image. Signed-off-by: João Henrique Ferreira de Freitas <joaohf@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-26wic: Add SD/MMC-Cards support to '--ondisk' paramJoão Henrique Ferreira de Freitas
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. Signed-off-by: João Henrique Ferreira de Freitas <joaohf@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-04wic: Hook up BootimgEFIPlugin and BootimgPcbiosPlugin pluginsTom Zanussi
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. Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-04wic: Add wic-specific bootloader subclassTom Zanussi
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. Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-10-23wic: Remove rpmmisc call from livecdTom Zanussi
We don't currently use LiveCDImageCreator, but it makes calls when initialized via the plugin interface to rpmmisc module functions, which we don't want the dependency on. To make it (and LiveUSBImageCreator) happy, we give it the dummy "i386" value for now. Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-10-23wic: Remove rpm and grabber dependencies from BaseImageCreatorTom Zanussi
BaseImageCreator is a base class for DirectImageCreator and others, and imports rpm and grabber (which imports rpm). The various plugins e.g. DirectPlugin import the creators and therefore these dependencies, which manifest at run-time as e.g.: Warning: Failed to load plugin imager/direct_plugin: No module named rpm Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-10-23wic: Remove dependency on rpmmiscTom Zanussi
rpmmisc imports rpm and contains misc rpm utilities related to packaging and determining arches based on the packaging. We should never run across this in the initial version of wic, so remove the dependency. Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-10-01wic: Add OpenEmbedded-specific implementationTom Zanussi
Reuses the mic/livecd infrastructure but heavily subclasses and modifies it to adapt to the special needs of building images from existing OpenEmbedded build artifacts. In addition to the OE-specific mic objects and modifications to the underlying infrastructure, this adds a mechanism to allow OE kickstart files to be 'canned' and made available to users via the 'wic list images' command. Two initial OE kickstart files have been added as canned .wks files: directdisk, which implements the same thing as the images created by directdisk.bbclass, and mkefidisk, which can essentially be used as a replacement for mkefidisk.sh. Of course, since creation of these images are now driven by .wks files rather than being hard-coded into class files or scripts, they can be easily modified to generate different variations on those images. They also don't require root priveleges, since they don't use mount to create the images. They don't however write to media like mkefidisk.sh does, but rather create images that can be written onto media. 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>
2013-10-01wic: Add mic w/pykickstartTom Zanussi
This is the starting point for the implemention described in [YOCTO 3847] which came to the conclusion that it would make sense to use kickstart syntax to implement image creation in OpenEmbedded. I subsequently realized that there was an existing tool that already implemented image creation using kickstart syntax, the Tizen/Meego mic tool. As such, it made sense to use that as a starting point - this commit essentially just copies the relevant Python code from the MIC tool to the scripts/lib dir, where it can be accessed by the previously created wic tool. Most of this will be removed or renamed by later commits, since we're initially focusing on partitioning only. Care should be taken so that we can easily add back any additional functionality should we decide later to expand the tool, though (we may also want to contribute our local changes to the mic tool to the Tizen project if it makes sense, and therefore should avoid gratuitous changes to the original code if possible). Added the /mic subdir from Tizen mic repo as a starting point: git clone git://review.tizen.org/tools/mic.git For reference, the top commit: commit 20164175ddc234a17b8a12c33d04b012347b1530 Author: Gui Chen <gui.chen@intel.com> Date: Sun Jun 30 22:32:16 2013 -0400 bump up to 0.19.2 Also added the /plugins subdir, moved to under the /mic subdir (to match the default plugin_dir location in mic.conf.in, which was renamed to yocto-image.conf (moved and renamed by later patches) and put into /scripts. 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>