The default shell of OpenWrt is ash, but I would like to change it to fish.
When I ran chsh -s /usr/bin/fish (the absolute path of fish), it returned -ash: chsh: not found.
The I changed the first line of /etc/passwd from:
root:x:0:0:root:/root:/bin/ash
to:
root:x:0:0:root:/root:/usr/bin/fish
I could't login again (wrong password), and the system log showed:
authpriv.warn dropbear[14288]: User 'root' has invalid shell, rejected
Is there any other way to change the default shell?
(By the way, I am using a popular fork of OpenWrt instead of the official, but it doesn't seem to be the reason of this problem)