Update build script to run in container

Bug: N/A
Test: run kokoro
Change-Id: Ie83204d4ea4630bf3b6783f1605f451082d1051f
diff --git a/build/debian/build.sh b/build/debian/build.sh
index e7e44f2..24de78a 100755
--- a/build/debian/build.sh
+++ b/build/debian/build.sh
@@ -53,6 +53,8 @@
 		udev \
 		qemu-system-arm \
 		qemu-user-static
+
+        sed -i s/losetup\ -f/losetup\ -P\ -f/g /usr/sbin/fai-diskimage
 }
 
 download_debian_cloud_image() {
diff --git a/build/debian/fai_config/hooks/partition.ARM64 b/build/debian/fai_config/hooks/partition.ARM64
new file mode 100755
index 0000000..67eb38d
--- /dev/null
+++ b/build/debian/fai_config/hooks/partition.ARM64
@@ -0,0 +1,40 @@
+#!/bin/sh
+set -eu
+touch $LOGDIR/skip.partition
+
+set -- $disklist
+device=/dev/$1
+file=$(losetup -O BACK-FILE ${device} | tail -1)
+device_root=$(losetup -o 262144 --show -f ${file})
+device_efi=$(losetup -o 2048 --sizelimit 260096 --show -f ${file})
+
+wait_for_device() {
+  for s in $(seq 10); do
+    if [ -e "$1" ]; then
+      break
+    fi
+    sleep 1
+  done
+}
+
+sfdisk "$device" << EOF
+label: gpt
+unit: sectors
+
+# EFI system
+p15 : start=2048, size=260096, type="EFI System", uuid=${PARTUUID_ESP}
+# Linux
+p1 : start=262144, type="Linux root (ARM-64)", uuid=${PARTUUID_ROOT}
+EOF
+
+ls -al /dev/loop*
+losetup -a -l
+
+partprobe "$device"
+
+wait_for_device "$device_root"
+mkfs.ext4 -U "$FSUUID_ROOT" "$device_root"
+tune2fs -c 0 -i 0 "$device_root"
+
+wait_for_device "$device_efi"
+mkfs.vfat "$device_efi"