build_image: drop sudo when using mkfs on non-root files

The use of sudo here is just to get a $PATH that includes these tools.
There's no need to run these as root since we're working on files the
user has created.

BUG=None
TEST=build_image still works

Change-Id: I2d10bcb795606bd118666097d78e94370391b2ec
Reviewed-on: https://gerrit.chromium.org/gerrit/49368
Tested-by: Mike Frysinger <vapier@chromium.org>
Reviewed-by: Chris Sosa <sosa@chromium.org>
Commit-Queue: David James <davidjames@chromium.org>
diff --git a/build_library/base_image_util.sh b/build_library/base_image_util.sh
index 9a263bb..eb8900d 100755
--- a/build_library/base_image_util.sh
+++ b/build_library/base_image_util.sh
@@ -91,21 +91,25 @@
 
   local fs_block_size=$(get_fs_block_size)
 
+  # These are often not in non-root $PATH, but they contain tools that
+  # we can run just fine w/non-root users when we work on plain files.
+  PATH+=":/sbin:/usr/sbin"
+
   # Build root FS image.
   info "Building ${root_fs_img}"
   dd if=/dev/zero of="${root_fs_img}" bs=1 count=1 \
     seek=$((root_fs_bytes - 1)) status=none
-  sudo mkfs.ext2 -F -q -b ${fs_block_size} "${root_fs_img}" \
+  mkfs.ext2 -F -q -b ${fs_block_size} "${root_fs_img}" \
     "$((root_fs_bytes / fs_block_size))"
-  sudo tune2fs -L "${root_fs_label}" \
-               -U clear \
-               -T 20091119110000 \
-               -c 0 \
-               -i 0 \
-               -m 0 \
-               -r 0 \
-               -e remount-ro \
-                "${root_fs_img}"
+  tune2fs -L "${root_fs_label}" \
+          -U clear \
+          -T 20091119110000 \
+          -c 0 \
+          -i 0 \
+          -m 0 \
+          -r 0 \
+          -e remount-ro \
+          "${root_fs_img}"
   mkdir -p "${root_fs_dir}"
   sudo mount -o loop "${root_fs_img}" "${root_fs_dir}"
 
@@ -115,9 +119,9 @@
   info "Building ${stateful_fs_img}"
   dd if=/dev/zero of="${stateful_fs_img}" bs=1 count=1 \
     seek=$((stateful_fs_bytes - 1)) status=none
-  sudo mkfs.ext4 -F -q "${stateful_fs_img}"
-  sudo tune2fs -L "${stateful_fs_label}" -U "${stateful_fs_uuid}" \
-               -c 0 -i 0 "${stateful_fs_img}"
+  mkfs.ext4 -F -q "${stateful_fs_img}"
+  tune2fs -L "${stateful_fs_label}" -U "${stateful_fs_uuid}" \
+          -c 0 -i 0 "${stateful_fs_img}"
   mkdir -p "${stateful_fs_dir}"
   sudo mount -o loop "${stateful_fs_img}" "${stateful_fs_dir}"
 
@@ -125,18 +129,21 @@
   info "Building ${esp_fs_img}"
   dd if=/dev/zero of="${esp_fs_img}" bs=1 count=1 \
     seek=$((esp_fs_bytes - 1)) status=none
-  sudo mkfs.vfat "${esp_fs_img}"
+  mkfs.vfat "${esp_fs_img}"
 
   # Build OEM FS disk image.
   info "Building ${oem_fs_img}"
   dd if=/dev/zero of="${oem_fs_img}" bs=1 count=1 \
     seek=$((oem_fs_bytes - 1)) status=none
-  sudo mkfs.ext4 -F -q "${oem_fs_img}"
-  sudo tune2fs -L "${oem_fs_label}" -U "${oem_fs_uuid}" \
-               -c 0 -i 0 "${oem_fs_img}"
+  mkfs.ext4 -F -q "${oem_fs_img}"
+  tune2fs -L "${oem_fs_label}" -U "${oem_fs_uuid}" \
+          -c 0 -i 0 "${oem_fs_img}"
   mkdir -p "${oem_fs_dir}"
   sudo mount -o loop "${oem_fs_img}" "${oem_fs_dir}"
 
+  # mke2fs is funky and sets the root dir owner to current uid:gid.
+  sudo chown 0:0 "${root_fs_dir}" "${stateful_fs_dir}" "${oem_fs_dir}"
+
   # Prepare stateful partition with some pre-created directories.
   sudo mkdir "${stateful_fs_dir}/dev_image"
   sudo mkdir "${stateful_fs_dir}/var_overlay"