Browse code

make cloud images improvements:

* move vixdisklib target to the root Makefile
* use sgdisk to get PARTUUID if blkid failed

Change-Id: Ibd614487278569cafd9cb6fd9e5ee44be2a97dcf
Reviewed-on: http://photon-jenkins.eng.vmware.com:8082/1518
Tested-by: gerrit-photon <photon-checkins@vmware.com>
Reviewed-by: suezzelur <anishs@vmware.com>

Fix typo in computing PARTUUID

Change-Id: Iff37819b504d7c4c6d26ea07fb571c81a6b727b0
Reviewed-on: http://photon-jenkins.eng.vmware.com:8082/1540
Tested-by: gerrit-photon <photon-checkins@vmware.com>
Reviewed-by: suezzelur <anishs@vmware.com>
Reviewed-on: http://photon-jenkins.eng.vmware.com:8082/1879
Reviewed-by: Alexey Makhalov <amakhalov@vmware.com>

Alexey Makhalov authored on 2016/10/14 03:31:31
Showing 7 changed files
... ...
@@ -49,6 +49,7 @@ endif
49 49
 
50 50
 TOOLS_BIN := $(SRCROOT)/tools/bin
51 51
 CONTAIN := $(TOOLS_BIN)/contain
52
+VIXDISKUTIL := $(TOOLS_BIN)/vixdiskutil
52 53
 
53 54
 .PHONY : all iso clean photon-build-machine photon-vagrant-build photon-vagrant-local cloud-image \
54 55
 check check-docker check-bison check-g++ check-gawk check-createrepo check-vagrant check-packer check-packer-ovf-plugin check-sanity \
... ...
@@ -430,13 +431,13 @@ photon-vagrant-local: check-packer check-vagrant
430 430
 		echo "Unable to find $(PHOTON_STAGE)/photon-$(PHOTON_RELEASE_VERSION)-$(PHOTON_BUILD_NUMBER).iso ... aborting build"; \
431 431
 	fi
432 432
 
433
-cloud-image: $(PHOTON_STAGE) iso
433
+cloud-image: $(PHOTON_STAGE) $(VIXDISKUTIL) iso
434 434
 	@echo "Building cloud image $(IMG_NAME)..."
435 435
 	@cd $(PHOTON_CLOUD_IMAGE_BUILDER_DIR)
436 436
 	$(PHOTON_CLOUD_IMAGE_BUILDER) $(PHOTON_CLOUD_IMAGE_BUILDER_DIR) $(IMG_NAME) $(SRCROOT) $(PHOTON_GENERATED_DATA_DIR) $(PHOTON_STAGE)/photon-$(PHOTON_RELEASE_VERSION)-$(PHOTON_BUILD_NUMBER).iso $(ADDITIONAL_RPMS_PATH)
437 437
 
438 438
 
439
-cloud-image-all: $(PHOTON_STAGE) iso
439
+cloud-image-all: $(PHOTON_STAGE) $(VIXDISKUTIL) iso
440 440
 	@echo "Building cloud images - gce, ami, azure and ova..."
441 441
 	@cd $(PHOTON_CLOUD_IMAGE_BUILDER_DIR)
442 442
 	$(PHOTON_CLOUD_IMAGE_BUILDER) $(PHOTON_CLOUD_IMAGE_BUILDER_DIR) gce $(SRCROOT) $(PHOTON_GENERATED_DATA_DIR) $(PHOTON_STAGE)/photon-$(PHOTON_RELEASE_VERSION)-$(PHOTON_BUILD_NUMBER).iso $(ADDITIONAL_RPMS_PATH)
... ...
@@ -509,3 +510,7 @@ $(CONTAIN): $(TOOLS_BIN)
509 509
 	gcc -O2 -std=gnu99 -Wall -Wextra $(SRCROOT)/tools/src/contain/*.c -o $@_unpriv
510 510
 	sudo install -o root -g root -m 4755 $@_unpriv $@
511 511
 
512
+$(VIXDISKUTIL): $(TOOLS_BIN)
513
+	@cd $(SRCROOT)/tools/src/vixDiskUtil && \
514
+	make
515
+
... ...
@@ -73,6 +73,10 @@ rm -rf $PHOTON_IMG_OUTPUT_PATH/photon-${IMG_NAME}
73 73
 mkdir $PHOTON_IMG_OUTPUT_PATH/photon-${IMG_NAME}
74 74
 
75 75
 UUID_VALUE=$(blkid -s UUID -o value /dev/mapper/${DEVICE_NAME}p2)
76
+PARTUUID_VALUE=$(blkid -s PARTUUID -o value /dev/mapper/${DEVICE_NAME}p2)
77
+if [ -z "$PARTUUID_VALUE" ] ; then
78
+  PARTUUID_VALUE=$(sgdisk -i 2 $DISK_DEVICE | grep "Partition unique GUID" | cut -d ' ' -f 4)
79
+fi
76 80
 
77 81
 mkdir -p $ISO_MOUNT_FOLDER
78 82
 mount -o loop $PHOTON_ISO_PATH $ISO_MOUNT_FOLDER
... ...
@@ -87,6 +91,7 @@ rm -f $PHOTON_IMG_OUTPUT_PATH/photon-${IMG_NAME}/etc/machine-id
87 87
 touch $PHOTON_IMG_OUTPUT_PATH/photon-${IMG_NAME}/etc/machine-id
88 88
 rm -f $PHOTON_IMG_OUTPUT_PATH/photon-${IMG_NAME}/etc/fstab
89 89
 echo "UUID=$UUID_VALUE    /    ext4    defaults 1 1" >> $PHOTON_IMG_OUTPUT_PATH/photon-${IMG_NAME}/etc/fstab
90
+sed -i "s/rootpartition=PARTUUID=$/rootpartition=PARTUUID=$PARTUUID_VALUE/" $PHOTON_IMG_OUTPUT_PATH/photon-${IMG_NAME}/boot/grub/grub.cfg
90 91
 
91 92
 mount -o bind /proc $PHOTON_IMG_OUTPUT_PATH/photon-${IMG_NAME}/proc
92 93
 mount -o bind /dev $PHOTON_IMG_OUTPUT_PATH/photon-${IMG_NAME}/dev
... ...
@@ -64,7 +64,7 @@ fi
64 64
 #
65 65
 #	Install grub2.
66 66
 #
67
-UUID=$(blkid -s UUID -o value $ROOT_PARTITION_PATH)
67
+PARTUUID=$(blkid -s PARTUUID -o value $ROOT_PARTITION_PATH)
68 68
 BOOT_UUID=$(blkid -s UUID -o value $BOOT_PARTITION_PATH)
69 69
 
70 70
 
... ...
@@ -112,13 +112,13 @@ set theme=/boot/grub2/themes/photon/theme.txt
112 112
 menuentry "Photon" {
113 113
 	insmod ext2
114 114
     insmod part_gpt
115
-	linux /boot/vmlinuz-4.4.8 init=/lib/systemd/systemd root=UUID=UUID_PLACEHOLDER loglevel=3 ro
115
+	linux /boot/vmlinuz-4.4.8 init=/lib/systemd/systemd root=PARTUUID=UUID_PLACEHOLDER loglevel=3 ro
116 116
 	initrd /boot/initrd.img-no-kmods
117 117
 }
118 118
 # End /boot/grub2/grub.cfg
119 119
 EOF
120 120
 
121
-sed -i "s/UUID_PLACEHOLDER/$UUID/" "$BUILDROOT"/boot/grub2/grub.cfg > ${LOGFILE}	
121
+sed -i "s/UUID_PLACEHOLDER/$PARTUUID/" "$BUILDROOT"/boot/grub2/grub.cfg > ${LOGFILE}
122 122
 
123 123
 #Cleanup the workspace directory
124 124
 rm -rf "$BUILDROOT"/tools
... ...
@@ -13,10 +13,6 @@ sed "s|VMDK_IMAGE|$PHOTON_IMG_OUTPUT_PATH/photon-custom.vmdk|" vmx-template > /t
13 13
 
14 14
 cp ../update_custom_password.py $PHOTON_IMG_OUTPUT_PATH/
15 15
 
16
-cd $SRC_ROOT/tools/src/vixDiskUtil
17
-mkdir -p $SRC_ROOT/tools/bin
18
-make clean
19
-make
20 16
 $SRC_ROOT/tools/bin/vixdiskutil -convert $PHOTON_IMG_OUTPUT_PATH/photon-ova.raw -cap 16000 $PHOTON_IMG_OUTPUT_PATH/photon-ova.vmdk
21 17
 $SRC_ROOT/tools/bin/vixdiskutil -wmeta toolsVersion 2147483647 $PHOTON_IMG_OUTPUT_PATH/photon-ova.vmdk
22 18
 
... ...
@@ -13,10 +13,6 @@ sed "s|VMDK_IMAGE|$PHOTON_IMG_OUTPUT_PATH/photon-generic-custom.vmdk|" vmx-gener
13 13
 
14 14
 cp ../update_custom_password.py $PHOTON_IMG_OUTPUT_PATH/
15 15
 
16
-cd $SRC_ROOT/tools/src/vixDiskUtil
17
-mkdir -p $SRC_ROOT/tools/bin
18
-make clean
19
-make
20 16
 $SRC_ROOT/tools/bin/vixdiskutil -convert $PHOTON_IMG_OUTPUT_PATH/photon-ova_generic.raw -cap 16000 $PHOTON_IMG_OUTPUT_PATH/photon-generic-ova.vmdk
21 17
 $SRC_ROOT/tools/bin/vixdiskutil -wmeta toolsVersion 2147483647 $PHOTON_IMG_OUTPUT_PATH/photon-generic-ova.vmdk
22 18
 
... ...
@@ -9,11 +9,6 @@ sed "s|VMDK_IMAGE|$PHOTON_IMG_OUTPUT_PATH/photon-ova-ovs.vmdk|" vmx-ovs-template
9 9
 
10 10
 cp ../update_custom_password.py $PHOTON_IMG_OUTPUT_PATH/
11 11
 
12
-cd $SRC_ROOT/tools/src/vixDiskUtil
13
-mkdir -p $SRC_ROOT/tools/bin
14
-make clean
15
-make
16
-
17 12
 cd $PHOTON_IMG_OUTPUT_PATH
18 13
 
19 14
 DISK_DEVICE=`losetup --show -f ${PHOTON_IMG_OUTPUT_PATH}/photon-ova_ovs.raw`
... ...
@@ -7,11 +7,6 @@ rm -f $PHOTON_IMG_OUTPUT_PATH/*.vmdk
7 7
 rm -f $PHOTON_IMG_OUTPUT_PATH/*.ova
8 8
 sed "s|VMDK_IMAGE|$PHOTON_IMG_OUTPUT_PATH/photon-ova-uefi.vmdk|" vmx-uefi-template > /tmp/vmx-temp-uefi.vmx
9 9
 
10
-cd $SRC_ROOT/tools/src/vixDiskUtil
11
-mkdir -p $SRC_ROOT/tools/bin
12
-make clean
13
-make
14
-
15 10
 cd $PHOTON_IMG_OUTPUT_PATH
16 11
 
17 12
 DISK_DEVICE=`losetup --show -f ${PHOTON_IMG_OUTPUT_PATH}/photon-ova_uefi.raw`