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 |