diff --git a/core/base_rules.mk b/core/base_rules.mk
index f1a2f731fa..4126547bd8 100644
--- a/core/base_rules.mk
+++ b/core/base_rules.mk
@@ -65,7 +65,7 @@ endif
# Only the tags mentioned in this test are expected to be set by module
# makefiles. Anything else is either a typo or a source of unexpected
# behaviors.
-ifneq ($(filter-out user debug eng tests optional samples,$(LOCAL_MODULE_TAGS)),)
+ifneq ($(filter-out user debug eng tests optional samples shell_ash shell_mksh,$(LOCAL_MODULE_TAGS)),)
$(warning unusual tags $(LOCAL_MODULE_TAGS) on $(LOCAL_MODULE) at $(LOCAL_PATH))
endif
diff --git a/core/build-system.html b/core/build-system.html
index ce5e869cd6..e547185c90 100644
--- a/core/build-system.html
+++ b/core/build-system.html
@@ -247,6 +247,7 @@ for these).
for eng
.
eng
, debug
,
+ shell_
$(TARGET_SHELL),
user
, and/or development
.
This is the flavor intended to be the final release bits.
user
.
+ shell_
$(TARGET_SHELL) and user
.
Set LOCAL_MODULE_TAGS
to any number of whitespace-separated
tags. If the tag list is empty or contains droid
, the module
-will get installed as part of a make droid
. Otherwise, it will
+will get installed as part of a make droid
. Modules with the tag
+shell_
$(TARGET_SHELL) will also be installed. Otherwise, it will
only get installed by running make <your-module>
or with the make all
pseudotarget.