Skip to content

Commit 3850bde

Browse files
committed
Bash scripts for building GCE image is directly executed by golang script.
1 parent 37b47f4 commit 3850bde

File tree

5 files changed

+28
-14
lines changed

5 files changed

+28
-14
lines changed

tools/baseimage/cmd/create_gce_x86_64_fixed_kernel/main.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,13 +29,19 @@ const (
2929
debianSourceImage = "debian-13-trixie-v20251014"
3030
)
3131

32+
const mountpoint = "/mnt/image"
33+
3234
var (
3335
project = flag.String("project", "", "GCE project whose resources will be used for creating the image")
3436
zone = flag.String("zone", "us-central1-a", "GCE zone used for creating relevant resources")
3537
linuxImageDeb = flag.String("linux-image-deb", "", "linux-image-* package name. E.g. linux-image-6.1.0-40-cloud-amd64")
3638
imageName = flag.String("image-name", "", "output GCE image name")
3739
)
3840

41+
func mountAttachedDisk(project, zone, insName string) error {
42+
return gce.RunCmd(project, zone, insName, "./mount_attached_disk.sh "+mountpoint)
43+
}
44+
3945
func createImageMain(project, zone, linuxImageDeb, imageName string) error {
4046
h, err := gce.NewGceHelper(project, zone)
4147
if err != nil {
@@ -101,6 +107,9 @@ func createImageMain(project, zone, linuxImageDeb, imageName string) error {
101107
}
102108
}
103109
// Execute Scripts
110+
if err := mountAttachedDisk(project, zone, insName); err != nil {
111+
return fmt.Errorf("mountAttachedDisk error: %v", err)
112+
}
104113
if err := gce.RunCmd(project, zone, insName, "./install_kernel_main.sh "+linuxImageDeb); err != nil {
105114
return err
106115
}

tools/baseimage/cmd/create_gce_x86_64_image/main.go

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@ import (
2424
"github.com/google/android-cuttlefish/tools/baseimage/pkg/gce/scripts"
2525
)
2626

27+
const mountpoint = "/mnt/image"
28+
2729
var (
2830
project = flag.String("project", "", "GCE project whose resources will be used for creating the image")
2931
zone = flag.String("zone", "us-central1-a", "GCE zone used for creating relevant resources")
@@ -38,6 +40,14 @@ type createImageOpts struct {
3840
ImageName string
3941
}
4042

43+
func fillAvailableSpace(project, zone, insName string) error {
44+
return gce.RunCmd(project, zone, insName, "./fill_available_disk_space.sh")
45+
}
46+
47+
func mountAttachedDisk(project, zone, insName string) error {
48+
return gce.RunCmd(project, zone, insName, "./mount_attached_disk.sh "+mountpoint)
49+
}
50+
4151
func createImageMain(project, zone string, opts createImageOpts) error {
4252
h, err := gce.NewGceHelper(project, zone)
4353
if err != nil {
@@ -94,6 +104,7 @@ func createImageMain(project, zone string, opts createImageOpts) error {
94104
dstname string
95105
content string
96106
}{
107+
{"fill_available_disk_space.sh", scripts.FillAvailableDiskSpace},
97108
{"mount_attached_disk.sh", scripts.MountAttachedDisk},
98109
{"install_nvidia.sh", scripts.InstallNvidia},
99110
{"create_base_image_main.sh", scripts.CreateBaseImageMain},
@@ -104,6 +115,12 @@ func createImageMain(project, zone string, opts createImageOpts) error {
104115
}
105116
}
106117
// Execute Scripts
118+
if err := fillAvailableSpace(project, zone, insName); err != nil {
119+
return fmt.Errorf("fillAvailableSpace error: %v", err)
120+
}
121+
if err := mountAttachedDisk(project, zone, insName); err != nil {
122+
return fmt.Errorf("mountAttachedDisk error: %v", err)
123+
}
107124
if err := gce.RunCmd(project, zone, insName, "./create_base_image_main.sh"); err != nil {
108125
return err
109126
}

tools/baseimage/cmd/gce_install_cuttlefish_packages/main.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ func fillAvailableSpace(project, zone, insName string) error {
9494
return gce.RunCmd(project, zone, insName, "./fill_available_disk_space.sh")
9595
}
9696

97-
func mountAttachedDisk(project, zone, insName, mountpoint string) error {
97+
func mountAttachedDisk(project, zone, insName string) error {
9898
return gce.RunCmd(project, zone, insName, "./mount_attached_disk.sh "+mountpoint)
9999
}
100100

@@ -196,7 +196,7 @@ func amendImageMain(project, zone string, opts amendImageOpts) error {
196196
return fmt.Errorf("fillAvailableSpace error: %v", err)
197197
}
198198

199-
if err := mountAttachedDisk(project, zone, insName, mountpoint); err != nil {
199+
if err := mountAttachedDisk(project, zone, insName); err != nil {
200200
return fmt.Errorf("mountAttachedDisk error: %v", err)
201201
}
202202

tools/baseimage/pkg/gce/scripts/create_base_image_main.sh

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -22,16 +22,6 @@ sudo apt-get upgrade -y
2222
# Avoids blocking "Default mirror not found" popup prompt when pbuilder is installed.
2323
echo "pbuilder pbuilder/mirrorsite string https://deb.debian.org/debian" | sudo debconf-set-selections
2424

25-
# Resize
26-
sudo apt install -y cloud-utils
27-
sudo apt install -y cloud-guest-utils
28-
sudo apt install -y fdisk
29-
sudo growpart /dev/sdb 1 || /bin/true
30-
sudo e2fsck -f -y /dev/sdb1 || /bin/true
31-
sudo resize2fs /dev/sdb1
32-
33-
./mount_attached_disk.sh /mnt/image
34-
3525
kmodver_begin=$(sudo chroot /mnt/image/ /usr/bin/dpkg -s linux-image-cloud-amd64 | grep ^Depends: | \
3626
cut -d: -f2 | cut -d" " -f2 | sed 's/linux-image-//')
3727
echo "IMAGE STARTS WITH KERNEL: ${kmodver_begin}"

tools/baseimage/pkg/gce/scripts/install_kernel_main.sh

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,6 @@ linux_image_deb=$1
2626
sudo apt-get update
2727
sudo apt-get upgrade -y
2828

29-
./mount_attached_disk.sh /mnt/image
30-
3129
version=$(sudo chroot /mnt/image/ /usr/bin/dpkg -s linux-image-cloud-amd64 | grep ^Depends: | \
3230
cut -d: -f2 | cut -d" " -f2 )
3331
echo "START VERSION: ${version}"

0 commit comments

Comments
 (0)