OpenWrt: remove BusyBox ash login message?

Hello everyone,

I am trying to clean up the SSH login output on a GL.iNet GL-MT6000 running OpenWrt 25.12.0.

Current SSH login output looks like this:

BusyBox v1.37.0 (2026-03-03 00:14:15 UTC) built-in shell (ash)

The regular OpenWrt banner from /etc/banner can be removed or modified without any problem.
The new apk cheat sheet from /etc/profile.d/apk-cheatsheet.sh can also be disabled easily.

What remains is the BusyBox/ash startup line shown above, plus the blank line around it.

I already checked the following:

  • /etc/banner
  • /etc/profile
  • /etc/shinit
  • ENV is set to /etc/shinit
  • root login shell is /bin/ash

I also tested starting an interactive ash directly:

env -i HOME=/root TERM="$TERM" /bin/ash -i -c 'echo INSIDE_ASH'

That still prints the same BusyBox line before INSIDE_ASH, so this does not seem to come from banner, motd, profile, or shinit. It looks like it comes directly from ash itself.

I also checked this:

strings /bin/busybox | grep 'built-in shell (ash)'

and the string is present in the busybox binary.

So my actual question is:

Is there any clean way on OpenWrt to suppress the BusyBox ash startup line and the extra blank line during SSH login, without using workarounds like clear, terminal reset sequences, or other screen tricks?

I am specifically looking for a proper solution, for example:

  • a configuration option
  • a different shell setup
  • a BusyBox option
  • or confirmation that this can only be removed cleanly by rebuilding or patching BusyBox

System details:

  • Device: GL.iNet GL-MT6000
  • OpenWrt: 25.12.0
  • Shell: BusyBox ash
  • SSH server: Dropbear

If anyone has dealt with this before, I would be very interested in how you solved it.

Thanks, xprs :blush:

Yes, patch it away. There is no .hushlogin or anything of kind in busybox.

There must already be a mechanism in place for this, as when you supply commands on ssh line, there's no banner info:

$ ssh openwrt-vm ls -la /root
drwxr-x---    5 root     root          4096 Mar  8 12:24 .
drwxr-xr-x   18 root     root          4096 Jan 26 08:48 ..
drwxr-xr-x    4 root     root          4096 Jan 26 08:48 .config
drwxr-xr-x    2 root     root          4096 Jan 26 08:48 .vim
-rw-------    1 root     root         75427 Mar  8 12:24 .viminfo
-rw-r--r--    1 root     root           668 Mar  3 09:46 .vimrc

Take a look here, chase back that setinteractive function and see what feeds it the on parameter...

Looks like there is a compile time option to quieten it:
https://git.busybox.net/busybox/tree/shell/ash.c#n10148

And it is visible in OpenWrt menuconfig...

So, you can easily disable it, when compiling with the full toolchain.

Well, only 10 year old ancient code in that repo that you linked to, but the relevant part looks still roughly same...

1 Like