code: @Override
      public void initialProvisioning(BundleContext systemBundleCtx, BootstrapConfig config) throws InvalidBundleContextException {
          BundleInstallStatus installStatus;
          BundleStartStatus startStatus;
  
          // Obtain/initialize provisioner-related services and resources
          getServices(systemBundleCtx);
          try {
  
              // Install the platform bundles (default start level of kernel,
              // minimum level of bootstrap)
              installStatus = installBundles(config);
              checkInstallStatus(installStatus);
  
              // Un-publicized boolean switch: if true, we won't start the
              // initially provisioned bundles: they would have to be started manually from the osgi
              // console. Also, only start bundles if the framework isn't already stopping
              // for some other reason..
              String bundleDebug = config.get("kernel.debug.bundlestart.enabled");
  
              // getBundle() will throw IllegalStateException (per spec)
              // if context is no longer valid (i.e. framework is stoppping.. )
              if (systemBundleCtx.getBundle() != null && (bundleDebug == null || "false".equals(bundleDebug))) {
                  startStatus = startBundles(installStatus.getBundlesToStart());
                  checkStartStatus(startStatus);
  
                  // Update start level through the feature prepare layer.
                  // we'll get errors if any of the bundles we need have issues
                  // starting...
                  startStatus = setFrameworkStartLevel(KernelStartLevel.FEATURE_PREPARE.getLevel());
                  checkStartStatus(startStatus);
              }
          } finally {
              // Cleanup provisioner-related services and resources
              releaseServices();
          }
      }
docs: Install the platform bundles, and check the returned install status for
  exceptions, and issue appropriate diagnostics. Specifically, look for
  pre-install exceptions, install
  exceptions, or flat-out missing bundles (things listed in the bundle list
  that didn't match any of the jars in the install dir).
  
  @param provisioner
  @param platformBundles
  @return installStatus
  @throws LaunchException