mirror of
https://github.com/flatcar/scripts.git
synced 2025-08-08 05:26:58 +02:00
Developers may want to run their own factory test UI after finishing the Google official one, so the "factory" test should be stoppable. BUG=chrome-os-partner:2456 TEST=build a factory image, install and start factory testing UI, then switch to VT2, login and type: "initctl stop factory" the screen should switch to a virtual terminal (VT2) without hanging / reboot. Change-Id: I6a9d1c951d48d448f5c83c5f645ea531e8fd1499 Review URL: http://codereview.chromium.org/6567004
105 lines
2.8 KiB
Bash
Executable File
105 lines
2.8 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
|
|
# Use of this source code is governed by a BSD-style license that can be
|
|
# found in the LICENSE file.
|
|
|
|
echo "Applying patch to init scripts."
|
|
|
|
touch "${ROOT_FS_DIR}/root/.factory_test"
|
|
|
|
patch -d "${ROOT_FS_DIR}" -Np1 <<EOF
|
|
--- old/etc/init/ui.conf 2010-04-28 21:28:38.886069000 -0700
|
|
+++ new/etc/init/ui.conf 2010-04-28 21:29:42.676163000 -0700
|
|
@@ -11 +11 @@
|
|
-start on stopping startup
|
|
+start on never
|
|
EOF
|
|
|
|
patch -d "${ROOT_FS_DIR}" -Np1 <<EOF
|
|
diff -Naur old/etc/init/boot-complete.conf new/etc/init/boot-complete.conf
|
|
--- old/etc/init/boot-complete.conf 2010-07-21 11:22:30.000000000 +0800
|
|
+++ new/etc/init/boot-complete.conf 2010-07-21 22:13:36.000000000 +0800
|
|
@@ -15 +15 @@
|
|
-start on login-prompt-visible
|
|
+start on started udev
|
|
EOF
|
|
|
|
cat >"${ROOT_FS_DIR}/etc/init/factory.conf" <<EOF
|
|
# Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
|
|
# Use of this source code is governed by a BSD-style license that can be
|
|
# found in the LICENSE file.
|
|
|
|
description "Chrome OS factory startup stub"
|
|
author "chromium-os-dev@chromium.org"
|
|
|
|
start on stopped udev-addon
|
|
stop on starting halt or starting reboot
|
|
|
|
script
|
|
cd /usr/local/autotest
|
|
eval \$(./site_tests/suite_Factory/startx.sh)
|
|
date >>/var/log/factory.log
|
|
if [ ! -e factory_started ]; then
|
|
touch factory_started
|
|
cp -f site_tests/suite_Factory/control .
|
|
./bin/autotest -t factory control >>/var/log/factory.log 2>&1
|
|
else
|
|
./bin/autotest -t factory -c control >>/var/log/factory.log 2>&1
|
|
fi
|
|
end script
|
|
|
|
pre-stop script
|
|
pkill python
|
|
pkill X
|
|
end script
|
|
|
|
post-stop script
|
|
chvt 2
|
|
end script
|
|
EOF
|
|
|
|
cat >"${ROOT_FS_DIR}/etc/init/factorylog.conf" <<EOF
|
|
# Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
|
|
# Use of this source code is governed by a BSD-style license that can be
|
|
# found in the LICENSE file.
|
|
|
|
description "Print Chrome OS factory log to tty3"
|
|
author "chromium-os-dev@chromium.org"
|
|
|
|
start on started factory
|
|
stop on starting halt or starting reboot
|
|
|
|
respawn
|
|
script
|
|
tail -n 48 -F /var/log/factory.log >/dev/tty3
|
|
end script
|
|
EOF
|
|
|
|
if [ -r "${ROOT_FS_DIR}/etc/init/chrontel.conf" ]; then
|
|
patch -d "${ROOT_FS_DIR}" -Np1 <<EOF
|
|
diff -Nau old/etc/init/chrontel.conf new/etc/init/
|
|
--- old/etc/init/chrontel.conf 2010-08-05 16:32:55.000000000 -0700
|
|
+++ new/etc/init/chrontel.conf 2010-08-05 16:32:45.000000000 -0700
|
|
@@ -7 +7 @@
|
|
-start on started udev
|
|
+start on never
|
|
EOF
|
|
fi
|
|
|
|
if [ -r "${ROOT_FS_DIR}/etc/init/nvrm.conf" ]; then
|
|
patch -d "${ROOT_FS_DIR}" -Np1 << EOF
|
|
--- old/etc/init/nvrm.conf 2010-11-19 14:57:16.000000000 -0800
|
|
+++ new/etc/init/nvrm.conf 2010-11-19 16:52:48.000000000 -0800
|
|
@@ -2,7 +2,7 @@
|
|
# Use of this source code is governed by a BSD-style license that can be
|
|
# found in the LICENSE file.
|
|
|
|
-start on starting ui
|
|
+start on starting factory
|
|
|
|
respawn
|
|
|
|
EOF
|
|
fi
|