From: Tom Zanussi <tom.zanussi@linux.intel.com>
To: David Nystrom <david.c.nystrom@gmail.com>
Cc: openembedded-core@lists.openembedded.org
Subject: Re: [PATCH 0/3] 'wic'- OpenEmbedded Image Creator
Date: Fri, 27 Sep 2013 08:32:16 -0500 [thread overview]
Message-ID: <1380288736.31937.29.camel@empanada> (raw)
In-Reply-To: <CAAKB1h1Am8Ep7LNJOZ_-g=6j+ru7DjDTcR2dUs2VMC7s+qy2iw@mail.gmail.com>
On Fri, 2013-09-27 at 08:48 +0200, David Nystrom wrote:
>
> On Sep 27, 2013 4:17 AM, "Tom Zanussi" <tom.zanussi@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@lists.openembedded.org
> > http://lists.openembedded.org/mailman/listinfo/openembedded-core
>
>
next prev parent reply other threads:[~2013-09-27 13:32 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-09-27 2:17 [PATCH 0/3] 'wic'- OpenEmbedded Image Creator Tom Zanussi
2013-09-27 2:17 ` [PATCH 1/3] wic: Initial code for wic (OpenEmbedded Image Creator) Tom Zanussi
2013-09-27 14:01 ` Otavio Salvador
2013-09-27 14:21 ` Tom Zanussi
2013-09-28 12:17 ` David Nyström
2013-09-30 1:11 ` Tom Zanussi
2013-09-30 12:58 ` David Nyström
2013-09-30 15:15 ` Tom Zanussi
2013-09-27 2:17 ` [PATCH 2/3] wic: Add mic w/pykickstart Tom Zanussi
2013-09-27 2:17 ` [PATCH 3/3] wic: Add OpenEmbedded-specific implementation Tom Zanussi
2013-09-27 6:48 ` [PATCH 0/3] 'wic'- OpenEmbedded Image Creator David Nystrom
2013-09-27 13:32 ` Tom Zanussi [this message]
2013-09-28 17:10 ` Trevor Woerner
2013-09-30 1:18 ` Tom Zanussi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1380288736.31937.29.camel@empanada \
--to=tom.zanussi@linux.intel.com \
--cc=david.c.nystrom@gmail.com \
--cc=openembedded-core@lists.openembedded.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.