| OLD | NEW |
| 1 #!/bin/bash | 1 #!/bin/bash |
| 2 | 2 |
| 3 # Copyright (c) 2009 The Chromium OS Authors. All rights reserved. | 3 # Copyright (c) 2009 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 # Script to customize the root file system after packages have been installed. | 7 # Script to customize the root file system after packages have been installed. |
| 8 # | 8 # |
| 9 # NOTE: This script should be called by build_image.sh. Do not run this | 9 # NOTE: This script should be called by build_image.sh. Do not run this |
| 10 # on your own unless you know what you are doing. | 10 # on your own unless you know what you are doing. |
| (...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 154 # TODO: Revisit when we have decided on how sound will work on chromeos. | 154 # TODO: Revisit when we have decided on how sound will work on chromeos. |
| 155 ! sudo rm "${ROOT_FS_DIR}/etc/modprobe.d/alsa-base.conf" | 155 ! sudo rm "${ROOT_FS_DIR}/etc/modprobe.d/alsa-base.conf" |
| 156 | 156 |
| 157 # Remove unneeded fonts. | 157 # Remove unneeded fonts. |
| 158 sudo rm -rf "${ROOT_FS_DIR}/usr/share/fonts/X11" | 158 sudo rm -rf "${ROOT_FS_DIR}/usr/share/fonts/X11" |
| 159 | 159 |
| 160 # The udev daemon takes a long time to start up and settle so we defer it until | 160 # The udev daemon takes a long time to start up and settle so we defer it until |
| 161 # after X11 has been started. In order to be able to mount the root file system | 161 # after X11 has been started. In order to be able to mount the root file system |
| 162 # and start X we pre-populate some devices. These are copied into /dev by the | 162 # and start X we pre-populate some devices. These are copied into /dev by the |
| 163 # chromeos_startup script. | 163 # chromeos_startup script. |
| 164 # TODO: There is no good reason to put this in /lib/udev/devices. Move it. | |
| 165 # TODO: Hopefully some of this can be taken care of by devtmpfs. | 164 # TODO: Hopefully some of this can be taken care of by devtmpfs. |
| 166 UDEV_DEVICES="${ROOT_FS_DIR}/lib/udev/devices" | 165 DEVICES_DIR="${ROOT_FS_DIR}/lib/chromiumos/devices" |
| 167 sudo mkdir -p "$UDEV_DEVICES"/dri | 166 sudo mkdir -p "$DEVICES_DIR"/dri |
| 168 sudo mkdir -p "$UDEV_DEVICES"/input | 167 sudo mkdir -p "$DEVICES_DIR"/input |
| 169 sudo mkdir -p "$UDEV_DEVICES"/pts | 168 sudo mkdir -p "$DEVICES_DIR"/pts |
| 170 sudo mkdir -p "$UDEV_DEVICES"/shm | 169 sudo mkdir -p "$DEVICES_DIR"/shm |
| 171 sudo ln -sf /proc/self/fd/0 "$UDEV_DEVICES"/stdin | 170 sudo ln -sf /proc/self/fd "$DEVICES_DIR"/fd |
| 172 sudo ln -sf /proc/self/fd/0 "$UDEV_DEVICES"/stdout | 171 sudo ln -sf /proc/self/fd/0 "$DEVICES_DIR"/stdin |
| 173 sudo ln -sf /proc/self/fd/0 "$UDEV_DEVICES"/stderr | 172 sudo ln -sf /proc/self/fd/1 "$DEVICES_DIR"/stdout |
| 174 sudo mknod --mode=0600 "$UDEV_DEVICES"/initctl p | 173 sudo ln -sf /proc/self/fd/2 "$DEVICES_DIR"/stderr |
| 175 sudo mknod --mode=0660 "$UDEV_DEVICES"/tty0 c 4 0 | 174 sudo mknod --mode=0600 "$DEVICES_DIR"/initctl p |
| 176 sudo mknod --mode=0660 "$UDEV_DEVICES"/tty1 c 4 1 | 175 sudo mknod --mode=0640 "$DEVICES_DIR"/mem c 1 1 |
| 177 sudo mknod --mode=0660 "$UDEV_DEVICES"/tty2 c 4 2 | 176 sudo mknod --mode=0666 "$DEVICES_DIR"/null c 1 3 |
| 178 sudo mknod --mode=0666 "$UDEV_DEVICES"/tty c 5 0 | 177 sudo mknod --mode=0666 "$DEVICES_DIR"/zero c 1 5 |
| 179 sudo mknod --mode=0660 "$UDEV_DEVICES"/ttyMSM2 c 252 2 | 178 sudo mknod --mode=0666 "$DEVICES_DIR"/random c 1 8 |
| 180 if [ ! -c "$UDEV_DEVICES"/console ]; then | 179 sudo mknod --mode=0666 "$DEVICES_DIR"/urandom c 1 9 |
| 181 sudo mknod --mode=0600 "$UDEV_DEVICES"/console c 5 1 | 180 sudo mknod --mode=0660 "$DEVICES_DIR"/tty0 c 4 0 |
| 182 fi | 181 sudo mknod --mode=0660 "$DEVICES_DIR"/tty1 c 4 1 |
| 183 sudo mknod --mode=0666 "$UDEV_DEVICES"/ptmx c 5 2 | 182 sudo mknod --mode=0660 "$DEVICES_DIR"/tty2 c 4 2 |
| 184 sudo mknod --mode=0640 "$UDEV_DEVICES"/mem c 1 1 | 183 sudo mknod --mode=0666 "$DEVICES_DIR"/tty c 5 0 |
| 185 if [ ! -c "$UDEV_DEVICES"/null ]; then | 184 sudo mknod --mode=0660 "$DEVICES_DIR"/ttyMSM2 c 252 2 |
| 186 sudo mknod --mode=0666 "$UDEV_DEVICES"/null c 1 3 | 185 sudo mknod --mode=0600 "$DEVICES_DIR"/console c 5 1 |
| 187 fi | 186 sudo mknod --mode=0666 "$DEVICES_DIR"/ptmx c 5 2 |
| 188 sudo mknod --mode=0666 "$UDEV_DEVICES"/zero c 1 5 | 187 sudo mknod --mode=0666 "$DEVICES_DIR"/loop0 b 7 0 |
| 189 sudo mknod --mode=0666 "$UDEV_DEVICES"/random c 1 8 | 188 sudo mknod --mode=0660 "$DEVICES_DIR"/sda b 8 0 |
| 190 sudo mknod --mode=0666 "$UDEV_DEVICES"/urandom c 1 9 | 189 sudo mknod --mode=0660 "$DEVICES_DIR"/sda1 b 8 1 |
| 191 sudo mknod --mode=0660 "$UDEV_DEVICES"/sda b 8 0 | 190 sudo mknod --mode=0660 "$DEVICES_DIR"/sda2 b 8 2 |
| 192 sudo mknod --mode=0660 "$UDEV_DEVICES"/sda1 b 8 1 | 191 sudo mknod --mode=0660 "$DEVICES_DIR"/sda3 b 8 3 |
| 193 sudo mknod --mode=0660 "$UDEV_DEVICES"/sda2 b 8 2 | 192 sudo mknod --mode=0660 "$DEVICES_DIR"/sda4 b 8 4 |
| 194 sudo mknod --mode=0660 "$UDEV_DEVICES"/sda3 b 8 3 | 193 sudo mknod --mode=0660 "$DEVICES_DIR"/sdb b 8 16 |
| 195 sudo mknod --mode=0660 "$UDEV_DEVICES"/sda4 b 8 4 | 194 sudo mknod --mode=0660 "$DEVICES_DIR"/sdb1 b 8 17 |
| 196 sudo mknod --mode=0660 "$UDEV_DEVICES"/sdb b 8 16 | 195 sudo mknod --mode=0660 "$DEVICES_DIR"/sdb2 b 8 18 |
| 197 sudo mknod --mode=0660 "$UDEV_DEVICES"/sdb1 b 8 17 | 196 sudo mknod --mode=0660 "$DEVICES_DIR"/sdb3 b 8 19 |
| 198 sudo mknod --mode=0660 "$UDEV_DEVICES"/sdb2 b 8 18 | 197 sudo mknod --mode=0660 "$DEVICES_DIR"/sdb4 b 8 20 |
| 199 sudo mknod --mode=0660 "$UDEV_DEVICES"/sdb3 b 8 19 | 198 sudo mknod --mode=0640 "$DEVICES_DIR"/input/mouse0 c 13 32 |
| 200 sudo mknod --mode=0660 "$UDEV_DEVICES"/sdb4 b 8 20 | 199 sudo mknod --mode=0640 "$DEVICES_DIR"/input/mice c 13 63 |
| 201 sudo mknod --mode=0660 "$UDEV_DEVICES"/fb0 c 29 0 | 200 sudo mknod --mode=0640 "$DEVICES_DIR"/input/event0 c 13 64 |
| 202 sudo mknod --mode=0660 "$UDEV_DEVICES"/dri/card0 c 226 0 | 201 sudo mknod --mode=0640 "$DEVICES_DIR"/input/event1 c 13 65 |
| 203 sudo mknod --mode=0640 "$UDEV_DEVICES"/input/mouse0 c 13 32 | 202 sudo mknod --mode=0640 "$DEVICES_DIR"/input/event2 c 13 66 |
| 204 sudo mknod --mode=0640 "$UDEV_DEVICES"/input/mice c 13 63 | 203 sudo mknod --mode=0640 "$DEVICES_DIR"/input/event3 c 13 67 |
| 205 sudo mknod --mode=0640 "$UDEV_DEVICES"/input/event0 c 13 64 | 204 sudo mknod --mode=0640 "$DEVICES_DIR"/input/event4 c 13 68 |
| 206 sudo mknod --mode=0640 "$UDEV_DEVICES"/input/event1 c 13 65 | 205 sudo mknod --mode=0640 "$DEVICES_DIR"/input/event5 c 13 69 |
| 207 sudo mknod --mode=0640 "$UDEV_DEVICES"/input/event2 c 13 66 | 206 sudo mknod --mode=0640 "$DEVICES_DIR"/input/event6 c 13 70 |
| 208 sudo mknod --mode=0640 "$UDEV_DEVICES"/input/event3 c 13 67 | 207 sudo mknod --mode=0640 "$DEVICES_DIR"/input/event7 c 13 71 |
| 209 sudo mknod --mode=0640 "$UDEV_DEVICES"/input/event4 c 13 68 | 208 sudo mknod --mode=0640 "$DEVICES_DIR"/input/event8 c 13 72 |
| 210 sudo mknod --mode=0640 "$UDEV_DEVICES"/input/event5 c 13 69 | 209 sudo mknod --mode=0660 "$DEVICES_DIR"/fb0 c 29 0 |
| 211 sudo mknod --mode=0640 "$UDEV_DEVICES"/input/event6 c 13 70 | 210 sudo mknod --mode=0660 "$DEVICES_DIR"/dri/card0 c 226 0 |
| 212 sudo mknod --mode=0640 "$UDEV_DEVICES"/input/event7 c 13 71 | 211 sudo chown root.tty "$DEVICES_DIR"/tty* |
| 213 sudo mknod --mode=0640 "$UDEV_DEVICES"/input/event8 c 13 72 | 212 sudo chown root.kmem "$DEVICES_DIR"/mem |
| 214 sudo chown root.tty "$UDEV_DEVICES"/tty* | 213 sudo chown root.disk "$DEVICES_DIR"/sda* |
| 215 sudo chown root.kmem "$UDEV_DEVICES"/mem | 214 sudo chown root.video "$DEVICES_DIR"/fb0 |
| 216 sudo chown root.disk "$UDEV_DEVICES"/sda* | 215 sudo chown root.video "$DEVICES_DIR"/dri/card0 |
| 217 sudo chown root.video "$UDEV_DEVICES"/fb0 | |
| 218 sudo chown root.video "$UDEV_DEVICES"/dri/card0 | |
| 219 sudo chmod 0666 "$UDEV_DEVICES"/null # Fix misconfiguration of /dev/null | |
| 220 | 216 |
| 221 # Since we may mount read-only, our mtab should symlink to /proc | 217 # Since we may mount read-only, our mtab should symlink to /proc |
| 222 sudo ln -sf /proc/mounts "${ROOT_FS_DIR}/etc/mtab" | 218 sudo ln -sf /proc/mounts "${ROOT_FS_DIR}/etc/mtab" |
| 223 | 219 |
| 224 # For the most part, we use our own set of Upstart jobs that were installed | 220 # For the most part, we use our own set of Upstart jobs that were installed |
| 225 # in /etc/init.chromeos so as not to mingle with jobs installed by various | 221 # in /etc/init.chromeos so as not to mingle with jobs installed by various |
| 226 # packages. We fix that up now. | 222 # packages. We fix that up now. |
| 227 sudo cp "${ROOT_FS_DIR}/etc/init/tty2.conf" "${ROOT_FS_DIR}/etc/init.chromeos" | 223 sudo cp "${ROOT_FS_DIR}/etc/init/tty2.conf" "${ROOT_FS_DIR}/etc/init.chromeos" |
| 228 sudo rm -rf "${ROOT_FS_DIR}/etc/init" | 224 sudo rm -rf "${ROOT_FS_DIR}/etc/init" |
| 229 sudo mv "${ROOT_FS_DIR}/etc/init.chromeos" "${ROOT_FS_DIR}/etc/init" | 225 sudo mv "${ROOT_FS_DIR}/etc/init.chromeos" "${ROOT_FS_DIR}/etc/init" |
| (...skipping 27 matching lines...) Expand all Loading... |
| 257 cat <<EOF | sudo dd of="${ROOT_FS_DIR}/etc/network/interfaces" | 253 cat <<EOF | sudo dd of="${ROOT_FS_DIR}/etc/network/interfaces" |
| 258 auto lo | 254 auto lo |
| 259 iface lo inet loopback | 255 iface lo inet loopback |
| 260 EOF | 256 EOF |
| 261 | 257 |
| 262 cat <<EOF | sudo dd of="${ROOT_FS_DIR}/etc/resolv.conf" | 258 cat <<EOF | sudo dd of="${ROOT_FS_DIR}/etc/resolv.conf" |
| 263 # Use the connman dns proxy. | 259 # Use the connman dns proxy. |
| 264 nameserver 127.0.0.1 | 260 nameserver 127.0.0.1 |
| 265 EOF | 261 EOF |
| 266 sudo chmod a-wx "${ROOT_FS_DIR}/etc/resolv.conf" | 262 sudo chmod a-wx "${ROOT_FS_DIR}/etc/resolv.conf" |
| OLD | NEW |