@@ -274,6 +274,8 @@ define Image/mkfs/prepare/default
- $(FIND) $(TARGET_DIR) -type d -print0 | $(XARGS) -0 chmod u+rwx,g+rx,o+rx
$(INSTALL_DIR) $(TARGET_DIR)/tmp $(TARGET_DIR)/overlay
chmod 1777 $(TARGET_DIR)/tmp
+ mkdir -p $(TARGET_DIR)/lib/preinit
+ $(if $(PASSWORDLESS_CONSOLE),touch $(TARGET_DIR)/lib/preinit/zz_passwordless_console)
endef
define Image/mkfs/prepare
@@ -1,3 +1,3 @@
::sysinit:/etc/init.d/rcS S boot
::shutdown:/etc/init.d/rcS K shutdown
-::askconsole:/bin/ash --login
+::askconsole:/sbin/login_wrapper
new file mode 100755
@@ -0,0 +1,8 @@
+#!/bin/sh
+
+if [ -r /lib/preinit/zz_passwordless_console ]; then
+ exec /bin/ash --login
+fi
+
+exec /bin/login
+
@@ -1212,10 +1212,10 @@ config BUSYBOX_DEFAULT_GETTY
default n
config BUSYBOX_DEFAULT_LOGIN
bool
- default n
+ default y
config BUSYBOX_DEFAULT_LOGIN_SESSION_AS_CHILD
bool
- default n
+ default y
config BUSYBOX_DEFAULT_LOGIN_SCRIPTS
bool
default n
@@ -44,6 +44,7 @@ Building images:
make image FILES="<path>" # include extra files from <path>
make image BIN_DIR="<path>" # alternative output directory for the images
make image EXTRA_IMAGE_NAME="<string>" # Add this to the output image filename (sanitized)
+ make image PASSWORDLESS_CONSOLE=1 # Disable requiring login prompt to get console shell
endef
$(eval $(call shexport,Helptext))
@@ -174,7 +175,7 @@ package_postinst: FORCE
build_image: FORCE
@echo
@echo Building images...
- $(NO_TRACE_MAKE) -C target/linux/$(BOARD)/image install TARGET_BUILD=1 IB=1 EXTRA_IMAGE_NAME="$(EXTRA_IMAGE_NAME)" \
+ $(NO_TRACE_MAKE) -C target/linux/$(BOARD)/image install TARGET_BUILD=1 IB=1 EXTRA_IMAGE_NAME="$(EXTRA_IMAGE_NAME)" PASSWORDLESS_CONSOLE="$(PASSWORDLESS_CONSOLE)" \
$(if $(USER_PROFILE),PROFILE="$(USER_PROFILE)")
clean:
@@ -1,5 +1,5 @@
::sysinit:/etc/init.d/rcS S boot
::shutdown:/etc/init.d/rcS K shutdown
-tts/0::askfirst:/bin/ash --login
-ttyAM0::askfirst:/bin/ash --login
-tty1::askfirst:/bin/ash --login
+tts/0::askfirst:/sbin/login_wrapper
+ttyAM0::askfirst:/sbin/login_wrapper
+tty1::askfirst:/sbin/login_wrapper
@@ -1,3 +1,3 @@
::sysinit:/etc/init.d/rcS S boot
::shutdown:/etc/init.d/rcS K shutdown
-::askconsole:/bin/ash --login
+::askconsole:/sbin/login_wrapper
@@ -1,5 +1,5 @@
::sysinit:/etc/init.d/rcS S boot
::shutdown:/etc/init.d/rcS K shutdown
-tts/0::askfirst:/bin/ash --login
-ttyAMA0::askfirst:/bin/ash --login
-tty1::askfirst:/bin/ash --login
+tts/0::askfirst:/sbin/login_wrapper
+ttyAMA0::askfirst:/sbin/login_wrapper
+tty1::askfirst:/sbin/login_wrapper
@@ -1,4 +1,4 @@
::sysinit:/etc/init.d/rcS S boot
::shutdown:/etc/init.d/rcS K shutdown
-ttyAMA0::askfirst:/bin/ash --login
-tty1::askfirst:/bin/ash --login
+ttyAMA0::askfirst:/sbin/login_wrapper
+tty1::askfirst:/sbin/login_wrapper
@@ -1,4 +1,4 @@
# Copyright (c) 2013 The Linux Foundation. All rights reserved.
::sysinit:/etc/init.d/rcS S boot
::shutdown:/etc/init.d/rcS K shutdown
-ttyMSM0::askfirst:/bin/ash --login
+ttyMSM0::askfirst:/sbin/login_wrapper
@@ -1,7 +1,7 @@
::sysinit:/etc/init.d/rcS S boot
::shutdown:/etc/init.d/rcS K shutdown
-tts/0::askfirst:/bin/ash --login
-ttyS0::askfirst:/bin/ash --login
-ttyS1::askfirst:/bin/ash --login
-ttyS2::askfirst:/bin/ash --login
-tty1::askfirst:/bin/ash --login
+tts/0::askfirst:/sbin/login_wrapper
+ttyS0::askfirst:/sbin/login_wrapper
+ttyS1::askfirst:/sbin/login_wrapper
+ttyS2::askfirst:/sbin/login_wrapper
+tty1::askfirst:/sbin/login_wrapper
@@ -1,3 +1,3 @@
::sysinit:/etc/init.d/rcS S boot
::shutdown:/etc/init.d/rcS K shutdown
-ttyS0::askfirst:/bin/ash --login
+ttyS0::askfirst:/sbin/login_wrapper
@@ -1,3 +1,3 @@
::sysinit:/etc/init.d/rcS S boot
::shutdown:/etc/init.d/rcS K shutdown
-ttyAMA0::askfirst:/bin/ash --login
+ttyAMA0::askfirst:/sbin/login_wrapper
@@ -1,5 +1,5 @@
::sysinit:/etc/init.d/rcS S boot
::shutdown:/etc/init.d/rcS K shutdown
-ttyO0::askfirst:/bin/ash --login
-ttyO2::askfirst:/bin/ash --login
-tty1::askfirst:/bin/ash --login
+ttyO0::askfirst:/sbin/login_wrapper
+ttyO2::askfirst:/sbin/login_wrapper
+tty1::askfirst:/sbin/login_wrapper
@@ -1,5 +1,5 @@
::sysinit:/etc/init.d/rcS S boot
::shutdown:/etc/init.d/rcS K shutdown
-tts/0::askfirst:/bin/ash --login
-ttyO2::askfirst:/bin/ash --login
-tty1::askfirst:/bin/ash --login
+tts/0::askfirst:/sbin/login_wrapper
+ttyO2::askfirst:/sbin/login_wrapper
+tty1::askfirst:/sbin/login_wrapper
@@ -1,4 +1,4 @@
::sysinit:/etc/init.d/rcS S boot
::shutdown:/etc/init.d/rcS K shutdown
-ttyS0::askfirst:/bin/ash --login
-ttyS1::askfirst:/bin/ash --login
+ttyS0::askfirst:/sbin/login_wrapper
+ttyS1::askfirst:/sbin/login_wrapper
@@ -1,3 +1,3 @@
::sysinit:/etc/init.d/rcS S boot
::shutdown:/etc/init.d/rcS K shutdown
-::askconsole:/bin/ash --login
+::askconsole:/sbin/login_wrapper
@@ -1,5 +1,5 @@
::sysinit:/etc/init.d/rcS S boot
::shutdown:/etc/init.d/rcS K shutdown
-tts/0::askfirst:/bin/ash --login
-ttyAMA0::askfirst:/bin/ash --login
-tty1::askfirst:/bin/ash --login
+tts/0::askfirst:/sbin/login_wrapper
+ttyAMA0::askfirst:/sbin/login_wrapper
+tty1::askfirst:/sbin/login_wrapper
@@ -1,5 +1,5 @@
::sysinit:/etc/init.d/rcS S boot
::shutdown:/etc/init.d/rcS K shutdown
-tts/0::askfirst:/bin/ash --login
-ttyS0::askfirst:/bin/ash --login
-tty1::askfirst:/bin/ash --login
+tts/0::askfirst:/sbin/login_wrapper
+ttyS0::askfirst:/sbin/login_wrapper
+tty1::askfirst:/sbin/login_wrapper
@@ -1,4 +1,4 @@
::sysinit:/etc/init.d/rcS S boot
::shutdown:/etc/init.d/rcS K shutdown
-ttyS0::askfirst:/bin/ash --login
-tty1::askfirst:/bin/ash --login
+ttyS0::askfirst:/sbin/login_wrapper
+tty1::askfirst:/sbin/login_wrapper
@@ -1,5 +1,5 @@
::sysinit:/etc/init.d/rcS S boot
::shutdown:/etc/init.d/rcS K stop
-tts/0::askfirst:/bin/ash --login
-hvc0::askfirst:/bin/ash --login
-tty1::askfirst:/bin/ash --login
+tts/0::askfirst:/sbin/login_wrapper
+hvc0::askfirst:/sbin/login_wrapper
+tty1::askfirst:/sbin/login_wrapper