[OE-core] [PATCH 0/3] 'wic'- OpenEmbedded Image Creator

Tom Zanussi tom.zanussi at linux.intel.com
Fri Sep 27 13:32:16 UTC 2013


On Fri, 2013-09-27 at 08:48 +0200, David Nystrom wrote:
> 
> On Sep 27, 2013 4:17 AM, "Tom Zanussi" <tom.zanussi at linux.intel.com>
> wrote:
> >
> > This patchset implements a new command named 'wic' (for OpenEmbedded
> > Image Creator).  Please see [YOCTO #3847] for extensive background
> on
> > what's implemented here.
> 
> Nice !
> 
> 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.
> 

Yes, I think something like that would make sense - for 1.5, the design
goal was to make it a completely standalone thing, with any integration
work and other enhancements coming in 1.6...

Tom

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





More information about the Openembedded-core mailing list