summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThe Android Open Source Project <initial-contribution@android.com>2010-05-10 11:02:37 -0700
committerThe Android Open Source Project <initial-contribution@android.com>2010-05-10 11:03:12 -0700
commit53bd9111b5ae1fc1180ec13755d9830f7cadacf5 (patch)
tree2807f9b938087a2d054383649176f8fd8617be47
parentcd65e152740c709ab3edc0f4859e996ba27e8ca1 (diff)
parente401583c107e6264ef8904f257f1bc3cee1967a0 (diff)
downloaddiskinstaller-53bd9111b5ae1fc1180ec13755d9830f7cadacf5.tar.gz
Change-Id: I28be55e2d649c8d52ad7ed47c5a19221a886ae7b
-rw-r--r--config.mk23
-rw-r--r--editdisklbl/editdisklbl.c2
-rw-r--r--installer.c5
3 files changed, 25 insertions, 5 deletions
diff --git a/config.mk b/config.mk
index 2cb034d..11f17fc 100644
--- a/config.mk
+++ b/config.mk
@@ -119,9 +119,9 @@ internal_installerimage_args := \
internal_installerimage_files := \
$(filter-out --%,$(internal_installerimage_args))
-BOARD_KERNEL_CMDLINE := $(strip $(BOARD_KERNEL_CMDLINE))
-ifdef BOARD_KERNEL_CMDLINE
- internal_installerimage_args += --cmdline "$(BOARD_KERNEL_CMDLINE)"
+BOARD_INSTALLER_CMDLINE := $(strip $(BOARD_INSTALLER_CMDLINE))
+ifdef BOARD_INSTALLER_CMDLINE
+ internal_installerimage_args += --cmdline "$(BOARD_INSTALLER_CMDLINE)"
endif
installer_tmp_img := $(TARGET_INSTALLER_OUT)/installer_tmp.img
@@ -182,10 +182,27 @@ $(INSTALLED_DISKINSTALLERIMAGE_TARGET): \
inst_data=$(installer_data_img)
@echo "Done with bootable installer image -[ $@ ]-"
+
+######################################################################
+# now convert the installer_img (disk image) to a VirtualBox image
+
+INSTALLED_VBOXINSTALLERIMAGE_TARGET := $(PRODUCT_OUT)/installer.vdi
+virtual_box_manager := VBoxManage
+virtual_box_manager_options := convertfromraw
+
+$(INSTALLED_VBOXINSTALLERIMAGE_TARGET): $(INSTALLED_DISKINSTALLERIMAGE_TARGET)
+ @rm -f $(INSTALLED_VBOXINSTALLERIMAGE_TARGET)
+ @$(virtual_box_manager) $(virtual_box_manager_options) $(INSTALLED_DISKINSTALLERIMAGE_TARGET) $(INSTALLED_VBOXINSTALLERIMAGE_TARGET)
+ @echo "Done with VirtualBox bootable installer image -[ $@ ]-"
+
else # ! TARGET_USE_DISKINSTALLER
INSTALLED_DISKINSTALLERIMAGE_TARGET :=
+INSTALLED_VBOXINSTALLERIMAGE_TARGET :=
endif
endif # TARGET_ARCH == x86
.PHONY: installer_img
installer_img: $(INSTALLED_DISKINSTALLERIMAGE_TARGET)
+
+.PHONY: installer_vdi
+installer_vdi: $(INSTALLED_VBOXINSTALLERIMAGE_TARGET)
diff --git a/editdisklbl/editdisklbl.c b/editdisklbl/editdisklbl.c
index 6a0c31c..792a62a 100644
--- a/editdisklbl/editdisklbl.c
+++ b/editdisklbl/editdisklbl.c
@@ -61,7 +61,7 @@ parse_args(int argc, char *argv[], struct disk_info **dinfo, int *test,
int x;
int update_lba = 0;
- while ((x = getopt (argc, argv, "thl:i:")) != EOF) {
+ while ((x = getopt (argc, argv, "vthl:i:")) != EOF) {
switch (x) {
case 'h':
return usage();
diff --git a/installer.c b/installer.c
index 0bf8f48..7c4762e 100644
--- a/installer.c
+++ b/installer.c
@@ -457,8 +457,10 @@ main(int argc, char *argv[])
}
for (img = images->first_child; img; img = img->next) {
- if (process_image_node(img, device_disk_info, test))
+ if (process_image_node(img, device_disk_info, test)) {
+ LOGE("Unable to write data to partition. Try running 'installer' again.");
return 1;
+ }
++cnt;
}
@@ -473,5 +475,6 @@ main(int argc, char *argv[])
return 1;
LOGI("Done processing installer config. Configured %d images", cnt);
+ LOGI("Type 'reboot' or reset to run new image");
return 0;
}