|
23 | 23 | set -x |
24 | 24 | exec > /init.log 2>&1 |
25 | 25 | echo "Running Mer Boat Loader" |
| 26 | +[ -f /dev/kmsg ] || mknod -m 600 /dev/kmsg c 1 11 |
26 | 27 |
|
27 | 28 | BOOTLOGO=%BOOTLOGO% |
28 | 29 | ALWAYSDEBUG=%ALWAYSDEBUG% |
29 | 30 | DATA_PARTITION=%DATA_PART% |
30 | 31 | DEFAULT_OS=%DEFAULT_OS% |
31 | 32 | DEBUG_REASON= |
32 | 33 |
|
33 | | - |
34 | 34 | log(){ |
35 | | - |
36 | 35 | # log to std out |
37 | 36 | echo "$*" |
38 | 37 |
|
|
41 | 40 | [ -w $ANDROID_USB/iSerial ] && echo -n "$*" > $ANDROID_USB/iSerial ; sleep 1 |
42 | 41 |
|
43 | 42 | # log to kernel log |
44 | | - # this only works after do_mount_devprocsys() |
45 | 43 | [ -w /dev/kmsg ] && echo "init-script: $*" >> /dev/kmsg |
46 | 44 | } |
47 | 45 |
|
@@ -146,7 +144,7 @@ get_opt() { |
146 | 144 | # Minimal mounts for initrd or pre-init debug session |
147 | 145 | do_mount_devprocsys() |
148 | 146 | { |
149 | | - echo "mounting devprocsys" |
| 147 | + log "mounting devprocsys" |
150 | 148 | mkdir /dev |
151 | 149 | mount -t devtmpfs devtmpfs /dev |
152 | 150 | # telnetd needs /dev/pts/ entries |
@@ -199,8 +197,8 @@ mount_stowaways() { |
199 | 197 | return |
200 | 198 | fi |
201 | 199 |
|
202 | | - mkdir -p /target/data # in new fs |
203 | | - mount --bind /data/${data_subdir} /target/data |
| 200 | + mkdir -p /target/data # in new fs |
| 201 | + mount --bind /data/${data_subdir} /target/data |
204 | 202 | else |
205 | 203 | log "Failed to mount /target, device node '$DATA_PARTITION' not found!" >> /diagnosis.log |
206 | 204 | fi |
@@ -255,11 +253,10 @@ usb_setup() { |
255 | 253 | write $ANDROID_USB/enable 1 |
256 | 254 | } |
257 | 255 |
|
258 | | - |
259 | 256 | run_debug_session() { |
260 | 257 | breathe |
261 | 258 | CUSTOMPRODUCT=$1 |
262 | | - log "Debug session : $1" |
| 259 | + log "run_debug_session : $1" |
263 | 260 | log "DONE_SWITCH=$DONE_SWITCH" |
264 | 261 |
|
265 | 262 | USB_IFACE=notfound |
@@ -321,7 +318,7 @@ run_debug_session() { |
321 | 318 | check_kernel_config() { |
322 | 319 | log "Checking kernel config" |
323 | 320 | if [ ! -e /proc/config.gz ]; then |
324 | | - log "No /proc/config.gz. Enable CONFIG_IKCONFIG and CONFIG_IKCONFIG_PROC" | tee -a /diagnosis.log |
| 321 | + log "No /proc/config.gz. Enable CONFIG_IKCONFIG and CONFIG_IKCONFIG_PROC" >> /diagnosis.log |
325 | 322 | else |
326 | 323 | # Must be =y |
327 | 324 | for x in CONFIG_CGROUPS CONFIG_AUTOFS4_FS CONFIG_DEVTMPFS_MOUNT CONFIG_DEVTMPFS CONFIG_UNIX CONFIG_INOTIFY_USER CONFIG_SYSVIPC CONFIG_NET CONFIG_PROC_FS CONFIG_SIGNALFD CONFIG_SYSFS CONFIG_TMPFS_POSIX_ACL CONFIG_VT; do |
@@ -371,7 +368,7 @@ if [ "$DONE_SWITCH" = "no" ]; then |
371 | 368 | COUNT_VOLUP=$( dmesg | grep "Pressed KEY_VOLUMEUP" | wc -l ) |
372 | 369 | [ "$COUNT_VOLUP" -ge 3 ] && DBG_REASON="Repeated VOLUMEUP" |
373 | 370 |
|
374 | | - log "DBG_REASON=$DBG_REASON" |
| 371 | + log "DBG_REASON=\"$DBG_REASON\"" |
375 | 372 |
|
376 | 373 | if ! [ "$DBG_REASON" = "" ] ; then |
377 | 374 | # During debug we export mmc too (some variations in location here) |
@@ -405,7 +402,7 @@ if [ "$DONE_SWITCH" = "no" ]; then |
405 | 402 | else |
406 | 403 | # Prefer /sbin/preinit over /sbin/init |
407 | 404 | [ -x /target/sbin/preinit ] && INIT=/sbin/preinit || INIT=/sbin/init |
408 | | - log "exec switch_root /target $INIT" | tee -a /target/data/init-stderrout |
| 405 | + log "exec switch_root /target $INIT" > /target/data/init-stderrout |
409 | 406 | exec switch_root /target $INIT >> /target/data/init-stderrout 2>&1 |
410 | 407 | fi |
411 | 408 | log "after exec switch_root" |
|
435 | 432 | exec $INIT &> /boot/systemd_stdouterr |
436 | 433 | run_debug_session "init in real rootfs failed" |
437 | 434 | fi |
438 | | -log "end" |
439 | | - |
0 commit comments