Chromium Code Reviews| Index: init |
| diff --git a/init b/init |
| index 52cd73b17528842b66637d47fec4b3a8f5a882c4..80d74ad4f87be06c9c04e59513341604599201cf 100644 |
| --- a/init |
| +++ b/init |
| @@ -572,15 +572,15 @@ use_new_root() { |
| return 1 |
| } |
| +is_nonchrome() { |
| + crossystem mainfw_type?nonchrome |
|
gauravsh
2011/03/23 02:25:18
it wasn't clear to me what exactly this does. Does
Randall Spangler
2011/03/23 15:54:17
Yes. (New feature of crossystem)
|
| +} |
| + |
| is_developer_mode() { |
| - # See Firmware High-Level Spec for details on CHSW values |
| - CHSW=$(cat /sys/devices/platform/chromeos_acpi/CHSW) |
| - # If the switch is unsupported, treat as developer mode. |
| - [ -z "$CHSW" ] && return 0 |
| - if [ $CHSW -gt 0 -a $((CHSW & 32)) -eq 32 ]; then |
| - return 0 |
| - fi |
| - return 1 |
| + # Legacy/unsupported systems are mapped to developer mode. |
| + is_nonchrome && return 0 |
| + # Otherwise the exit status will be accurate. |
| + crossystem devsw_boot?1 |
| } |
| lock_tpm() { |
| @@ -590,11 +590,17 @@ lock_tpm() { |
| tpmc startup |
| tpmc ctest |
| if ! tpmc block; then |
| - log "An unrecoverable error occurred with your security device" |
| - log "Please power down and try again." |
| - dlog "Failed to lock bGlobalLock." |
| - on_error |
| - return 1 # Never reached. |
| + if is_nonchrome; then |
| + log "No security chip appears to exist in this non-Chrome device." |
| + log "The security of your experience will suffer." |
| + # Forge onward. |
| + else |
| + log "An unrecoverable error occurred with your security device" |
| + log "Please power down and try again." |
| + dlog "Failed to lock bGlobalLock." |
| + on_error |
| + return 1 # Never reached. |
| + fi |
| fi |
| TPM_B_LOCKED=y |
| fi |
| @@ -690,6 +696,13 @@ main() { |
| # If not, we must be a recovery kernel. |
| NEWROOT_MNT="$USB_MNT" |
| + if is_nonchrome; then |
| + log "Your computer does not appear to a Chrome computer!" |
| + log " " |
| + log "Your experience with Chromium OS will be suboptimal." |
| + log " " |
| + fi |
| + |
| # Always lock the TPM. If a NVRAM reset is ever needed, we can change it. |
| lock_tpm || on_error |