A OpenWrt sysupgrade trap
So yesterday I upgraded my router to the latest version via Sysupgrade. The upgrade went fine without any problem. But when I tried to login to the router something went wrong. The ssh connection was reseted and closed.
Fuck! logout of my router! Does something wrong with dropbear? No no no… ssh is working fine.
Ok check the documenation… what my I have change on the system that seems not be normal? Ah! I installed
Looks like when you do a Sysupgrade on OpenWRT that all installed packages
will be lost. Duo my use to
bash, I did enable
bash as default shell for root within
That must be the problem! But after the upgrade the router the
bash package was gone. To fix this problem I had to start the router in a failsafe mode. The default shell of OpenWrt is
sh (A Shell or Almquist shell). After I enable the failsafe mode, I just had to run
mount_root. Then I change the entrie within
/etc/passwd back to
ash. A reboot later my login was working again. Lucky me
But what I do to get my
.profile has been made for this. Here the best solution for this:
[ -x /bin/bash ] && exec /bin/bash
So things to be learned: Don’t try to be smart and re-define system-shells within
/etc/passwd/. Use your
.profile for this.