Update toolbox: base debian image, crash, docker-credential-gcr and gcloud pkg

- crash updated to v8.0.4.
- docker-credential-gcr updated to v2.1.22.
- gcloud sdk version pinning removed to track latest.

Update toolbox container image causes 0.7G increase in uncompressed container image size which will add to the usage of /mnt/stateful_partition.

BUG=b/312477011, b/321882820
TEST=run toolbox on COS VM (x86 and arm), run crash /proc/kcore with vmlinux

Change-Id: I02991ca9abdeb1a3f1fa70f264ad9e82987c8a09
Reviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/64771
Tested-by: Arnav Kansal <rnv@google.com>
Cloud-Build: GCB Service account <228075978874@cloudbuild.gserviceaccount.com>
Reviewed-by: Oleksandr Tymoshenko <ovt@google.com>
diff --git a/src/cmd/toolbox/Dockerfile b/src/cmd/toolbox/Dockerfile
index b57deb5..c527ede 100644
--- a/src/cmd/toolbox/Dockerfile
+++ b/src/cmd/toolbox/Dockerfile
@@ -1,4 +1,4 @@
-FROM debian:bullseye-backports
+FROM debian:bullseye
 
 # Prepare the image.
 ENV DEBIAN_FRONTEND noninteractive
@@ -9,8 +9,8 @@
 
 ARG TARGETARCH
 
-RUN cd $(mktemp -d) && curl -L -O "https://github.com/GoogleCloudPlatform/docker-credential-gcr/releases/download/v2.1.10/docker-credential-gcr_linux_$TARGETARCH-2.1.10.tar.gz" && \
-    tar xvf "docker-credential-gcr_linux_$TARGETARCH-2.1.10.tar.gz" && \
+RUN cd $(mktemp -d) && curl -L -O "https://github.com/GoogleCloudPlatform/docker-credential-gcr/releases/download/v2.1.22/docker-credential-gcr_linux_$TARGETARCH-2.1.22.tar.gz" && \
+    tar xvf "docker-credential-gcr_linux_$TARGETARCH-2.1.22.tar.gz" && \
     mv docker-credential-gcr /usr/bin/ && rm -r $(pwd)
 
 # Install the Google Cloud SDK.
@@ -21,7 +21,7 @@
     tee -a /etc/apt/sources.list.d/google-cloud-sdk.list && \
     curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | \
     apt-key --keyring /usr/share/keyrings/cloud.google.gpg add - \
-    && apt-get update && apt-get -y -qq install google-cloud-sdk=369.0.0-0 && apt-get clean
+    && apt-get update && apt-get -y -qq install google-cloud-sdk && apt-get clean
 
 # Various networking and other tools. net-tools installs arp, netstat, etc.
 RUN apt-get install -u -qq vim \
@@ -33,8 +33,23 @@
 RUN apt-get update && \
     apt-get install -u -qq \
         xz-utils make gcc python3-minimal bc libelf-dev libssl-dev \
-        crash bison flex dwarves libdw1 && \
+        bison flex dwarves libdw1 binutils && \
     apt-get clean
+
+RUN BUILD_DEPS="binutils-dev bison gawk \
+    flex zlib1g-dev libncurses5-dev liblzo2-dev libsnappy-dev \
+    make wget git texinfo g++" \
+    && apt-get install -y $BUILD_DEPS \
+    && curl -L -O https://github.com/crash-utility/crash/archive/refs/tags/8.0.4.tar.gz \
+    && tar xf 8.0.4.tar.gz && make -j$(nproc) -C crash-8.0.4 \
+    && make -C crash-8.0.4 extensions \
+    && mkdir -p /usr/lib/crash/extensions \
+    && cp -f crash-8.0.4/crash /usr/bin/crash \
+    && cp -f crash-8.0.4/extensions/*.so /usr/lib/crash/extensions/ \
+    && strip /usr/bin/crash /usr/lib/crash/extensions/*.so \
+    && rm -rf 8.0.4.tar.gz crash-8.0.4 \
+    && apt-get purge -y --auto-remove $BUILD_DEPS
+
 COPY cos-kernel /usr/local/bin
 
 VOLUME ["/.config"]
diff --git a/src/cmd/toolbox/cloudbuild.yaml b/src/cmd/toolbox/cloudbuild.yaml
index bd02d09..4cc5a6f 100644
--- a/src/cmd/toolbox/cloudbuild.yaml
+++ b/src/cmd/toolbox/cloudbuild.yaml
@@ -1,4 +1,5 @@
 options:
+  machineType: 'N1_HIGHCPU_8'
   env:
   - 'DOCKER_CLI_EXPERIMENTAL=enabled'
 steps:
@@ -24,4 +25,4 @@
   args: ['buildx', 'build', '--platform', 'linux/amd64,linux/arm64', '--build-arg', 'BUILDKIT_INLINE_CACHE=1', '-f', 'src/cmd/toolbox/Dockerfile', '-t', 'gcr.io/${_OUTPUT_PROJECT}/toolbox:latest', '-t', 'gcr.io/${_OUTPUT_PROJECT}/toolbox:${TAG_NAME}', '--cache-from', 'gcr.io/${_OUTPUT_PROJECT}/toolbox:latest', '--push', 'src/cmd/toolbox']
 - name: 'gcr.io/cloud-builders/docker'
   args: ['pull','gcr.io/${_OUTPUT_PROJECT}/toolbox:${TAG_NAME}']
-timeout: 1800s
+timeout: 7200s