diff options
Diffstat (limited to 'scripts/wic')
| -rwxr-xr-x | scripts/wic | 25 |
1 files changed, 22 insertions, 3 deletions
diff --git a/scripts/wic b/scripts/wic index ce78254d67..524156ddc5 100755 --- a/scripts/wic +++ b/scripts/wic | |||
| @@ -40,11 +40,15 @@ import logging | |||
| 40 | # External modules | 40 | # External modules |
| 41 | scripts_path = os.path.abspath(os.path.dirname(os.path.abspath(sys.argv[0]))) | 41 | scripts_path = os.path.abspath(os.path.dirname(os.path.abspath(sys.argv[0]))) |
| 42 | lib_path = scripts_path + '/lib' | 42 | lib_path = scripts_path + '/lib' |
| 43 | sys.path = sys.path + [lib_path] | 43 | bitbake_path = os.path.join(scripts_path, '../bitbake/lib') |
| 44 | sys.path = sys.path + [lib_path, bitbake_path] | ||
| 44 | 45 | ||
| 45 | from image.help import * | 46 | from image.help import * |
| 46 | from image.engine import * | 47 | from image.engine import * |
| 47 | 48 | ||
| 49 | from bb import cookerdata | ||
| 50 | from bb.main import bitbake_main, BitBakeConfigParameters | ||
| 51 | |||
| 48 | def rootfs_dir_to_args(krootfs_dir): | 52 | def rootfs_dir_to_args(krootfs_dir): |
| 49 | """ | 53 | """ |
| 50 | Get a rootfs_dir dict and serialize to string | 54 | Get a rootfs_dir dict and serialize to string |
| @@ -94,6 +98,7 @@ def wic_create_subcommand(args, usage_str): | |||
| 94 | action = "store", help = "path to the native sysroot containing the tools to use to build the image") | 98 | action = "store", help = "path to the native sysroot containing the tools to use to build the image") |
| 95 | parser.add_option("-p", "--skip-build-check", dest = "build_check", | 99 | parser.add_option("-p", "--skip-build-check", dest = "build_check", |
| 96 | action = "store_false", default = True, help = "skip the build check") | 100 | action = "store_false", default = True, help = "skip the build check") |
| 101 | parser.add_option("-f", "--build-rootfs", action="store_true", help = "build rootfs") | ||
| 97 | parser.add_option("-D", "--debug", dest = "debug", action = "store_true", | 102 | parser.add_option("-D", "--debug", dest = "debug", action = "store_true", |
| 98 | default = False, help = "output debug information") | 103 | default = False, help = "output debug information") |
| 99 | 104 | ||
| @@ -123,8 +128,6 @@ def wic_create_subcommand(args, usage_str): | |||
| 123 | else: | 128 | else: |
| 124 | print "Done.\n" | 129 | print "Done.\n" |
| 125 | 130 | ||
| 126 | print "Creating image(s)...\n" | ||
| 127 | |||
| 128 | bitbake_env_lines = find_bitbake_env_lines(options.image_name) | 131 | bitbake_env_lines = find_bitbake_env_lines(options.image_name) |
| 129 | if not bitbake_env_lines: | 132 | if not bitbake_env_lines: |
| 130 | print "Couldn't get bitbake environment, exiting." | 133 | print "Couldn't get bitbake environment, exiting." |
| @@ -134,9 +137,24 @@ def wic_create_subcommand(args, usage_str): | |||
| 134 | bootimg_dir = "" | 137 | bootimg_dir = "" |
| 135 | 138 | ||
| 136 | if options.image_name: | 139 | if options.image_name: |
| 140 | if options.build_rootfs: | ||
| 141 | argv = ["bitbake", options.image_name] | ||
| 142 | if options.debug: | ||
| 143 | argv.append("--debug") | ||
| 144 | |||
| 145 | print "Building rootfs...\n" | ||
| 146 | if bitbake_main(BitBakeConfigParameters(argv), | ||
| 147 | cookerdata.CookerConfiguration()): | ||
| 148 | sys.exit(1) | ||
| 149 | |||
| 137 | (rootfs_dir, kernel_dir, bootimg_dir, native_sysroot) \ | 150 | (rootfs_dir, kernel_dir, bootimg_dir, native_sysroot) \ |
| 138 | = find_artifacts(options.image_name) | 151 | = find_artifacts(options.image_name) |
| 139 | 152 | ||
| 153 | else: | ||
| 154 | if options.build_rootfs: | ||
| 155 | print "Image name is not specified, exiting. (Use -e/--image-name to specify it)\n" | ||
| 156 | sys.exit(1) | ||
| 157 | |||
| 140 | wks_file = args[0] | 158 | wks_file = args[0] |
| 141 | 159 | ||
| 142 | if not wks_file.endswith(".wks"): | 160 | if not wks_file.endswith(".wks"): |
| @@ -194,6 +212,7 @@ def wic_create_subcommand(args, usage_str): | |||
| 194 | 212 | ||
| 195 | rootfs_dir = rootfs_dir_to_args(krootfs_dir) | 213 | rootfs_dir = rootfs_dir_to_args(krootfs_dir) |
| 196 | 214 | ||
| 215 | print "Creating image(s)...\n" | ||
| 197 | wic_create(args, wks_file, rootfs_dir, bootimg_dir, kernel_dir, | 216 | wic_create(args, wks_file, rootfs_dir, bootimg_dir, kernel_dir, |
| 198 | native_sysroot, scripts_path, image_output_dir, | 217 | native_sysroot, scripts_path, image_output_dir, |
| 199 | options.debug, options.properties_file) | 218 | options.debug, options.properties_file) |
