<p dir="ltr"><br>
On Sep 27, 2013 4:17 AM, "Tom Zanussi" <<a href="mailto:tom.zanussi@linux.intel.com">tom.zanussi@linux.intel.com</a>> wrote:<br>
><br>
> This patchset implements a new command named 'wic' (for OpenEmbedded<br>
> Image Creator). Please see [YOCTO #3847] for extensive background on<br>
> what's implemented here.</p>
<p dir="ltr">Nice !</p>
<p dir="ltr">Would it be possible to add the MIC as a recipe for native and nativesdk, with wic patches applied(easier to maintain), and could also enable wic to use a package repo when built for nativesdk.</p>
<p dir="ltr">Br,<br>
David<br><br></p>
<p dir="ltr">> This is a completely independent standalone utility that initially<br>
> provides easier-to-use and more flexible replacements for a couple<br>
> bits of existing functionality in oe-core: directdisk.bbclass and<br>
> mkefidisk.sh. The more interesting aspect of the current patchset<br>
> though is that the replaced (this patchset doesn't actually replace<br>
> those scripts, however) scripts are implemented by a general-purpose<br>
> partitioning 'language' based on Redhat kickstart syntax (with the<br>
> underlying code borrowed from Tizen mic, which in turn was borrowed<br>
> from Meego mic, in turn borrowed from Fedora livecd, etc.).<br>
><br>
> Though this patchset only uses the kickstart syntax related to<br>
> partitioning and bootloaders and only for creating images, because the<br>
> code is based on the mic/pykickstart code, future deployment efforts<br>
> such as those partially described by [YOCTO #4106], but also others<br>
> including package selection (from e.g. binary feeds) and deployment<br>
> configuration of users/network/services, etc, could be implemented<br>
> under this framework, considering that all of those are implemented<br>
> in some form by the base system.<br>
><br>
> The current patchset has successfully been used to generate and boot<br>
> images from core-image-minimal build artifacts using the 'mkefidisk'<br>
> kickstart file (in scripts/lib/image/canned-wks) on minnow and the<br>
> 'directdisk' kickstart file using both core-image-minimal and<br>
> core-image-sato artifacts for crownbay.<br>
><br>
> The 'wic' command generates partitioned images from existing<br>
> OpenEmbedded build artifacts. Image generation is driven by<br>
> partitioning commands contained in an 'Openembedded kickstart' (.wks)<br>
> file specified either directly on the command-line or as one of a<br>
> selection of canned .wks files (see 'wic list images'). When applied<br>
> to a given set of build artifacts, the result is an image or set of<br>
> images that can be directly written onto media and used on a<br>
> particular system.<br>
><br>
> It can be used in 'raw' mode, where artifacts are explicitly specified<br>
> via command-line arguments (see example below), or it can be used in a<br>
> more easily usable 'cooked' mode which uses the current MACHINE<br>
> setting and a specified image name to automatically locate the<br>
> artifacts used to create the image.<br>
><br>
> OE kickstart files (.wks) can of course be specified directly on the<br>
> command-line, but the user can also choose from a set of 'canned' .wks<br>
> files available via the 'wic list images' command (example below).<br>
><br>
> In any case, the prerequisite for generating any image is to have the<br>
> build artifacts already available. The below examples assume the user<br>
> has already build a 'core-image-minimal' for a specific machine<br>
> (future versions won't require this redundant step, but for now that's<br>
> typically how build artifacts get generated).<br>
><br>
> The other prerequisite is to source the build environment:<br>
><br>
> $ source oe-init-build-env<br>
><br>
> To start out with, we'll generate an image from one of the canned .wks<br>
> files. The following generates a list of availailable images:<br>
><br>
> $ wic list images<br>
> mkefidisk Create an EFI disk image<br>
> directdisk Create a 'pcbios' direct disk image<br>
><br>
> You can get more information about any of the available images by typing<br>
> 'wic list xxx help', where 'xxx' is one of the image names:<br>
><br>
> $ wic list mkefidisk help<br>
><br>
> Creates a partitioned EFI disk image that the user<br>
> can directly dd to boot media.<br>
><br>
> At any time, you can get help on the 'wic' command or any subcommand<br>
> (currently 'list' and 'create'). For instance, to get the description<br>
> of 'wic create' command and its parameters:<br>
><br>
> $ wic create<br>
><br>
> Usage:<br>
><br>
> Create a new OpenEmbedded image<br>
><br>
> usage: wic create <wks file or image name> [-o <DIRNAME> | --outdir <DIRNAME>]<br>
> [-i <JSON PROPERTY FILE> | --infile <JSON PROPERTY_FILE>]<br>
> [-e | --image-name] [-r, --rootfs-dir] [-b, --bootimg-dir]<br>
> [-k, --kernel-dir] [-n, --native-sysroot] [-s, --skip-build-check]<br>
><br>
> This command creates an OpenEmbedded image based on the 'OE kickstart<br>
> commands' found in the <wks file>.<br>
><br>
> The -o option can be used to place the image in a directory with a<br>
> different name and location.<br>
><br>
> See 'wic help create' for more detailed instructions.<br>
><br>
> ...<br>
><br>
> As mentioned in the command, you can get even more detailed information<br>
> by adding 'help' to the above:<br>
><br>
> $ wic help create<br>
><br>
> NAME<br>
> wic create - Create a new OpenEmbedded image<br>
><br>
> SYNOPSIS<br>
> wic create <wks file or image name> [-o <DIRNAME> | --outdir<br>
> <DIRNAME>]<br>
> [-i <JSON PROPERTY FILE> | --infile <JSON PROPERTY_FILE>]<br>
> [-e | --image-name] [-r, --rootfs-dir] [-b, --bootimg-dir]<br>
> [-k, --kernel-dir] [-n, --native-sysroot] [-s,<br>
> --skip-build-check]<br>
><br>
> DESCRIPTION<br>
> This command creates an OpenEmbedded image based on the 'OE<br>
> kickstart commands' found in the <wks file>.<br>
><br>
> In order to do this, wic needs to know the locations of the<br>
> various build artifacts required to build the image.<br>
><br>
> Users can explicitly specify the build artifact locations using<br>
> the -r, -b, -k, and -n options. See below for details on where<br>
> the corresponding artifacts are typically found in a normal<br>
> OpenEmbedded build.<br>
><br>
> Alternatively, users can use the -e option to have 'mic' determine<br>
> those locations for a given image. If the -e option is used, the<br>
> user needs to have set the appropriate MACHINE variable in<br>
> local.conf, and have sourced the build environment.<br>
><br>
> The -e option is used to specify the name of the image to use the<br>
> artifacts from e.g. core-image-sato.<br>
><br>
> The -r option is used to specify the path to the /rootfs dir to<br>
> use as the .wks rootfs source.<br>
><br>
> The -b option is used to specify the path to the dir containing<br>
> the boot artifacts (e.g. /EFI or /syslinux dirs) to use as the<br>
> .wks bootimg source.<br>
><br>
> The -k option is used to specify the path to the dir containing<br>
> the kernel to use in the .wks bootimg.<br>
><br>
> The -n option is used to specify the path to the native sysroot<br>
> containing the tools to use to build the image.<br>
><br>
> The -s option is used to skip the build check. The build check is<br>
> a simple sanity check used to determine whether the user has<br>
> sourced the build environment so that the -e option can operate<br>
> correctly. If the user has specified the build artifact locations<br>
> explicitly, 'wic' assumes the user knows what he or she is doing<br>
> and skips the build check.<br>
><br>
> When 'wic -e' is used, the locations for the build artifacts<br>
> values are determined by 'wic -e' from the output of the 'bitbake<br>
> -e' command given an image name e.g. 'core-image-minimal' and a<br>
> given machine set in local.conf. In that case, the image is<br>
> created as if the following 'bitbake -e' variables were used:<br>
><br>
> -r: IMAGE_ROOTFS<br>
> -k: STAGING_KERNEL_DIR<br>
> -n: STAGING_DIR_NATIVE<br>
> -b: HDDDIR and STAGING_DATA_DIR (handlers decide which to<br>
> use)<br>
><br>
> If 'wic -e' is not used, the user needs to select the appropriate<br>
> value for -b (as well as -r, -k, and -n).<br>
><br>
> The -o option can be used to place the image in a directory with a<br>
> different name and location.<br>
><br>
> As an alternative to the wks file, the image-specific properties<br>
> that define the values that will be used to generate a particular<br>
> image can be specified on the command-line using the -i option and<br>
> supplying a JSON object consisting of the set of name:value pairs<br>
> needed by image creation.<br>
><br>
> The set of properties available for a given image type can be<br>
> listed using the 'wic list' command.<br>
><br>
> So, the easiest way to create an image is to use the -e option with a<br>
> canned .wks file. To use the -e option, you need to specify the image<br>
> used to generate the artifacts and you actually need to have the MACHINE<br>
> used to build them specified in your local.conf (these requirements<br>
> aren't necessary if you aren't using the -e options. Below, we generate<br>
> a directdisk image, pointing the process at the core-image-minimal<br>
> artifacts for the current MACHINE:<br>
><br>
> $ wic create directdisk -e core-image-minimal<br>
><br>
> Checking basic build environment...<br>
> Done.<br>
><br>
> Creating image(s)...<br>
><br>
> Info: The new image(s) can be found here:<br>
> /var/tmp/wic/build/directdisk-201309252350-sda.direct<br>
><br>
> The following build artifacts were used to create the image(s):<br>
><br>
> ROOTFS_DIR: /home/trz/yocto/yocto-image/build/tmp/work/crownbay_noemgd-poky-linux/core-image-minimal/1.0-r0/rootfs<br>
> BOOTIMG_DIR: /home/trz/yocto/yocto-image/build/tmp/sysroots/crownbay-noemgd/usr/share<br>
> KERNEL_DIR: /home/trz/yocto/yocto-image/build/tmp/sysroots/crownbay-noemgd/usr/src/kernel<br>
> NATIVE_SYSROOT: /home/trz/yocto/yocto-image/build/tmp/sysroots/crownbay-noemgd/usr/src/kernel<br>
><br>
> The image(s) were created using OE kickstart file:<br>
> /home/trz/yocto/yocto-image/scripts/lib/image/canned-wks/directdisk.wks<br>
><br>
> The output shows the name and location of the image created, and so that<br>
> you know exactly what was used to generate the image, each of the<br>
> artifacts and the kickstart file used.<br>
><br>
> Similarly, I can create a 'mkefidisk' image in the same way (notice that<br>
> I'm using a different machine - because I'm using the -e option, I<br>
> needed to change the MACHINE in my local.conf):<br>
><br>
> $ wic create mkefidisk -e core-image-minimal<br>
> Checking basic build environment...<br>
> Done.<br>
><br>
> Creating image(s)...<br>
><br>
> Info: The new image(s) can be found here:<br>
> /var/tmp/wic/build/mkefidisk-201309260027-sda.direct<br>
><br>
> The following build artifacts were used to create the image(s):<br>
><br>
> ROOTFS_DIR: /home/trz/yocto/yocto-image/build/tmp/work/minnow-poky-linux/core-image-minimal/1.0-r0/rootfs<br>
> BOOTIMG_DIR: /home/trz/yocto/yocto-image/build/tmp/work/minnow-poky-linux/core-image-minimal/1.0-r0/core-image-minimal-1.0/hddimg<br>
> KERNEL_DIR: /home/trz/yocto/yocto-image/build/tmp/sysroots/minnow/usr/src/kernel<br>
> NATIVE_SYSROOT: /home/trz/yocto/yocto-image/build/tmp/sysroots/minnow/usr/src/kernel<br>
><br>
> The image(s) were created using OE kickstart file:<br>
> /home/trz/yocto/yocto-image/scripts/lib/image/canned-wks/mkefidisk.wks<br>
><br>
> Here's an example that doesn't take the easy way out and manually<br>
> specifies each build artifact, along with a non-canned .wks file, and<br>
> also uses the -o option to have wic create the output somewhere other<br>
> than the default /var/tmp/wic:<br>
><br>
> $ wic create ~/test.wks -o /home/trz/testwic<br>
> --rootfs-dir /home/trz/yocto/yocto-image/build/tmp/work/crownbay_noemgd-poky-linux/core-image-minimal/1.0-r0/rootfs --bootimg-dir /home/trz/yocto/yocto-image/build/tmp/sysroots/crownbay-noemgd/usr/share --kernel-dir /home/trz/yocto/yocto-image/build/tmp/sysroots/crownbay-noemgd/usr/src/kernel --native-sysroot /home/trz/yocto/yocto-image/build/tmp/sysroots/x86_64-linux<br>
><br>
> Creating image(s)...<br>
><br>
> Info: The new image(s) can be found here:<br>
> /home/trz/testwic/build/test-201309260032-sda.direct<br>
><br>
> The following build artifacts were used to create the image(s):<br>
><br>
> ROOTFS_DIR: /home/trz/yocto/yocto-image/build/tmp/work/crownbay_noemgd-poky-linux/core-image-minimal/1.0-r0/rootfs<br>
> BOOTIMG_DIR: /home/trz/yocto/yocto-image/build/tmp/sysroots/crownbay-noemgd/usr/share<br>
> KERNEL_DIR: /home/trz/yocto/yocto-image/build/tmp/sysroots/crownbay-noemgd/usr/src/kernel<br>
> NATIVE_SYSROOT: /home/trz/yocto/yocto-image/build/tmp/sysroots/crownbay-noemgd/usr/src/kernel<br>
><br>
> The image(s) were created using OE kickstart file:<br>
> /home/trz/test.wks<br>
><br>
> Finally, here's an example of the actual partition language commands<br>
> used to generate the mkefidisk image i.e. these are the contents of the<br>
> mkefidisk.wks OE kickstart file:<br>
><br>
> # short-description: Create an EFI disk image<br>
> # long-description: Creates a partitioned EFI disk image that the user<br>
> # can directly dd to boot media.<br>
><br>
> part /boot --source bootimg --ondisk sda --fstype=efi --label msdos --active --align 1024<br>
><br>
> part / --source rootfs --ondisk sda --fstype=ext3 --label platform --align 1024<br>
><br>
> part swap --ondisk sda --size 44 --label swap1 --fstype=swap<br>
><br>
> bootloader --timeout=10 --append="rootwait rootfstype=ext3 console=ttyPCH0,115200 console=tty0 vmalloc=256MB snd-hda-intel.enable_msi=0"<br>
><br>
> The initial 'wic' implementation here supports only the basic<br>
> kickstart partitioning commands: 'partition' (or 'part' for short) and<br>
> 'bootloader'.<br>
><br>
> Currently, only the options used in the 'canned' scripts (in<br>
> scripts/lib/image/canned-wks) are supported.<br>
><br>
> They're listed below and mostly follow the syntax and meaning of the<br>
> standard kickstart options for those commands:<br>
><br>
> <a href="http://fedoraproject.org/wiki/Anaconda/Kickstart#part_or_partition">http://fedoraproject.org/wiki/Anaconda/Kickstart#part_or_partition</a><br>
> <a href="http://fedoraproject.org/wiki/Anaconda/Kickstart#bootloader">http://fedoraproject.org/wiki/Anaconda/Kickstart#bootloader</a><br>
><br>
> For the 'partition' ('part') command, here are the supported options:<br>
><br>
> --source<br>
> bootimg<br>
> rootfs<br>
> --ondisk sda<br>
> --size size (in mB)<br>
> --fstype<br>
> msdos<br>
> efi<br>
> ext4<br>
> ext3<br>
> ext2<br>
> btrfs<br>
> swap<br>
> --label label<br>
> --active<br>
> ---align (in kB)<br>
><br>
> The --source option is a wic-specific option that can currently have<br>
> one of two values, 'bootimg' or 'rootfs'.<br>
><br>
> If '--source rootfs' is used, it tells the wic command to create a<br>
> partition as large as needed to fill with the contents of /rootfs<br>
> (specified by the -r 'wic' option) and to fill it with the contents of<br>
> /rootfs.<br>
><br>
> If '--source bootimg' is used, it tells the wic command to create a<br>
> partition as large as needed to fill with the contents of the boot<br>
> partition (specified by the -b 'wic' option). Exactly what those<br>
> contents are depend on the value of the --fstype option for that<br>
> partition. If '--fstype=efi' is specified, the boot artifacts<br>
> contained in HDDDIR are used, and if '--fstype=msdos' is specified,<br>
> the boot artifacts found in STAGING_DATADIR are used.<br>
><br>
> The '--align' option is a mic-specific option that says to start a<br>
> partition on an x kB boundary.<br>
><br>
> For the 'bootloader' command, these are the supported options:<br>
><br>
> --timeout<br>
> --append<br>
><br>
> Future updates will implement more options - using anything not<br>
> explicitly supported can result in unpredicable results.<br>
><br>
><br>
> The following changes since commit b049d532f6e0ab9e458e486f81b00be47ee69acf:<br>
><br>
> testimage: Exclude BB_ORIGENV variable (2013-09-26 17:27:02 +0100)<br>
><br>
> are available in the git repository at:<br>
><br>
> git://<a href="http://git.yoctoproject.org/poky-contrib.git">git.yoctoproject.org/poky-contrib.git</a> tzanussi/wic-v1<br>
> <a href="http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/log/?h=tzanussi/wic-v1">http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/log/?h=tzanussi/wic-v1</a><br>
><br>
> Tom Zanussi (3):<br>
> wic: Initial code for wic (OpenEmbedded Image Creator)<br>
> wic: Add mic w/pykickstart<br>
> wic: Add OpenEmbedded-specific implementation<br>
><br>
> scripts/lib/image/__init__.py | 22 +<br>
> scripts/lib/image/canned-wks/directdisk.wks | 10 +<br>
> scripts/lib/image/canned-wks/mkefidisk.wks | 11 +<br>
> scripts/lib/image/config/wic.conf | 7 +<br>
> scripts/lib/image/engine.py | 280 ++++<br>
> scripts/lib/image/help.py | 311 ++++<br>
> scripts/lib/mic/3rdparty/pykickstart/base.py | 466 ++++++<br>
> .../mic/3rdparty/pykickstart/commands/__init__.py | 26 +<br>
> .../3rdparty/pykickstart/commands/authconfig.py | 40 +<br>
> .../mic/3rdparty/pykickstart/commands/autopart.py | 119 ++<br>
> .../mic/3rdparty/pykickstart/commands/autostep.py | 55 +<br>
> .../3rdparty/pykickstart/commands/bootloader.py | 265 ++++<br>
> .../mic/3rdparty/pykickstart/commands/clearpart.py | 86 ++<br>
> .../mic/3rdparty/pykickstart/commands/device.py | 125 ++<br>
> .../3rdparty/pykickstart/commands/deviceprobe.py | 40 +<br>
> .../3rdparty/pykickstart/commands/displaymode.py | 68 +<br>
> .../mic/3rdparty/pykickstart/commands/dmraid.py | 91 ++<br>
> .../3rdparty/pykickstart/commands/driverdisk.py | 184 +++<br>
> .../lib/mic/3rdparty/pykickstart/commands/fcoe.py | 114 ++<br>
> .../mic/3rdparty/pykickstart/commands/firewall.py | 193 +++<br>
> .../mic/3rdparty/pykickstart/commands/firstboot.py | 62 +<br>
> .../lib/mic/3rdparty/pykickstart/commands/group.py | 88 ++<br>
> .../3rdparty/pykickstart/commands/ignoredisk.py | 139 ++<br>
> .../3rdparty/pykickstart/commands/interactive.py | 58 +<br>
> .../lib/mic/3rdparty/pykickstart/commands/iscsi.py | 133 ++<br>
> .../mic/3rdparty/pykickstart/commands/iscsiname.py | 54 +<br>
> .../lib/mic/3rdparty/pykickstart/commands/key.py | 64 +<br>
> .../mic/3rdparty/pykickstart/commands/keyboard.py | 55 +<br>
> .../lib/mic/3rdparty/pykickstart/commands/lang.py | 60 +<br>
> .../3rdparty/pykickstart/commands/langsupport.py | 58 +<br>
> .../mic/3rdparty/pykickstart/commands/lilocheck.py | 54 +<br>
> .../mic/3rdparty/pykickstart/commands/logging.py | 66 +<br>
> .../mic/3rdparty/pykickstart/commands/logvol.py | 304 ++++<br>
> .../3rdparty/pykickstart/commands/mediacheck.py | 53 +<br>
> .../mic/3rdparty/pykickstart/commands/method.py | 186 +++<br>
> .../mic/3rdparty/pykickstart/commands/monitor.py | 106 ++<br>
> .../lib/mic/3rdparty/pykickstart/commands/mouse.py | 70 +<br>
> .../mic/3rdparty/pykickstart/commands/multipath.py | 111 ++<br>
> .../mic/3rdparty/pykickstart/commands/network.py | 363 +++++<br>
> .../mic/3rdparty/pykickstart/commands/partition.py | 353 +++++<br>
> .../lib/mic/3rdparty/pykickstart/commands/raid.py | 365 +++++<br>
> .../mic/3rdparty/pykickstart/commands/reboot.py | 79 +<br>
> .../lib/mic/3rdparty/pykickstart/commands/repo.py | 249 +++<br>
> .../mic/3rdparty/pykickstart/commands/rescue.py | 68 +<br>
> .../mic/3rdparty/pykickstart/commands/rootpw.py | 93 ++<br>
> .../mic/3rdparty/pykickstart/commands/selinux.py | 64 +<br>
> .../mic/3rdparty/pykickstart/commands/services.py | 71 +<br>
> .../lib/mic/3rdparty/pykickstart/commands/skipx.py | 54 +<br>
> .../lib/mic/3rdparty/pykickstart/commands/sshpw.py | 105 ++<br>
> .../mic/3rdparty/pykickstart/commands/timezone.py | 86 ++<br>
> .../mic/3rdparty/pykickstart/commands/updates.py | 60 +<br>
> .../mic/3rdparty/pykickstart/commands/upgrade.py | 106 ++<br>
> .../lib/mic/3rdparty/pykickstart/commands/user.py | 173 +++<br>
> .../lib/mic/3rdparty/pykickstart/commands/vnc.py | 114 ++<br>
> .../mic/3rdparty/pykickstart/commands/volgroup.py | 102 ++<br>
> .../mic/3rdparty/pykickstart/commands/xconfig.py | 184 +++<br>
> .../mic/3rdparty/pykickstart/commands/zerombr.py | 69 +<br>
> .../lib/mic/3rdparty/pykickstart/commands/zfcp.py | 134 ++<br>
> scripts/lib/mic/3rdparty/pykickstart/constants.py | 57 +<br>
> scripts/lib/mic/3rdparty/pykickstart/errors.py | 103 ++<br>
> .../mic/3rdparty/pykickstart/handlers/control.py | 1307 ++++++++++++++++<br>
> .../lib/mic/3rdparty/pykickstart/handlers/f10.py | 24 +<br>
> .../lib/mic/3rdparty/pykickstart/handlers/f11.py | 24 +<br>
> .../lib/mic/3rdparty/pykickstart/handlers/f12.py | 24 +<br>
> .../lib/mic/3rdparty/pykickstart/handlers/f13.py | 24 +<br>
> .../lib/mic/3rdparty/pykickstart/handlers/f14.py | 24 +<br>
> .../lib/mic/3rdparty/pykickstart/handlers/f15.py | 24 +<br>
> .../lib/mic/3rdparty/pykickstart/handlers/f16.py | 24 +<br>
> .../lib/mic/3rdparty/pykickstart/handlers/f7.py | 24 +<br>
> .../lib/mic/3rdparty/pykickstart/handlers/f8.py | 24 +<br>
> .../lib/mic/3rdparty/pykickstart/handlers/f9.py | 24 +<br>
> .../lib/mic/3rdparty/pykickstart/handlers/fc3.py | 24 +<br>
> .../lib/mic/3rdparty/pykickstart/handlers/fc4.py | 24 +<br>
> .../lib/mic/3rdparty/pykickstart/handlers/fc5.py | 24 +<br>
> .../lib/mic/3rdparty/pykickstart/handlers/fc6.py | 24 +<br>
> .../lib/mic/3rdparty/pykickstart/handlers/rhel3.py | 24 +<br>
> .../lib/mic/3rdparty/pykickstart/handlers/rhel4.py | 24 +<br>
> .../lib/mic/3rdparty/pykickstart/handlers/rhel5.py | 24 +<br>
> .../lib/mic/3rdparty/pykickstart/handlers/rhel6.py | 24 +<br>
> scripts/lib/mic/3rdparty/pykickstart/ko.py | 37 +<br>
> scripts/lib/mic/3rdparty/pykickstart/options.py | 204 +++<br>
> scripts/lib/mic/3rdparty/pykickstart/parser.py | 702 +++++++++<br>
> scripts/lib/mic/3rdparty/pykickstart/sections.py | 244 +++<br>
> .../3rdparty/pykickstart/urlgrabber/__init__.py | 53 +<br>
> .../3rdparty/pykickstart/urlgrabber/byterange.py | 463 ++++++<br>
> .../mic/3rdparty/pykickstart/urlgrabber/grabber.py | 1477 ++++++++++++++++++<br>
> .../3rdparty/pykickstart/urlgrabber/keepalive.py | 617 ++++++++<br>
> .../mic/3rdparty/pykickstart/urlgrabber/mirror.py | 458 ++++++<br>
> .../3rdparty/pykickstart/urlgrabber/progress.py | 530 +++++++<br>
> .../3rdparty/pykickstart/urlgrabber/sslfactory.py | 90 ++<br>
> scripts/lib/mic/3rdparty/pykickstart/version.py | 197 +++<br>
> scripts/lib/mic/__init__.py | 4 +<br>
> scripts/lib/mic/__version__.py | 1 +<br>
> scripts/lib/mic/bootstrap.py | 279 ++++<br>
> scripts/lib/mic/chroot.py | 343 +++++<br>
> scripts/lib/mic/conf.py | 201 +++<br>
> scripts/lib/mic/creator.py | 351 +++++<br>
> scripts/lib/mic/imager/baseimager.py | 1265 ++++++++++++++++<br>
> scripts/lib/mic/imager/direct.py | 472 ++++++<br>
> scripts/lib/mic/imager/fs.py | 99 ++<br>
> scripts/lib/mic/imager/livecd.py | 750 +++++++++<br>
> scripts/lib/mic/imager/liveusb.py | 308 ++++<br>
> scripts/lib/mic/imager/loop.py | 418 ++++++<br>
> scripts/lib/mic/imager/raw.py | 501 +++++++<br>
> scripts/lib/mic/kickstart/__init__.py | 892 +++++++++++<br>
> .../lib/mic/kickstart/custom_commands/__init__.py | 17 +<br>
> .../lib/mic/kickstart/custom_commands/desktop.py | 95 ++<br>
> .../mic/kickstart/custom_commands/installerfw.py | 63 +<br>
> .../lib/mic/kickstart/custom_commands/micboot.py | 49 +<br>
> .../mic/kickstart/custom_commands/micpartition.py | 57 +<br>
> .../lib/mic/kickstart/custom_commands/micrepo.py | 127 ++<br>
> .../lib/mic/kickstart/custom_commands/partition.py | 370 +++++<br>
> scripts/lib/mic/msger.py | 309 ++++<br>
> scripts/lib/mic/plugin.py | 102 ++<br>
> scripts/lib/mic/pluginbase.py | 101 ++<br>
> scripts/lib/mic/plugins/backend/yumpkgmgr.py | 490 ++++++<br>
> scripts/lib/mic/plugins/backend/zypppkgmgr.py | 973 ++++++++++++<br>
> scripts/lib/mic/plugins/hook/empty_hook.py | 3 +<br>
> scripts/lib/mic/plugins/imager/direct_plugin.py | 92 ++<br>
> scripts/lib/mic/plugins/imager/fs_plugin.py | 143 ++<br>
> scripts/lib/mic/plugins/imager/livecd_plugin.py | 255 ++++<br>
> scripts/lib/mic/plugins/imager/liveusb_plugin.py | 260 ++++<br>
> scripts/lib/mic/plugins/imager/loop_plugin.py | 255 ++++<br>
> scripts/lib/mic/plugins/imager/raw_plugin.py | 275 ++++<br>
> scripts/lib/mic/rt_util.py | 223 +++<br>
> scripts/lib/mic/test | 1 +<br>
> scripts/lib/mic/utils/BmapCreate.py | 298 ++++<br>
> scripts/lib/mic/utils/Fiemap.py | 252 ++++<br>
> scripts/lib/mic/utils/cmdln.py | 1586 ++++++++++++++++++++<br>
> scripts/lib/mic/utils/errors.py | 71 +<br>
> scripts/lib/mic/utils/fs_related.py | 1057 +++++++++++++<br>
> scripts/lib/mic/utils/gpt_parser.py | 331 ++++<br>
> scripts/lib/mic/utils/grabber.py | 97 ++<br>
> scripts/lib/mic/utils/misc.py | 1067 +++++++++++++<br>
> scripts/lib/mic/utils/oe/__init__.py | 22 +<br>
> scripts/lib/mic/utils/oe/misc.py | 108 ++<br>
> scripts/lib/mic/utils/partitionedfs.py | 776 ++++++++++<br>
> scripts/lib/mic/utils/proxy.py | 183 +++<br>
> scripts/lib/mic/utils/rpmmisc.py | 600 ++++++++<br>
> scripts/lib/mic/utils/runner.py | 109 ++<br>
> scripts/wic | 185 +++<br>
> 141 files changed, 30983 insertions(+)<br>
> create mode 100644 scripts/lib/image/__init__.py<br>
> create mode 100644 scripts/lib/image/canned-wks/directdisk.wks<br>
> create mode 100644 scripts/lib/image/canned-wks/mkefidisk.wks<br>
> create mode 100644 scripts/lib/image/config/wic.conf<br>
> create mode 100644 scripts/lib/image/engine.py<br>
> create mode 100644 scripts/lib/image/help.py<br>
> create mode 100644 scripts/lib/mic/3rdparty/pykickstart/__init__.py<br>
> create mode 100644 scripts/lib/mic/3rdparty/pykickstart/base.py<br>
> create mode 100644 scripts/lib/mic/3rdparty/pykickstart/commands/__init__.py<br>
> create mode 100644 scripts/lib/mic/3rdparty/pykickstart/commands/authconfig.py<br>
> create mode 100644 scripts/lib/mic/3rdparty/pykickstart/commands/autopart.py<br>
> create mode 100644 scripts/lib/mic/3rdparty/pykickstart/commands/autostep.py<br>
> create mode 100644 scripts/lib/mic/3rdparty/pykickstart/commands/bootloader.py<br>
> create mode 100644 scripts/lib/mic/3rdparty/pykickstart/commands/clearpart.py<br>
> create mode 100644 scripts/lib/mic/3rdparty/pykickstart/commands/device.py<br>
> create mode 100644 scripts/lib/mic/3rdparty/pykickstart/commands/deviceprobe.py<br>
> create mode 100644 scripts/lib/mic/3rdparty/pykickstart/commands/displaymode.py<br>
> create mode 100644 scripts/lib/mic/3rdparty/pykickstart/commands/dmraid.py<br>
> create mode 100644 scripts/lib/mic/3rdparty/pykickstart/commands/driverdisk.py<br>
> create mode 100644 scripts/lib/mic/3rdparty/pykickstart/commands/fcoe.py<br>
> create mode 100644 scripts/lib/mic/3rdparty/pykickstart/commands/firewall.py<br>
> create mode 100644 scripts/lib/mic/3rdparty/pykickstart/commands/firstboot.py<br>
> create mode 100644 scripts/lib/mic/3rdparty/pykickstart/commands/group.py<br>
> create mode 100644 scripts/lib/mic/3rdparty/pykickstart/commands/ignoredisk.py<br>
> create mode 100644 scripts/lib/mic/3rdparty/pykickstart/commands/interactive.py<br>
> create mode 100644 scripts/lib/mic/3rdparty/pykickstart/commands/iscsi.py<br>
> create mode 100644 scripts/lib/mic/3rdparty/pykickstart/commands/iscsiname.py<br>
> create mode 100644 scripts/lib/mic/3rdparty/pykickstart/commands/key.py<br>
> create mode 100644 scripts/lib/mic/3rdparty/pykickstart/commands/keyboard.py<br>
> create mode 100644 scripts/lib/mic/3rdparty/pykickstart/commands/lang.py<br>
> create mode 100644 scripts/lib/mic/3rdparty/pykickstart/commands/langsupport.py<br>
> create mode 100644 scripts/lib/mic/3rdparty/pykickstart/commands/lilocheck.py<br>
> create mode 100644 scripts/lib/mic/3rdparty/pykickstart/commands/logging.py<br>
> create mode 100644 scripts/lib/mic/3rdparty/pykickstart/commands/logvol.py<br>
> create mode 100644 scripts/lib/mic/3rdparty/pykickstart/commands/mediacheck.py<br>
> create mode 100644 scripts/lib/mic/3rdparty/pykickstart/commands/method.py<br>
> create mode 100644 scripts/lib/mic/3rdparty/pykickstart/commands/monitor.py<br>
> create mode 100644 scripts/lib/mic/3rdparty/pykickstart/commands/mouse.py<br>
> create mode 100644 scripts/lib/mic/3rdparty/pykickstart/commands/multipath.py<br>
> create mode 100644 scripts/lib/mic/3rdparty/pykickstart/commands/network.py<br>
> create mode 100644 scripts/lib/mic/3rdparty/pykickstart/commands/partition.py<br>
> create mode 100644 scripts/lib/mic/3rdparty/pykickstart/commands/raid.py<br>
> create mode 100644 scripts/lib/mic/3rdparty/pykickstart/commands/reboot.py<br>
> create mode 100644 scripts/lib/mic/3rdparty/pykickstart/commands/repo.py<br>
> create mode 100644 scripts/lib/mic/3rdparty/pykickstart/commands/rescue.py<br>
> create mode 100644 scripts/lib/mic/3rdparty/pykickstart/commands/rootpw.py<br>
> create mode 100644 scripts/lib/mic/3rdparty/pykickstart/commands/selinux.py<br>
> create mode 100644 scripts/lib/mic/3rdparty/pykickstart/commands/services.py<br>
> create mode 100644 scripts/lib/mic/3rdparty/pykickstart/commands/skipx.py<br>
> create mode 100644 scripts/lib/mic/3rdparty/pykickstart/commands/sshpw.py<br>
> create mode 100644 scripts/lib/mic/3rdparty/pykickstart/commands/timezone.py<br>
> create mode 100644 scripts/lib/mic/3rdparty/pykickstart/commands/updates.py<br>
> create mode 100644 scripts/lib/mic/3rdparty/pykickstart/commands/upgrade.py<br>
> create mode 100644 scripts/lib/mic/3rdparty/pykickstart/commands/user.py<br>
> create mode 100644 scripts/lib/mic/3rdparty/pykickstart/commands/vnc.py<br>
> create mode 100644 scripts/lib/mic/3rdparty/pykickstart/commands/volgroup.py<br>
> create mode 100644 scripts/lib/mic/3rdparty/pykickstart/commands/xconfig.py<br>
> create mode 100644 scripts/lib/mic/3rdparty/pykickstart/commands/zerombr.py<br>
> create mode 100644 scripts/lib/mic/3rdparty/pykickstart/commands/zfcp.py<br>
> create mode 100644 scripts/lib/mic/3rdparty/pykickstart/constants.py<br>
> create mode 100644 scripts/lib/mic/3rdparty/pykickstart/errors.py<br>
> create mode 100644 scripts/lib/mic/3rdparty/pykickstart/handlers/__init__.py<br>
> create mode 100644 scripts/lib/mic/3rdparty/pykickstart/handlers/control.py<br>
> create mode 100644 scripts/lib/mic/3rdparty/pykickstart/handlers/f10.py<br>
> create mode 100644 scripts/lib/mic/3rdparty/pykickstart/handlers/f11.py<br>
> create mode 100644 scripts/lib/mic/3rdparty/pykickstart/handlers/f12.py<br>
> create mode 100644 scripts/lib/mic/3rdparty/pykickstart/handlers/f13.py<br>
> create mode 100644 scripts/lib/mic/3rdparty/pykickstart/handlers/f14.py<br>
> create mode 100644 scripts/lib/mic/3rdparty/pykickstart/handlers/f15.py<br>
> create mode 100644 scripts/lib/mic/3rdparty/pykickstart/handlers/f16.py<br>
> create mode 100644 scripts/lib/mic/3rdparty/pykickstart/handlers/f7.py<br>
> create mode 100644 scripts/lib/mic/3rdparty/pykickstart/handlers/f8.py<br>
> create mode 100644 scripts/lib/mic/3rdparty/pykickstart/handlers/f9.py<br>
> create mode 100644 scripts/lib/mic/3rdparty/pykickstart/handlers/fc3.py<br>
> create mode 100644 scripts/lib/mic/3rdparty/pykickstart/handlers/fc4.py<br>
> create mode 100644 scripts/lib/mic/3rdparty/pykickstart/handlers/fc5.py<br>
> create mode 100644 scripts/lib/mic/3rdparty/pykickstart/handlers/fc6.py<br>
> create mode 100644 scripts/lib/mic/3rdparty/pykickstart/handlers/rhel3.py<br>
> create mode 100644 scripts/lib/mic/3rdparty/pykickstart/handlers/rhel4.py<br>
> create mode 100644 scripts/lib/mic/3rdparty/pykickstart/handlers/rhel5.py<br>
> create mode 100644 scripts/lib/mic/3rdparty/pykickstart/handlers/rhel6.py<br>
> create mode 100644 scripts/lib/mic/3rdparty/pykickstart/ko.py<br>
> create mode 100644 scripts/lib/mic/3rdparty/pykickstart/options.py<br>
> create mode 100644 scripts/lib/mic/3rdparty/pykickstart/parser.py<br>
> create mode 100644 scripts/lib/mic/3rdparty/pykickstart/sections.py<br>
> create mode 100644 scripts/lib/mic/3rdparty/pykickstart/urlgrabber/__init__.py<br>
> create mode 100644 scripts/lib/mic/3rdparty/pykickstart/urlgrabber/byterange.py<br>
> create mode 100644 scripts/lib/mic/3rdparty/pykickstart/urlgrabber/grabber.py<br>
> create mode 100644 scripts/lib/mic/3rdparty/pykickstart/urlgrabber/keepalive.py<br>
> create mode 100644 scripts/lib/mic/3rdparty/pykickstart/urlgrabber/mirror.py<br>
> create mode 100644 scripts/lib/mic/3rdparty/pykickstart/urlgrabber/progress.py<br>
> create mode 100644 scripts/lib/mic/3rdparty/pykickstart/urlgrabber/sslfactory.py<br>
> create mode 100644 scripts/lib/mic/3rdparty/pykickstart/version.py<br>
> create mode 100644 scripts/lib/mic/__init__.py<br>
> create mode 100644 scripts/lib/mic/__version__.py<br>
> create mode 100644 scripts/lib/mic/bootstrap.py<br>
> create mode 100644 scripts/lib/mic/chroot.py<br>
> create mode 100644 scripts/lib/mic/conf.py<br>
> create mode 100644 scripts/lib/mic/creator.py<br>
> create mode 100644 scripts/lib/mic/imager/__init__.py<br>
> create mode 100644 scripts/lib/mic/imager/baseimager.py<br>
> create mode 100644 scripts/lib/mic/imager/direct.py<br>
> create mode 100644 scripts/lib/mic/imager/fs.py<br>
> create mode 100644 scripts/lib/mic/imager/livecd.py<br>
> create mode 100644 scripts/lib/mic/imager/liveusb.py<br>
> create mode 100644 scripts/lib/mic/imager/loop.py<br>
> create mode 100644 scripts/lib/mic/imager/raw.py<br>
> create mode 100644 scripts/lib/mic/kickstart/__init__.py<br>
> create mode 100644 scripts/lib/mic/kickstart/custom_commands/__init__.py<br>
> create mode 100644 scripts/lib/mic/kickstart/custom_commands/desktop.py<br>
> create mode 100644 scripts/lib/mic/kickstart/custom_commands/installerfw.py<br>
> create mode 100644 scripts/lib/mic/kickstart/custom_commands/micboot.py<br>
> create mode 100644 scripts/lib/mic/kickstart/custom_commands/micpartition.py<br>
> create mode 100644 scripts/lib/mic/kickstart/custom_commands/micrepo.py<br>
> create mode 100644 scripts/lib/mic/kickstart/custom_commands/partition.py<br>
> create mode 100644 scripts/lib/mic/msger.py<br>
> create mode 100644 scripts/lib/mic/plugin.py<br>
> create mode 100644 scripts/lib/mic/pluginbase.py<br>
> create mode 100644 scripts/lib/mic/plugins/backend/yumpkgmgr.py<br>
> create mode 100755 scripts/lib/mic/plugins/backend/zypppkgmgr.py<br>
> create mode 100644 scripts/lib/mic/plugins/hook/.py<br>
> create mode 100644 scripts/lib/mic/plugins/hook/empty_hook.py<br>
> create mode 100644 scripts/lib/mic/plugins/imager/direct_plugin.py<br>
> create mode 100644 scripts/lib/mic/plugins/imager/fs_plugin.py<br>
> create mode 100644 scripts/lib/mic/plugins/imager/livecd_plugin.py<br>
> create mode 100644 scripts/lib/mic/plugins/imager/liveusb_plugin.py<br>
> create mode 100644 scripts/lib/mic/plugins/imager/loop_plugin.py<br>
> create mode 100644 scripts/lib/mic/plugins/imager/raw_plugin.py<br>
> create mode 100644 scripts/lib/mic/rt_util.py<br>
> create mode 100644 scripts/lib/mic/test<br>
> create mode 100644 scripts/lib/mic/utils/BmapCreate.py<br>
> create mode 100644 scripts/lib/mic/utils/Fiemap.py<br>
> create mode 100644 scripts/lib/mic/utils/__init__.py<br>
> create mode 100644 scripts/lib/mic/utils/cmdln.py<br>
> create mode 100644 scripts/lib/mic/utils/errors.py<br>
> create mode 100644 scripts/lib/mic/utils/fs_related.py<br>
> create mode 100644 scripts/lib/mic/utils/gpt_parser.py<br>
> create mode 100644 scripts/lib/mic/utils/grabber.py<br>
> create mode 100644 scripts/lib/mic/utils/misc.py<br>
> create mode 100644 scripts/lib/mic/utils/oe/__init__.py<br>
> create mode 100644 scripts/lib/mic/utils/oe/misc.py<br>
> create mode 100644 scripts/lib/mic/utils/partitionedfs.py<br>
> create mode 100644 scripts/lib/mic/utils/proxy.py<br>
> create mode 100644 scripts/lib/mic/utils/rpmmisc.py<br>
> create mode 100644 scripts/lib/mic/utils/runner.py<br>
> create mode 100755 scripts/wic<br>
><br>
> --<br>
> 1.7.11.4<br>
><br>
> _______________________________________________<br>
> Openembedded-core mailing list<br>
> <a href="mailto:Openembedded-core@lists.openembedded.org">Openembedded-core@lists.openembedded.org</a><br>
> <a href="http://lists.openembedded.org/mailman/listinfo/openembedded-core">http://lists.openembedded.org/mailman/listinfo/openembedded-core</a><br>
</p>