#!/bin/sh # Copyright 2018 Google Inc. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. PREREQ="" prereqs() { echo "$PREREQ" } case $1 in prereqs) prereqs exit 0 ;; esac . /scripts/functions . /scripts/expandfs-lib.sh if ! rootdev=$(resolve_device "${ROOT}"); then log_failure_message "Failed to resolve root device for \"${ROOT}\"" fi if ! fs_type=$(get_fstype "${rootdev}"); then log_failure_message "Failed to determine fstype for \"${rootdev}\"" fi if ! out=$(split_partition "$rootdev"); then log_failure_message "Failed to detect disk and partition info: ${out}" exit 0 fi disk=${out%:*} partnum=${out#*:} if ! parted_needresize "${disk}" "${partnum}"; then log_success_message "Disk ${rootdev} doesn't need resizing." exit 0 fi if ! out=$(parted_fix_gpt "$disk"); then log_failure_message "Failed to fix GPT: ${out}" exit 0 fi echo "Resizing partition on ${rootdev}" if ! out=$(parted_resizepart "${disk}" "${partnum}"); then log_failure_message "Failed to resize partition: ${out}" exit 0 fi echo "Resizing filesystem on ${rootdev}" if ! out=$(resize_filesystem "${rootdev}"); then log_failure_message "Failed to resize filesystem: ${out}" exit 0 fi