| OLD | NEW |
| 1 #!/bin/sh | 1 #!/bin/sh |
| 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 | 7 |
| 8 # Used to determine whether to run the firmware updater in the critical path | 8 # Used to determine whether to run the firmware updater in the critical path |
| 9 # (hence get_startup_update_tries() is not in chromeos-firmware-update) | 9 # (hence get_startup_update_tries() is not in chromeos-firmware-update) |
| 10 get_startup_update_tries() { | 10 get_startup_update_tries() { |
| (...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 96 # DEVMODE is used to determine if we're booted in developer mode, | 96 # DEVMODE is used to determine if we're booted in developer mode, |
| 97 # by checking only the developer and recovery switch states. | 97 # by checking only the developer and recovery switch states. |
| 98 # Values: 0=recovery/non-dev mode, 1=dev (SSD) mode, 2=bypass devcheck | 98 # Values: 0=recovery/non-dev mode, 1=dev (SSD) mode, 2=bypass devcheck |
| 99 crossystem devsw_boot?1 recoverysw_boot?0 | 99 crossystem devsw_boot?1 recoverysw_boot?0 |
| 100 DEVMODE=$((! $?)) | 100 DEVMODE=$((! $?)) |
| 101 | 101 |
| 102 # Check if we need to perform firmware update. | 102 # Check if we need to perform firmware update. |
| 103 FIRMWARE_UPDATE_SCRIPT='/usr/sbin/chromeos-firmwareupdate' | 103 FIRMWARE_UPDATE_SCRIPT='/usr/sbin/chromeos-firmwareupdate' |
| 104 FIRMWARE_UPDATE_LOGS='/mnt/stateful_partition/var/log/update_firmware.log' | 104 FIRMWARE_UPDATE_LOGS='/mnt/stateful_partition/var/log/update_firmware.log' |
| 105 if [ -x "$FIRMWARE_UPDATE_SCRIPT" ]; then | 105 if [ -x "$FIRMWARE_UPDATE_SCRIPT" ]; then |
| 106 tries="$(get_startup_update_tries)" | 106 if [ "$(crossystem mainfw_type)" = developer ]; then |
| 107 if [ $tries -gt 0 ]; then | 107 FIRMWARE_UPDATE_LOGS="/dev/tty1 $FIRMWARE_UPDATE_LOGS" |
| 108 if [ "$DEVMODE" = "1" -o -f /root/.dev_mode ]; then | 108 "$FIRMWARE_UPDATE_SCRIPT" --mode=devstartup 2>&1 | |
| 109 # More message on console for developer mode and dev builds | 109 tee $FIRMWARE_UPDATE_LOGS |
| 110 FIRMWARE_UPDATE_LOGS="/dev/tty1 $FIRMWARE_UPDATE_LOGS" | 110 else |
| 111 tries="$(get_startup_update_tries)" |
| 112 if [ $tries -gt 0 ]; then |
| 113 set_startup_update_tries $(( $tries - 1 )) |
| 114 |
| 115 if [ "$DEVMODE" = "1" -o -f /root/.dev_mode ]; then |
| 116 # More message on console for developer mode and dev builds |
| 117 FIRMWARE_UPDATE_LOGS="/dev/tty1 $FIRMWARE_UPDATE_LOGS" |
| 118 fi |
| 119 mkdir -p /mnt/stateful_partition/var/log |
| 120 [ -z "$BOOT_SPLASH_PID" ] || wait $BOOT_SPLASH_PID |
| 121 chromeos-boot-alert update_firmware /dev/tty1 |
| 122 |
| 123 "$FIRMWARE_UPDATE_SCRIPT" --mode=startup 2>&1 | |
| 124 tee $FIRMWARE_UPDATE_LOGS |
| 111 fi | 125 fi |
| 112 mkdir -p /mnt/stateful_partition/var/log | |
| 113 [ -z "$BOOT_SPLASH_PID" ] || wait $BOOT_SPLASH_PID | |
| 114 chromeos-boot-alert update_firmware /dev/tty1 | |
| 115 | |
| 116 set_startup_update_tries $(( $tries - 1 )) | |
| 117 | |
| 118 "$FIRMWARE_UPDATE_SCRIPT" --mode=startup 2>&1 | | |
| 119 tee $FIRMWARE_UPDATE_LOGS | |
| 120 fi | 126 fi |
| 121 fi | 127 fi |
| 122 | 128 |
| 123 # If we've switched from verified mode to developer mode, clobber the state. | 129 # If we've switched from verified mode to developer mode, clobber the state. |
| 124 # The reverse is not possible to detect reliably, but we try. | 130 # The reverse is not possible to detect reliably, but we try. |
| 125 # In addition, normal and unsupported are treated are equivalent otherwise | 131 # In addition, normal and unsupported are treated are equivalent otherwise |
| 126 # booting the first time on a legacy device would clobber state for no reason. | 132 # booting the first time on a legacy device would clobber state for no reason. |
| 127 # (NOTE, this will not be triggered in recovery mode.) | 133 # (NOTE, this will not be triggered in recovery mode.) |
| 128 | 134 |
| 129 # File used to trigger a stateful reset | 135 # File used to trigger a stateful reset |
| (...skipping 188 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 318 # | 324 # |
| 319 ureadahead & | 325 ureadahead & |
| 320 | 326 |
| 321 # Some things freak out if no hostname is set. | 327 # Some things freak out if no hostname is set. |
| 322 hostname localhost | 328 hostname localhost |
| 323 | 329 |
| 324 bootstat post-startup | 330 bootstat post-startup |
| 325 | 331 |
| 326 # Always return success to avoid killing init | 332 # Always return success to avoid killing init |
| 327 exit 0 | 333 exit 0 |
| OLD | NEW |