03-01-2015 01:47 AM
I use Ubuntu 10.04 installed as virtual machine, and Vivado 2013.4.
When I installed Petalinux and ran source settings.sh (page 5 UG976 (v2013.04))
first time, all messages appeared as on this page.
But when I ran source settings.sh after this, I get the warning:
PetaLinux environment set to '/home/ilyag/petalinux-v2013.04-final-full'
WARNING: /bin/sh is not bash!
bash is PetaLinux recommended shell. Please set your default shell to bash.
How can I fix it?
03-01-2015 01:55 AM
Check below links
03-25-2016 10:18 AM
This is what worked for me. First make sure your SHELL is /bin/bash by using this command:
chsh -s /bin/bash
You will have to log out and log back in, then you can then check it by typing "echo $SHELL". Then make /bin/sh link to /bin/bash:
sudo rm /bin/sh
sudo ln -s /bin/bash /bin/sh
06-17-2017 10:09 PM
This seems like a bug to me.
If a script wants to be run in bash its first line should be..
Rather than assuming /bin/sh is bash (which it isn't in, say, Ubuntu)
06-18-2017 12:46 AM
With a normal shell script, that'd be the way to do it. settings.sh isn't meant to be run, though - it's meant to be sourced by your already-running shell, setting up environment variables like PATH. Just running it won't actually do anything useful because scripts can't change environment variables of the shell that called them.
You could maybe set it up to launch bash and source that script, but then you can just do exactly that manually anyway by just typing "bash" and then "source settings.sh" :)
01-28-2020 03:15 AM
06-16-2020 12:32 PM - edited 06-16-2020 12:34 PM
But the scripts that require bash should expressly call bash - this is something that should be fixed in petalinux and not require a user to modify default (and perfectly acceptable) shell settings.
Especially since the recommended workaround in the docs (using dpkg to change your default shell) do not work - and you have to manually delete and recreate symbolic links from /bin/sh to /bin/bash.