OLD | NEW |
1 #!/bin/bash | 1 #!/bin/bash |
2 | 2 |
3 # Copyright (c) 2010 The Chromium OS Authors. All rights reserved. | 3 # Copyright (c) 2010 The Chromium OS Authors. All rights reserved. |
4 # Use of this source code is governed by a BSD-style license that can be | 4 # Use of this source code is governed by a BSD-style license that can be |
5 # found in the LICENSE file. | 5 # found in the LICENSE file. |
6 | 6 |
7 # Creates an empty ESP image. | 7 # Creates an empty ESP image. |
8 | 8 |
9 . "$(dirname "$0")/common.sh" | 9 # --- BEGIN COMMON.SH BOILERPLATE --- |
| 10 # Load common CrOS utilities. Inside the chroot this file is installed in |
| 11 # /usr/lib/crosutils. Outside the chroot we find it relative to the script's |
| 12 # location. |
| 13 find_common_sh() { |
| 14 local common_paths=(/usr/lib/crosutils $(dirname "$(readlink -f "$0")")) |
| 15 local path |
| 16 |
| 17 SCRIPT_ROOT= |
| 18 for path in "${common_paths[@]}"; do |
| 19 if [ -r "${path}/common.sh" ]; then |
| 20 SCRIPT_ROOT=${path} |
| 21 break |
| 22 fi |
| 23 done |
| 24 } |
| 25 |
| 26 find_common_sh |
| 27 . "${SCRIPT_ROOT}/common.sh" || (echo "Unable to load common.sh" && exit 1) |
| 28 # --- END COMMON.SH BOILERPLATE --- |
10 | 29 |
11 get_default_board | 30 get_default_board |
12 | 31 |
13 # Flags. | 32 # Flags. |
14 DEFINE_string to "/tmp/esp.img" \ | 33 DEFINE_string to "/tmp/esp.img" \ |
15 "Path to esp image (Default: /tmp/esp.img)" | 34 "Path to esp image (Default: /tmp/esp.img)" |
16 | 35 |
17 # Parse flags | 36 # Parse flags |
18 FLAGS "$@" || exit 1 | 37 FLAGS "$@" || exit 1 |
19 eval set -- "${FLAGS_ARGV}" | 38 eval set -- "${FLAGS_ARGV}" |
20 set -e | 39 set -e |
21 | 40 |
22 if [[ -e "${FLAGS_to}" ]]; then | 41 if [[ -e "${FLAGS_to}" ]]; then |
23 info "ESP already exists: ${FLAGS_to}" | 42 info "ESP already exists: ${FLAGS_to}" |
24 exit 0 | 43 exit 0 |
25 fi | 44 fi |
26 | 45 |
27 info "Creating a new esp image at ${FLAGS_to}" anyway. | 46 info "Creating a new esp image at ${FLAGS_to}" anyway. |
28 # Create EFI System Partition to boot stock EFI BIOS (but not ChromeOS EFI | 47 # Create EFI System Partition to boot stock EFI BIOS (but not ChromeOS EFI |
29 # BIOS). ARM uses this space to determine which partition is bootable. | 48 # BIOS). ARM uses this space to determine which partition is bootable. |
30 # NOTE: The size argument for mkfs.vfat is in 1024-byte blocks. | 49 # NOTE: The size argument for mkfs.vfat is in 1024-byte blocks. |
31 # We'll hard-code it to 16M for now. | 50 # We'll hard-code it to 16M for now. |
32 ESP_BLOCKS=16384 | 51 ESP_BLOCKS=16384 |
33 /usr/sbin/mkfs.vfat -C "${FLAGS_to}" ${ESP_BLOCKS} | 52 /usr/sbin/mkfs.vfat -C "${FLAGS_to}" ${ESP_BLOCKS} |
OLD | NEW |