From 60907ba907557bfd1b0f10fa39f3dd3fdbceda8c Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Fri, 18 Jul 2014 10:29:29 +0300 Subject: [PATCH] dev-manual: Updates to the "Creating Partitioned Images" section. These updates are to the wic section. I have updated the syntax and some requirements for running and using wic. The original information was never reviewed before appearing in only the 1.5.2 verison of the dev-manual. (From yocto-docs rev: 66c755f2753c52bdb304281d2109c2c253941d35) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- .../dev-manual/dev-manual-common-tasks.xml | 171 +++++++++--------- 1 file changed, 83 insertions(+), 88 deletions(-) diff --git a/documentation/dev-manual/dev-manual-common-tasks.xml b/documentation/dev-manual/dev-manual-common-tasks.xml index 941550dc24..c8de6bff93 100644 --- a/documentation/dev-manual/dev-manual-common-tasks.xml +++ b/documentation/dev-manual/dev-manual-common-tasks.xml @@ -1940,7 +1940,7 @@ format the device requires. Should your device require multiple partitions on an SD card, flash, or an HDD, you can use the OpenEmbedded Image Creator - () to create the properly partitioned image. + to create the properly partitioned image. @@ -1949,8 +1949,10 @@ Image generation is driven by partitioning commands contained in an Openembedded kickstart file (.wks) specified either directly on the command-line or as one of a - selection of canned .wks files - (see 'wic list images'). + selection of canned .wks files as shown + with the wic list images command in the + "Using a Provided Kickstart File" + section. 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. @@ -2003,34 +2005,6 @@ - -
Requirements @@ -2131,14 +2105,65 @@ the details. + + Regardless of the mode you use, you need to have the build + artifacts ready and available. + Additionally, the environment must be set up using the + &OE_INIT_FILE; + or + oe-init-build-env-memres + script found in the + Build Directory. + +
Raw Mode The general form of the 'wic' command in raw mode is: - $ wic create <image_name>.wks -r <rootfs_dir> -b <bootimg_dir> / - -k <kernel_dir> -n <native_sysroot> + $ wic create image_name.wks [options] [...] + + Where: + + image_name.wks + An an OpenEmbedded kickstart file. You can provide + your own custom file or use a file from a set of + provided files as described by further options. + + -o OUTDIR, --outdir=OUTDIR + The name of a directory in which to create image. + + -i PROPERTIES_FILE, --infile=PROPERTIES_FILE + The name of a file containing the values for image + properties as a JSON file. + + -e IMAGE_NAME, --image-name=IMAGE_NAME + The name of the image from which to use the artifacts + (e.g. core-image-sato). + + -r ROOTFS_DIR, --rootfs-dir=ROOTFS_DIR + The path to the /rootfs directory to use as the + .wks rootfs source. + + -b BOOTIMG_DIR, --bootimg-dir=BOOTIMG_DIR + The path to the directory containing the boot artifacts + (e.g. /EFI or /syslinux) to use as the .wks bootimg + source. + + -k KERNEL_DIR, --kernel-dir=KERNEL_DIR + The path to the directory containing the kernel to use + in the .wks boot image. + + -n NATIVE_SYSROOT, --native-sysroot=NATIVE_SYSROOT + The path to the native sysroot containing the tools to use + to build the image. + + -p, --skip-build-check + Skips the build check. + + -D, --debug + Output debug information. You do not need root privileges to run @@ -2147,37 +2172,6 @@ the details. utility. - - - Following is a description of the wic - parameters and options: - - <image_name>.wks: - An OpenEmbedded kickstart file. - You can provide your own custom file or use a - file from a set of provided files as described - following this list. - -r <rootfs_dir>: - Specifies the path to the root filesystem directory - to be used and the .wks - root filesystem source. - -b <bootimg_dir>: - Specifies the path to the directory that contains - the boot artifacts (e.g. the - EFI or - syslinux directories) to use - as the .wks boot image source. - - -k <kernel_dir>: - Specifies the path to the dir containing the kernel - to use in the .wks boot - image. - -n <native_sysroot>: - Specifies the path to the native sysroot - that contains the tools used to build the image. - - -
@@ -2187,7 +2181,17 @@ the details. The general form of the wic command using Cooked Mode is: - $ wic create <kickstart_file> -e <image_name> + $ wic create kickstart_file -e image_name + + Where: + + kickstart_file + An OpenEmbedded kickstart file. You can provide your own + custom file or supplied file. + + image_name + Specifies the image built using the OpenEmbedded build + system. This form is the simplest and most user-friendly, as it does not require specifying all individual parameters. @@ -2195,20 +2199,6 @@ the details. .wks file or one provided with the release. - - - Following is a description of the wic - parameters and options: - - <kickstart>: - An OpenEmbedded kickstart file. - You can provide your own custom file or supplied - file. - -e <image_name>: - Specifies the image built using the OpenEmbedded - build system. - -
@@ -2222,16 +2212,16 @@ the details. Use the following command to list the available files: $ wic list images - mkefidisk Create an EFI disk image directdisk Create a 'pcbios' direct disk image + mkefidisk Create an EFI disk image When you use a provided file, you do not have to use the .wks extension. Here is an example in Raw Mode that uses the directdisk file: - $ wic create directdisk -r <rootfs_dir> -b <bootimg_dir> \ - -k <kernel_dir> -n <native_sysroot> + $ wic create directdisk -r rootfs_dir -b bootimg_dir \ + -k kernel_dir -n native_sysroot @@ -2244,13 +2234,13 @@ the details. # 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 /boot ‐‐source bootimg-efi ‐‐ondisk sda ‐‐fstype=efi ‐‐active - part / --source rootfs --ondisk sda --fstype=ext3 --label platform --align 1024 + part / ‐‐source rootfs ‐‐ondisk sda ‐‐fstype=ext3 ‐‐label platform - part swap --ondisk sda --size 44 --label swap1 --fstype=swap + 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" + bootloader ‐‐timeout=10 ‐‐append="rootwait console=ttyPCH0,115200" @@ -2377,7 +2367,8 @@ the details. directory and then changing the lines that specify the target disk from which to boot. - $ cp /home/trz/yocto/yocto-image/scripts/lib/image/canned-wks/directdisk.wks /home/trz/yocto/yocto-image/scripts/lib/image/canned-wks/directdisksdb.wks + $ cp /home/trz/yocto/yocto-image/scripts/lib/image/canned-wks/directdisk.wks \ + /home/trz/yocto/yocto-image/scripts/lib/image/canned-wks/directdisksdb.wks Next, the example modifies the directdisksdb.wks file and changes all @@ -2474,7 +2465,11 @@ the details. somewhere other than the default /var/tmp/wic directory: - $ 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 + $ 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)...