edit menuentry to include cmdline_extra

BUG=b/413014554
TEST=presubmit
RELEASE_NOTE=None

cos-patch: bug
Change-Id: I20f314de241af5eff433ef32f00d108df5a6b484
Reviewed-on: https://cos-review.googlesource.com/c/third_party/platform/crosutils/+/142463
Reviewed-by: Robert Kolchmeyer <rkolchmeyer@google.com>
Tested-by: Cusky Presubmit Bot <presubmit@cos-infra-prod.iam.gserviceaccount.com>
diff --git a/build_library/create_legacy_bootloader_templates.sh b/build_library/create_legacy_bootloader_templates.sh
index 8b248de..ab22b5c 100755
--- a/build_library/create_legacy_bootloader_templates.sh
+++ b/build_library/create_legacy_bootloader_templates.sh
@@ -159,29 +159,33 @@
 
 # NOTE: These magic grub variables are a Chrome OS hack. They are not portable.
 
+KERNEL_CMDLINE_ALLOWLIST=""
+cmdline_extra=""
+pickargs --infile (\$grubdisk,gpt12)/efi/boot/cmdline_extra.bin --allowlistvar KERNEL_CMDLINE_ALLOWLIST --outvar cmdline_extra
+
 menuentry "local image A" {
   linux /syslinux/vmlinuz.A ${common_args} i915.modeset=1 cros_efi \
-      root=/dev/\$linuxpartA
+      root=/dev/\$linuxpartA \$cmdline_extra
 }
 
 menuentry "local image B" {
   linux /syslinux/vmlinuz.B ${common_args} i915.modeset=1 cros_efi \
-      root=/dev/\$linuxpartB
+      root=/dev/\$linuxpartB \$cmdline_extra
 }
 
 menuentry "verified image A" {
   linux /syslinux/vmlinuz.A ${common_args} ${verity_common} \
-      i915.modeset=1 cros_efi root=${ROOTDEV} dm-mod.create="DMTABLEA"
+      i915.modeset=1 cros_efi root=${ROOTDEV} dm-mod.create="DMTABLEA" \$cmdline_extra
 }
 
 menuentry "verified image B" {
   linux /syslinux/vmlinuz.B ${common_args} ${verity_common} \
-      i915.modeset=1 cros_efi root=${ROOTDEV} dm-mod.create="DMTABLEB"
+      i915.modeset=1 cros_efi root=${ROOTDEV} dm-mod.create="DMTABLEB" \$cmdline_extra
 }
 
 # FIXME: usb doesn't support verified boot for now
 menuentry "Alternate USB Boot" {
-  linux (hd0,${partition_num_root_a})/boot/vmlinuz ${common_args} root=HDROOTUSB i915.modeset=1 cros_efi
+  linux (hd0,${partition_num_root_a})/boot/vmlinuz ${common_args} root=HDROOTUSB i915.modeset=1 cros_efi \$cmdline_extra
 }
 EOF
   if [[ ${FLAGS_enable_rootfs_verification} -eq ${FLAGS_TRUE} ]]; then
@@ -316,24 +320,28 @@
 
 # NOTE: These magic grub variables are a Chrome OS hack. They are not portable.
 
+KERNEL_CMDLINE_ALLOWLIST=""
+cmdline_extra=""
+pickargs --infile (\$grubdisk,gpt12)/efi/boot/cmdline_extra.bin --allowlistvar KERNEL_CMDLINE_ALLOWLIST --outvar cmdline_extra
+
 menuentry "local image A" {
   linux /syslinux/vmlinuz.A ${common_args} cros_efi \
-      root=/dev/\$linuxpartA
+      root=/dev/\$linuxpartA \$cmdline_extra
 }
 
 menuentry "local image B" {
   linux /syslinux/vmlinuz.B ${common_args} cros_efi \
-      root=/dev/\$linuxpartB
+      root=/dev/\$linuxpartB \$cmdline_extra
 }
 
 menuentry "verified image A" {
   linux /syslinux/vmlinuz.A ${common_args} ${verity_common} \
-      cros_efi root=${ROOTDEV} dm-mod.create="DMTABLEA"
+      cros_efi root=${ROOTDEV} dm-mod.create="DMTABLEA" \$cmdline_extra
 }
 
 menuentry "verified image B" {
   linux /syslinux/vmlinuz.B ${common_args} ${verity_common} \
-      cros_efi root=${ROOTDEV} dm-mod.create="DMTABLEB"
+      cros_efi root=${ROOTDEV} dm-mod.create="DMTABLEB" \$cmdline_extra
 }
 
 EOF