Fix NVMe partition naming logic, and resolve GRUB kernel boot and systemd TTY path bugs on ARM64

- Replace custom partition wrappers with standard GCOS partutil.PartNumIntToString utility.
- Fix customizer repartition reboot loop on ARM64 builder VMs by dynamically resolving systemd last-run TTYPath based on architecture (/dev/ttyAMA2 on ARM64).
- Fix boot rescue shell hangs on ARM64 UEFI by checking and copying the missing vmlinuz.B kernel on the EFI partition.

Change-Id: I2223a29c23cc48e89f9325384839b1940db9558b
Reviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/159704
Tested-by: He Gao <hegao@google.com>
Cloud-Build: 228075978874@cloudbuild.gserviceaccount.com <228075978874@cloudbuild.gserviceaccount.com>
Reviewed-by: He Gao <hegao@google.com>
2 files changed
tree: 52bdd70b36b9210d1dd0df550861ea593123194c
  1. coverage/
  2. release/
  3. src/
  4. testing/
  5. vendor/
  6. .bazelignore
  7. .gitignore
  8. BUILD.bazel
  9. cloudbuild.yaml
  10. CONTRIBUTING.md
  11. deps.bzl
  12. go.mod
  13. go.sum
  14. LICENSE
  15. postsubmit-cloudbuild.yaml
  16. README.md
  17. run_builds.sh
  18. run_unit_tests.sh
  19. WORKSPACE
README.md

Tools for Container-Optimized OS

This is a repository of various tools developed for Container-Optimized OS. Examples include cos-gpu-installer, cos-toolbox, etc.

See CONTRIBUTING.md for how to contribute.