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 HAS_INITRAMFS=0 | 7 HAS_INITRAMFS=0 |
8 if [ -d /dev/.initramfs ] | 8 if [ -d /dev/.initramfs ] |
9 then | 9 then |
10 # The initrd will have mounted /sys, /proc, and /dev for us. | 10 # The initrd will have mounted /sys, /proc, and /dev for us. |
11 HAS_INITRAMFS=1 | 11 HAS_INITRAMFS=1 |
12 else | 12 else |
13 mount -n -t sysfs -onodev,noexec,nosuid sysfs /sys | 13 mount -n -t sysfs -onodev,noexec,nosuid sysfs /sys |
14 mount -n -t proc -onodev,noexec,nosuid proc /proc | 14 mount -n -t proc -onodev,noexec,nosuid proc /proc |
15 mount -n -t tmpfs -omode=0755 udev /dev | 15 mount -n -t tmpfs -omode=0755 udev /dev |
16 fi | 16 fi |
17 | 17 |
18 PRE_UPTIME_STAT=$(cat /proc/uptime) | 18 PRE_UPTIME_STAT=$(cat /proc/uptime) |
19 PRE_DISK_STAT=$(cat /sys/block/sda/stat) | 19 PRE_DISK_STAT=$(cat /sys/block/sda/stat) |
20 | 20 |
21 # Moblin trick: Disable blinking cursor. Without this a splash screen | |
22 # will show a distinct cursor shape even when the cursor is set to none. | |
23 echo 0 > /sys/devices/virtual/graphics/fbcon/cursor_blink | |
24 | |
25 # Since we defer udev until later in the boot process, we pre-populate /dev | 21 # Since we defer udev until later in the boot process, we pre-populate /dev |
26 # with the set of devices needed for X and other early services to run. | 22 # with the set of devices needed for X and other early services to run. |
27 cp -a -f /lib/chromiumos/devices/* /dev | 23 cp -a -f /lib/chromiumos/devices/* /dev |
28 | 24 |
29 # Splash screen! | 25 # Splash screen! Unless we are in noninteractive mode. |
30 if [ -x /usr/bin/ply-image ] | 26 # TODO(sosa@chromium.org) - Use kernel flag |
31 then | 27 if [ -x /usr/bin/ply-image ]; then |
32 /usr/bin/ply-image /usr/share/chromeos-assets/images/login_splash.png & | 28 if [ ! -f /root/.factory_test ] && [ ! -f /root/.factory_installer ]; then |
| 29 # Moblin trick: Disable blinking cursor. Without this a splash screen |
| 30 # will show a distinct cursor shape even when the cursor is set to none. |
| 31 echo 0 > /sys/devices/virtual/graphics/fbcon/cursor_blink |
| 32 |
| 33 /usr/bin/ply-image /usr/share/chromeos-assets/images/login_splash.png & |
| 34 fi |
33 fi | 35 fi |
34 | 36 |
35 mount -n -t tmpfs tmp /tmp | 37 mount -n -t tmpfs tmp /tmp |
36 mount -n -t tmpfs -onosuid,nodev shmfs /dev/shm | 38 mount -n -t tmpfs -onosuid,nodev shmfs /dev/shm |
37 mount -n -t devpts -onoexec,nosuid,gid=5,mode=0620 devpts /dev/pts | 39 mount -n -t devpts -onoexec,nosuid,gid=5,mode=0620 devpts /dev/pts |
38 | 40 |
39 # Mount our stateful partition. It's always partition 1. | 41 # Mount our stateful partition. It's always partition 1. |
40 ROOT_DEV=$(rootdev) | 42 ROOT_DEV=$(rootdev) |
41 STATE_DEV=${ROOT_DEV%[0-9]*}1 | 43 STATE_DEV=${ROOT_DEV%[0-9]*}1 |
42 mount -n -t ext3 "$STATE_DEV" /mnt/stateful_partition | 44 |
| 45 # For factory install shim, we never want to write to the SDCard. |
| 46 if [ -f /root/.factory_installer ]; then |
| 47 mount -n -t tmpfs tmp /mnt/stateful_partition |
| 48 else |
| 49 mount -n -t ext3 "$STATE_DEV" /mnt/stateful_partition |
| 50 fi |
43 | 51 |
44 # Check if the stateful partition has requested self-destruction | 52 # Check if the stateful partition has requested self-destruction |
45 # This is used for the factory install process | 53 # This is used for the factory install process |
46 RESET_FILE="/mnt/stateful_partition/factory_install_reset" | 54 RESET_FILE="/mnt/stateful_partition/factory_install_reset" |
47 if [ -f "$RESET_FILE" ]; then | 55 if [ -f "$RESET_FILE" ]; then |
48 if [ $(stat -c%u "$RESET_FILE") -eq 0 ]; then | 56 if [ $(stat -c%u "$RESET_FILE") -eq 0 ]; then |
49 echo "Erasing stateful partition..." | 57 echo "Erasing stateful partition..." |
50 exec /sbin/clobber-state | 58 exec /sbin/clobber-state |
51 fi | 59 fi |
52 fi | 60 fi |
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
109 (test -f "$SALT" || head -c 16 /dev/urandom > "$SALT") & | 117 (test -f "$SALT" || head -c 16 /dev/urandom > "$SALT") & |
110 | 118 |
111 # Write out uptime and disk stats pre/post startup | 119 # Write out uptime and disk stats pre/post startup |
112 cat /proc/uptime > /tmp/uptime-post-startup | 120 cat /proc/uptime > /tmp/uptime-post-startup |
113 ! cat /sys/block/sda/stat > /tmp/disk-post-startup | 121 ! cat /sys/block/sda/stat > /tmp/disk-post-startup |
114 echo "$PRE_UPTIME_STAT" > /tmp/uptime-pre-startup | 122 echo "$PRE_UPTIME_STAT" > /tmp/uptime-pre-startup |
115 echo "$PRE_DISK_STAT" > /tmp/disk-pre-startup | 123 echo "$PRE_DISK_STAT" > /tmp/disk-pre-startup |
116 | 124 |
117 # Always return success to avoid killing init | 125 # Always return success to avoid killing init |
118 exit 0 | 126 exit 0 |
OLD | NEW |