summaryrefslogtreecommitdiffstats
path: root/documentation/dev-manual
diff options
context:
space:
mode:
authorScott Rifenbark <scott.m.rifenbark@intel.com>2014-07-23 09:28:16 +0300
committerRichard Purdie <richard.purdie@linuxfoundation.org>2014-07-23 10:02:13 +0100
commit5ba68f32a86a20b3f3544903fea2a24f2e59afbf (patch)
tree96190417d26028293cc18f40ee71e3810dc6e031 /documentation/dev-manual
parentb72dc514a57fcce254252f1ea0ebb4c98ff5ffaa (diff)
downloadpoky-5ba68f32a86a20b3f3544903fea2a24f2e59afbf.tar.gz
dev-manual: Added the section on "Creating Partitioned Images"
This is the section on 'wic'. I have dropped in the same exact section from the 1.5.3 (dora branch) release as a starting point for Tom Zanussi to scrub and update for the master branch. (From yocto-docs rev: e189992bff4249664ba959b1c440541e0b84e03d) Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'documentation/dev-manual')
-rw-r--r--documentation/dev-manual/dev-manual-common-tasks.xml726
1 files changed, 726 insertions, 0 deletions
diff --git a/documentation/dev-manual/dev-manual-common-tasks.xml b/documentation/dev-manual/dev-manual-common-tasks.xml
index 6aabdf4877..c4c3d9fc3e 100644
--- a/documentation/dev-manual/dev-manual-common-tasks.xml
+++ b/documentation/dev-manual/dev-manual-common-tasks.xml
@@ -3348,6 +3348,732 @@
3348 </section> 3348 </section>
3349 </section> 3349 </section>
3350 3350
3351 <section id='creating-partitioned-images'>
3352 <title>Creating Partitioned Images</title>
3353
3354 <para>
3355 Creating an image for a particular hardware target using the
3356 OpenEmbedded build system does not necessarily mean you can boot
3357 that image as is on your device.
3358 Physical devices accept and boot images in various ways depending
3359 on the specifics of the device.
3360 Usually, information about the hardware can tell you what image
3361 format the device requires.
3362 Should your device require multiple partitions on an SD card, flash,
3363 or an HDD, you can use the OpenEmbedded Image Creator
3364 to create the properly partitioned image.
3365 </para>
3366
3367 <para>
3368 The <filename>wic</filename> command generates partitioned images
3369 from existing OpenEmbedded build artifacts.
3370 Image generation is driven by partitioning commands contained
3371 in an Openembedded kickstart file (<filename>.wks</filename>)
3372 specified either directly on the command-line or as one of a
3373 selection of canned <filename>.wks</filename> files as shown
3374 with the <filename>wic list images</filename> command in the
3375 "<link linkend='using-a-provided-kickstart_file'>Using a Provided Kickstart File</link>"
3376 section.
3377 When applied to a given set of build artifacts, the result is an
3378 image or set of images that can be directly written onto media and
3379 used on a particular system.
3380 </para>
3381
3382 <para>
3383 This section provides some background information on
3384 <filename>wic</filename>, describes what you need to have in
3385 place to run the tool, provides instruction on how to use
3386 <filename>wic</filename>, and provides several examples.
3387 </para>
3388
3389 <section id='wic-background'>
3390 <title>Background</title>
3391
3392 <para>
3393 This section provides some background on the
3394 <filename>wic</filename> utility.
3395 While none of this information is required to use
3396 <filename>wic</filename>, you might find it interesting.
3397 <itemizedlist>
3398 <listitem><para>
3399 The name "wic" is derived from OpenEmbedded
3400 Image Creator (oeic).
3401 The "oe" diphthong in "oeic" was promoted to the
3402 letter "w", because "oeic" is both difficult to remember and
3403 pronounce.</para></listitem>
3404 <listitem><para>
3405 <filename>wic</filename> is loosely based on the
3406 Meego Image Creator (<filename>mic</filename>)
3407 framework.
3408 The <filename>wic</filename> implementation has been
3409 heavily modified to make direct use of OpenEmbedded
3410 build artifacts instead of package installation and
3411 configuration, which are already incorporated within
3412 the OpenEmbedded artifacts.</para></listitem>
3413 <listitem><para>
3414 <filename>wic</filename> is a completely independent
3415 standalone utility that initially provides
3416 easier-to-use and more flexible replacements for a
3417 couple bits of existing functionality in OE Core's
3418 <filename>directdisk.bbclass</filename> and
3419 <filename>mkefidisk.sh</filename> script.
3420 The replaced scripts are implemented by a
3421 general-purpose partitioning language based on Red Hat
3422 kickstart syntax.
3423 Underlying code for <filename>wic</filename> succeeded
3424 from several projects over time.</para></listitem>
3425 </itemizedlist>
3426 </para>
3427 </section>
3428
3429 <section id='wic-requirements'>
3430 <title>Requirements</title>
3431
3432 <para>
3433 In order to use the <filename>wic</filename> utility with the
3434 OpenEmbedded Build system, you need to meet the following
3435 requirements:
3436 <itemizedlist>
3437 <listitem><para>The Linux distribution on your
3438 development host must support the Yocto Project.
3439 See the
3440 "<ulink url='&YOCTO_DOCS_REF_URL;#detailed-supported-distros'>Supported Linux Distributions</ulink>"
3441 section in the Yocto Project Reference Manual for this
3442 list of distributions.</para></listitem>
3443 <listitem><para>
3444 The standard system utilities, such as
3445 <filename>cp</filename>, must be installed on your
3446 development host system.
3447 </para></listitem>
3448 <listitem><para>
3449 The
3450 <ulink url='http://www.gnu.org/software/parted/'>GNU Parted</ulink>
3451 package must be installed on your development host
3452 system.
3453 </para></listitem>
3454 <listitem><para>
3455 Have the build artifacts already available.
3456 You must already have created an image using the
3457 Openembedded build system (e.g.
3458 <filename>core-image-minimal</filename>.
3459 It might seem redundant to generate an image in order
3460 to create an image using <filename>wic</filename>,
3461 but the artifacts are needed and they are generated
3462 with the build system.</para></listitem>
3463 <listitem><para>
3464 You must have sourced one of the build environment
3465 setup scripts (i.e.
3466 <ulink url='&YOCTO_DOCS_REF_URL;#structure-core-script'><filename>&OE_INIT_FILE;</filename></ulink>
3467 or
3468 <ulink url='&YOCTO_DOCS_REF_URL;#structure-memres-core-script'><filename>oe-init-build-env-memres</filename></ulink>)
3469 found in the
3470 <link linkend='build-directory'>Build Directory</link>.
3471 </para></listitem>
3472 </itemizedlist>
3473 </para>
3474 </section>
3475
3476 <section id='wic-getting-help'>
3477 <title>Getting Help</title>
3478
3479 <para>
3480 You can get general help for the <filename>wic</filename>
3481 by entering the <filename>wic</filename> command by itself
3482 or by entering the command with a help argument as follows:
3483 <literallayout class='monospaced'>
3484 $ wic -h
3485 $ wic --help
3486 </literallayout>
3487 </para>
3488
3489 <para>
3490 Currently, <filename>wic</filename> supports two commands:
3491 <filename>create</filename> and <filename>list</filename>.
3492 You can get help for these commands as follows:
3493 <literallayout class='monospaced'>
3494 $ wic help &lt;command&gt;
3495 </literallayout>
3496 </para>
3497
3498 <para>
3499 You can find more out about the images
3500 <filename>wic</filename> creates using the provided
3501 kickstart files with the following form of the command:
3502 <literallayout class='monospaced'>
3503 $ wic list &lt;image&gt; help
3504 </literallayout>
3505 Where <filename>&lt;image&gt;</filename> is either
3506 <filename>directdisk</filename> or
3507 <filename>mkefidisk</filename>.
3508 </para>
3509 </section>
3510
3511 <section id='operational-modes'>
3512 <title>Operational Modes</title>
3513
3514 <para>
3515 You can run <filename>wic</filename> in two modes: Raw and
3516 Cooked:
3517 <itemizedlist>
3518 <listitem><para><emphasis>Raw Mode:</emphasis>
3519 You explicitly specify build artifacts through
3520 command-line arguments.</para></listitem>
3521 <listitem><para><emphasis>Cooked Mode:</emphasis>
3522 The current
3523 <ulink url='&YOCTO_DOCS_REF_URL;#var-MACHINE'><filename>MACHINE</filename></ulink>
3524 setting and image name are used to automatically locate
3525 and provide the build artifacts.</para></listitem>
3526 </itemizedlist>
3527 </para>
3528
3529 <para>
3530 Regardless of the mode you use, you need to have the build
3531 artifacts ready and available.
3532 Additionally, the environment must be set up using the
3533 <ulink url='&YOCTO_DOCS_REF_URL;#structure-core-script'><filename>&OE_INIT_FILE;</filename></ulink>
3534 or
3535 <ulink url='&YOCTO_DOCS_REF_URL;#structure-memres-core-script'><filename>oe-init-build-env-memres</filename></ulink>
3536 script found in the
3537 <link linkend='build-directory'>Build Directory</link>.
3538 </para>
3539
3540 <section id='raw-mode'>
3541 <title>Raw Mode</title>
3542
3543 <para>
3544 The general form of the 'wic' command in raw mode is:
3545 <literallayout class='monospaced'>
3546 $ wic create <replaceable>image_name</replaceable>.wks [<replaceable>options</replaceable>] [...]
3547
3548 Where:
3549
3550 <replaceable>image_name</replaceable>.wks
3551 An an OpenEmbedded kickstart file. You can provide
3552 your own custom file or use a file from a set of
3553 provided files as described by further options.
3554
3555 -o <replaceable>OUTDIR</replaceable>, --outdir=<replaceable>OUTDIR</replaceable>
3556 The name of a directory in which to create image.
3557
3558 -i <replaceable>PROPERTIES_FILE</replaceable>, --infile=<replaceable>PROPERTIES_FILE</replaceable>
3559 The name of a file containing the values for image
3560 properties as a JSON file.
3561
3562 -e <replaceable>IMAGE_NAME</replaceable>, --image-name=<replaceable>IMAGE_NAME</replaceable>
3563 The name of the image from which to use the artifacts
3564 (e.g. <filename>core-image-sato</filename>).
3565
3566 -r <replaceable>ROOTFS_DIR</replaceable>, --rootfs-dir=<replaceable>ROOTFS_DIR</replaceable>
3567 The path to the <filename>/rootfs</filename> directory to use as the
3568 <filename>.wks</filename> rootfs source.
3569
3570 -b <replaceable>BOOTIMG_DIR</replaceable>, --bootimg-dir=<replaceable>BOOTIMG_DIR</replaceable>
3571 The path to the directory containing the boot artifacts
3572 (e.g. <filename>/EFI</filename> or <filename>/syslinux</filename>) to use as the <filename>.wks</filename> bootimg
3573 source.
3574
3575 -k <replaceable>KERNEL_DIR</replaceable>, --kernel-dir=<replaceable>KERNEL_DIR</replaceable>
3576 The path to the directory containing the kernel to use
3577 in the <filename>.wks</filename> boot image.
3578
3579 -n <replaceable>NATIVE_SYSROOT</replaceable>, --native-sysroot=<replaceable>NATIVE_SYSROOT</replaceable>
3580 The path to the native sysroot containing the tools to use
3581 to build the image.
3582
3583 -p, --skip-build-check
3584 Skips the build check.
3585
3586 -D, --debug
3587 Output debug information.
3588 </literallayout>
3589 <note>
3590 You do not need root privileges to run
3591 <filename>wic</filename>.
3592 In fact, you should not run as root when using the
3593 utility.
3594 </note>
3595 </para>
3596 </section>
3597
3598 <section id='cooked-mode'>
3599 <title>Cooked Mode</title>
3600
3601 <para>
3602 The general form of the <filename>wic</filename> command
3603 using Cooked Mode is:
3604 <literallayout class='monospaced'>
3605 $ wic create <replaceable>kickstart_file</replaceable> -e <replaceable>image_name</replaceable>
3606
3607 Where:
3608
3609 <replaceable>kickstart_file</replaceable>
3610 An OpenEmbedded kickstart file. You can provide your own
3611 custom file or supplied file.
3612
3613 <replaceable>image_name</replaceable>
3614 Specifies the image built using the OpenEmbedded build
3615 system.
3616 </literallayout>
3617 This form is the simplest and most user-friendly, as it
3618 does not require specifying all individual parameters.
3619 All you need to provide is your own
3620 <filename>.wks</filename> file or one provided with the
3621 release.
3622 </para>
3623 </section>
3624 </section>
3625
3626 <section id='using-a-provided-kickstart_file'>
3627 <title>Using a Provided Kickstart File</title>
3628
3629 <para>
3630 If you do not want to create your own
3631 <filename>.wks</filename> file, you can use a provided
3632 file.
3633 Use the following command to list the available files:
3634 <literallayout class='monospaced'>
3635 $ wic list images
3636 directdisk Create a 'pcbios' direct disk image
3637 mkefidisk Create an EFI disk image
3638 </literallayout>
3639 When you use a provided file, you do not have to use the
3640 <filename>.wks</filename> extension.
3641 Here is an example in Raw Mode that uses the
3642 <filename>directdisk</filename> file:
3643 <literallayout class='monospaced'>
3644 $ wic create directdisk -r <replaceable>rootfs_dir</replaceable> -b <replaceable>bootimg_dir</replaceable> \
3645 -k <replaceable>kernel_dir</replaceable> -n <replaceable>native_sysroot</replaceable>
3646 </literallayout>
3647 </para>
3648
3649 <para>
3650 Here are the actual partition language commands
3651 used in the <filename>mkefidisk.wks</filename> file to generate
3652 an image:
3653 <literallayout class='monospaced'>
3654 # short-description: Create an EFI disk image
3655 # long-description: Creates a partitioned EFI disk image that the user
3656 # can directly dd to boot media.
3657
3658 part /boot &dash;&dash;source bootimg-efi &dash;&dash;ondisk sda &dash;&dash;fstype=efi &dash;&dash;active
3659
3660 part / &dash;&dash;source rootfs &dash;&dash;ondisk sda &dash;&dash;fstype=ext3 &dash;&dash;label platform
3661
3662 part swap &dash;&dash;ondisk sda &dash;&dash;size 44 &dash;&dash;label swap1 &dash;&dash;fstype=swap
3663
3664 bootloader &dash;&dash;timeout=10 &dash;&dash;append="rootwait console=ttyPCH0,115200"
3665 </literallayout>
3666 </para>
3667 </section>
3668
3669 <section id='wic-usage-examples'>
3670 <title>Examples</title>
3671
3672 <para>
3673 This section provides several examples that show how to use
3674 the <filename>wic</filename> utility.
3675 All the examples assume the list of requirements in the
3676 "<link linkend='wic-requirements'>Requirements</link>" section
3677 have been met.
3678 The examples assume the previously generated image is
3679 <filename>core-image-minimal</filename>.
3680 </para>
3681
3682 <section id='generate-an-image-using-a-provided-kickstart-file'>
3683 <title>Generate an Image using a Provided Kickstart File</title>
3684
3685 <para>
3686 This example runs in Cooked Mode and uses the
3687 <filename>mkefidisk</filename> kickstart file:
3688 <literallayout class='monospaced'>
3689 $ wic create mkefidisk -e core-image-minimal
3690 Checking basic build environment...
3691 Done.
3692
3693 Creating image(s)...
3694
3695 Info: The new image(s) can be found here:
3696 /var/tmp/wic/build/mkefidisk-201310230946-sda.direct
3697
3698 The following build artifacts were used to create the image(s):
3699 ROOTFS_DIR: /home/trz/yocto/yocto-image/build/tmp/work/minnow-poky-linux/core-image-minimal/1.0-r0/rootfs
3700 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
3701 KERNEL_DIR: /home/trz/yocto/yocto-image/build/tmp/sysroots/minnow/usr/src/kernel
3702 NATIVE_SYSROOT: /home/trz/yocto/yocto-image/build/tmp/sysroots/x86_64-linux
3703
3704
3705 The image(s) were created using OE kickstart file:
3706 /home/trz/yocto/yocto-image/scripts/lib/image/canned-wks/mkefidisk.wks
3707 </literallayout>
3708 This example shows the easiest way to create an image
3709 by running in Cooked Mode and using the
3710 <filename>-e</filename> option with a provided kickstart
3711 file.
3712 All that is necessary is to specify the image used to
3713 generate the artifacts.
3714 Your <filename>local.conf</filename> needs to have the
3715 <ulink url='&YOCTO_DOCS_REF_URL;#var-MACHINE'><filename>MACHINE</filename></ulink>
3716 variable set to the machine you are using, which is
3717 "minnow" in this example.
3718 </para>
3719
3720 <para>
3721 The output specifies exactly which image was
3722 created as well as where it was created.
3723 The output also names the artifacts used and the exact
3724 <filename>.wks</filename> script that was used to generate
3725 the image.
3726 <note>
3727 You should always verify the details provided in the
3728 output to make sure that the image was indeed created
3729 exactly as expected.
3730 </note>
3731 </para>
3732
3733 <para>
3734 Continuing with the example, you can now directly
3735 <filename>dd</filename> the image to a USB stick, or
3736 whatever media for which you built your image,
3737 and boot the resulting media:
3738 <literallayout class='monospaced'>
3739 $ sudo dd if=/var/tmp/wic/build/mkefidisk-201310230946-sda.direct of=/dev/sdb
3740 [sudo] password for trz:
3741 182274+0 records in
3742 182274+0 records out
3743 93324288 bytes (93 MB) copied, 14.4777 s, 6.4 MB/s
3744 [trz@empanada ~]$ sudo eject /dev/sdb
3745 </literallayout>
3746 </para>
3747 </section>
3748
3749 <section id='using-a-modified-kickstart-file'>
3750 <title>Using a Modified Kickstart File</title>
3751
3752 <para>
3753 Because <filename>wic</filename> image creation is driven
3754 by the kickstart file, it is easy to affect image creation
3755 by changing the parameters in the file.
3756 This next example demonstrates that through modification
3757 of the <filename>directdisk</filename> kickstart file.
3758 </para>
3759
3760 <para>
3761 As mentioned earlier, you can use the command
3762 <filename>wic list images</filename> to show the list
3763 of provided kickstart files.
3764 The directory in which these files reside is
3765 <filename>scripts/lib/image/canned-wks/</filename>
3766 located in the
3767 <link linkend='source-directory'>Source Directory</link>.
3768 Because the available files reside in this directory, you
3769 can create and add your own custom files to the directory.
3770 Subsequent use of the <filename>wic list images</filename>
3771 command would then include your kickstart files.
3772 </para>
3773
3774 <para>
3775 In this example, the existing
3776 <filename>directdisk</filename> file already does most
3777 of what is needed.
3778 However, for the hardware in this example, the image will
3779 need to boot from <filename>sdb</filename> instead of
3780 <filename>sda</filename>, which is what the
3781 <filename>directdisk</filename> kickstart file uses.
3782 </para>
3783
3784 <para>
3785 The example begins by making a copy of the
3786 <filename>directdisk.wks</filename> file in the
3787 <filename>scripts/lib/image/canned-wks</filename>
3788 directory and then changing the lines that specify the
3789 target disk from which to boot.
3790 <literallayout class='monospaced'>
3791 $ cp /home/trz/yocto/yocto-image/scripts/lib/image/canned-wks/directdisk.wks \
3792 /home/trz/yocto/yocto-image/scripts/lib/image/canned-wks/directdisksdb.wks
3793 </literallayout>
3794 Next, the example modifies the
3795 <filename>directdisksdb.wks</filename> file and changes all
3796 instances of "<filename>--ondisk sda</filename>"
3797 to "<filename>--ondisk sdb</filename>".
3798 The example changes the following two lines and leaves the
3799 remaining lines untouched:
3800 <literallayout class='monospaced'>
3801 part /boot --source bootimg --ondisk sdb --fstype=msdos --label boot --active --align 1024
3802 part / --source rootfs --ondisk sdb --fstype=ext3 --label platform --align 1024
3803 </literallayout>
3804 Once the lines are changed, the example generates the
3805 <filename>directdisksdb</filename> image.
3806 The command points the process at the
3807 <filename>core-image-minimal</filename> artifacts for the
3808 Next Unit of Computing (nuc)
3809 <ulink url='&YOCTO_DOCS_REF_URL;#var-MACHINE'><filename>MACHINE</filename></ulink>
3810 the <filename>local.conf</filename>.
3811 <literallayout class='monospaced'>
3812 $ wic create directdisksdb -e core-image-minimal
3813 Checking basic build environment...
3814 Done.
3815
3816 Creating image(s)...
3817
3818 Info: The new image(s) can be found here:
3819 /var/tmp/wic/build/directdisksdb-201310231131-sdb.direct
3820
3821 The following build artifacts were used to create the image(s):
3822 ROOTFS_DIR: /home/trz/yocto/yocto-image/build/tmp/work/nuc-poky-linux/core-image-minimal/1.0-r0/rootfs
3823 BOOTIMG_DIR: /home/trz/yocto/yocto-image/build/tmp/sysroots/nuc/usr/share
3824 KERNEL_DIR: /home/trz/yocto/yocto-image/build/tmp/sysroots/nuc/usr/src/kernel
3825 NATIVE_SYSROOT: /home/trz/yocto/yocto-image/build/tmp/sysroots/x86_64-linux
3826
3827
3828 The image(s) were created using OE kickstart file:
3829 /home/trz/yocto/yocto-image/scripts/lib/image/canned-wks/directdisksdb.wks
3830 </literallayout>
3831 Continuing with the example, you can now directly
3832 <filename>dd</filename> the image to a USB stick, or
3833 whatever media for which you built your image,
3834 and boot the resulting media:
3835 <literallayout class='monospaced'>
3836 $ sudo dd if=/var/tmp/wic/build/directdisksdb-201310231131-sdb.direct of=/dev/sdb
3837 86018+0 records in
3838 86018+0 records out
3839 44041216 bytes (44 MB) copied, 13.0734 s, 3.4 MB/s
3840 [trz@empanada tmp]$ sudo eject /dev/sdb
3841 </literallayout>
3842 </para>
3843 </section>
3844
3845 <section id='creating-an-image-based-on-core-image-minimal-and-crownbay-noemgd'>
3846 <title>Creating an Image Based on <filename>core-image-minimal</filename> and <filename>crownbay-noemgd</filename></title>
3847
3848 <para>
3849 This example creates an image based on
3850 <filename>core-image-minimal</filename> and a
3851 <filename>crownbay-noemgd</filename>
3852 <ulink url='&YOCTO_DOCS_REF_URL;#var-MACHINE'><filename>MACHINE</filename></ulink>
3853 that works right out of the box.
3854 <literallayout class='monospaced'>
3855 $ wic create directdisk -e core-image-minimal
3856
3857 Checking basic build environment...
3858 Done.
3859
3860 Creating image(s)...
3861
3862 Info: The new image(s) can be found here:
3863 /var/tmp/wic/build/directdisk-201309252350-sda.direct
3864
3865 The following build artifacts were used to create the image(s):
3866
3867 ROOTFS_DIR: /home/trz/yocto/yocto-image/build/tmp/work/crownbay_noemgd-poky-linux/core-image-minimal/1.0-r0/rootfs
3868 BOOTIMG_DIR: /home/trz/yocto/yocto-image/build/tmp/sysroots/crownbay-noemgd/usr/share
3869 KERNEL_DIR: /home/trz/yocto/yocto-image/build/tmp/sysroots/crownbay-noemgd/usr/src/kernel
3870 NATIVE_SYSROOT: /home/trz/yocto/yocto-image/build/tmp/sysroots/crownbay-noemgd/usr/src/kernel
3871
3872 The image(s) were created using OE kickstart file:
3873 /home/trz/yocto/yocto-image/scripts/lib/image/canned-wks/directdisk.wks
3874 </literallayout>
3875 </para>
3876 </section>
3877
3878 <section id='using-a-modified-kickstart-file-and-running-in-raw-mode'>
3879 <title>Using a Modified Kickstart File and Running in Raw Mode</title>
3880
3881 <para>
3882 This next example manually specifies each build artifact
3883 (runs in Raw Mode) and uses a modified kickstart file.
3884 The example also uses the <filename>-o</filename> option
3885 to cause <filename>wic</filename> to create the output
3886 somewhere other than the default
3887 <filename>/var/tmp/wic</filename> directory:
3888 <literallayout class='monospaced'>
3889 $ wic create ~/test.wks -o /home/trz/testwic --rootfs-dir \
3890 /home/trz/yocto/yocto-image/build/tmp/work/crownbay_noemgd-poky-linux/core-image-minimal/1.0-r0/rootfs \
3891 --bootimg-dir /home/trz/yocto/yocto-image/build/tmp/sysroots/crownbay-noemgd/usr/share \
3892 --kernel-dir /home/trz/yocto/yocto-image/build/tmp/sysroots/crownbay-noemgd/usr/src/kernel \
3893 --native-sysroot /home/trz/yocto/yocto-image/build/tmp/sysroots/x86_64-linux
3894
3895 Creating image(s)...
3896
3897 Info: The new image(s) can be found here:
3898 /home/trz/testwic/build/test-201309260032-sda.direct
3899
3900 The following build artifacts were used to create the image(s):
3901
3902 ROOTFS_DIR: /home/trz/yocto/yocto-image/build/tmp/work/crownbay_noemgd-poky-linux/core-image-minimal/1.0-r0/rootfs
3903 BOOTIMG_DIR: /home/trz/yocto/yocto-image/build/tmp/sysroots/crownbay-noemgd/usr/share
3904 KERNEL_DIR: /home/trz/yocto/yocto-image/build/tmp/sysroots/crownbay-noemgd/usr/src/kernel
3905 NATIVE_SYSROOT: /home/trz/yocto/yocto-image/build/tmp/sysroots/crownbay-noemgd/usr/src/kernel
3906
3907 The image(s) were created using OE kickstart file:
3908 /home/trz/test.wks
3909 </literallayout>
3910 For this example,
3911 <ulink url='&YOCTO_DOCS_REF_URL;#var-MACHINE'><filename>MACHINE</filename></ulink>
3912 did not have to be specified in the
3913 <filename>local.conf</filename> file since the artifact is
3914 manually specified.
3915 </para>
3916 </section>
3917 </section>
3918
3919 <section id='openembedded-kickstart-wks-reference'>
3920 <title>OpenEmbedded Kickstart (.wks) Reference</title>
3921
3922 <para>
3923 The current <filename>wic</filename> implementation supports
3924 only the basic kickstart partitioning commands:
3925 <filename>partition</filename> (or <filename>part</filename>
3926 for short) and <filename>bootloader</filename>.
3927 </para>
3928
3929 <para>
3930 Following is a listing of the commands, their syntax, and
3931 meanings.
3932 The commands are based on the Fedora kickstart documentation
3933 but with modifications to reflect <filename>wic</filename>
3934 capabilities.
3935 <literallayout class='monospaced'>
3936 http://fedoraproject.org/wiki/Anaconda/Kickstart#part_or_partition
3937 http://fedoraproject.org/wiki/Anaconda/Kickstart#bootloader
3938 </literallayout>
3939 </para>
3940
3941 <section id='command-part-or-partition'>
3942 <title>Command: part or partition</title>
3943
3944 <para>
3945 This command creates a partition on the system and uses the
3946 following syntax:
3947 <literallayout class='monospaced'>
3948 part &lt;mntpoint&gt;
3949 </literallayout>
3950 The <filename>&lt;mntpoint&gt;</filename> is where the
3951 partition will be mounted and must be of one of the
3952 following forms:
3953 <itemizedlist>
3954 <listitem><para><filename>/&lt;path&gt;</filename>:
3955 For example, <filename>/</filename>,
3956 <filename>/usr</filename>, and
3957 <filename>/home</filename></para></listitem>
3958 <listitem><para><filename>swap</filename>:
3959 The partition will be used as swap space.
3960 </para></listitem>
3961 </itemizedlist>
3962 </para>
3963
3964 <para>
3965 Following are the supported options:
3966 <itemizedlist>
3967 <listitem><para><emphasis><filename>--size</filename>:</emphasis>
3968 The minimum partition size in MBytes.
3969 Specify an integer value such as 500.
3970 Do not append the number with "MB".
3971 You do not need this option if you use
3972 <filename>--source</filename>.</para></listitem>
3973 <listitem><para><emphasis><filename>--source</filename>:</emphasis>
3974 This option is a wic-specific option that can
3975 currently have one of two values, "bootimg" or
3976 "rootfs".</para>
3977 <para>If <filename>--source rootfs</filename> is
3978 used, it tells the <filename>wic</filename> command
3979 to create a partition as large as needed to fill
3980 with the contents of the root filesystem
3981 (specified by the <filename>-r</filename>
3982 <filename>wic</filename> option) and to fill it
3983 with the contents of <filename>/rootfs</filename>.
3984 </para>
3985 <para>If <filename>--source bootimg</filename>
3986 is used, it tells the <filename>wic</filename>
3987 command to create a partition as large as needed to
3988 fill with the contents of the boot partition
3989 (specified by the <filename>-b</filename>
3990 <filename>wic</filename> option).
3991 Exactly what those contents are depend on the value
3992 of the <filename>--fstype</filename> option for
3993 that partition.
3994 If <filename>--fstype=efi</filename> is specified,
3995 the boot artifacts contained in HDDDIR are used,
3996 and if <filename>--fstype=msdos</filename> is
3997 specified, the boot artifacts found in
3998 <filename>STAGING_DATADIR</filename> are used.
3999 </para></listitem>
4000 <listitem><para><emphasis><filename>--ondisk</filename> or <filename>--ondrive</filename>:</emphasis>
4001 Forces the partition to be created on a particular
4002 disk.</para></listitem>
4003 <listitem><para><emphasis><filename>--fstype</filename>:</emphasis>
4004 Sets the file system type for the partition.
4005 Valid values are:
4006 <itemizedlist>
4007 <listitem><para><filename>msdos</filename>
4008 </para></listitem>
4009 <listitem><para><filename>efi</filename>
4010 </para></listitem>
4011 <listitem><para><filename>ext4</filename>
4012 </para></listitem>
4013 <listitem><para><filename>ext3</filename>
4014 </para></listitem>
4015 <listitem><para><filename>ext2</filename>
4016 </para></listitem>
4017 <listitem><para><filename>btrfs</filename>
4018 </para></listitem>
4019 <listitem><para><filename>swap</filename>
4020 </para></listitem>
4021 </itemizedlist></para></listitem>
4022 <listitem><para><emphasis><filename>--label label</filename>:</emphasis>
4023 Specifies the label to give to the filesystem to
4024 be made on the partition.
4025 If the given label is already in use by another
4026 filesystem, a new label is created for the
4027 partition.</para></listitem>
4028 <listitem><para><emphasis><filename>--active</filename>:</emphasis>
4029 Marks the partition as active.</para></listitem>
4030 <listitem><para><emphasis><filename>--align (in KBytes)</filename>:</emphasis>
4031 This option is specific to the Meego Image
4032 Creator (mic) that says to start a partition on an
4033 x KBytes boundary.</para></listitem>
4034 </itemizedlist>
4035 </para>
4036 </section>
4037
4038 <section id='command-bootloader'>
4039 <title>Command: bootloader</title>
4040
4041 <para>
4042 This command specifies how the boot loader should be
4043 and supports the following options:
4044 <itemizedlist>
4045 <listitem><para><emphasis><filename>--timeout</filename>:</emphasis>
4046 Specifies the number of seconds before the
4047 bootloader times out and boots the default option.
4048 </para></listitem>
4049 <listitem><para><emphasis><filename>--append</filename>:</emphasis>
4050 Specifies kernel parameters.
4051 These will be added to the syslinux
4052 <filename>APPEND</filename> or
4053 <filename>grub</filename> kernel command line.
4054 </para>
4055 <para>The boot type is determined by the fstype of
4056 the <filename>/boot</filename> mountpoint.
4057 If the fstype is "msdos" the boot type is
4058 "pcbios", otherwise it is the fstype, which
4059 is currently "efi" (more to be added later).
4060 </para>
4061 <para>If the boot type is "efi", the image will
4062 use <filename>grub</filename> and has one
4063 menuentry: "boot".</para>
4064 <para>If the boot type is "pcbios", the image
4065 will use syslinux and has one menu label: "boot".
4066 </para>
4067 <para>Future updates will implement more options.
4068 If you use anything that is not specifically
4069 supported, results can be unpredictable.
4070 </para></listitem>
4071 </itemizedlist>
4072 </para>
4073 </section>
4074 </section>
4075 </section>
4076
3351 <section id='configuring-the-kernel'> 4077 <section id='configuring-the-kernel'>
3352 <title>Configuring the Kernel</title> 4078 <title>Configuring the Kernel</title>
3353 4079