Whenever I issue the command
./fwupd /dev/sda
I get the following:
bash: ./fwupd: cannot execute binary file
I'm trying to update my SSD's firmware using Ubuntu 11.04 LiveCD.
How do I successfully issue the command?
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It only takes a minute to sign up.
Sign up to join this communityLooks like you are sourcing the file, instead of running it.
Try executing it using the full path, something like
sudo /home/user/fwupd /dev/sda
. ./fwud. Confusing.
bash: .: ./fwupd: cannot execute binary file. It looks like an arch issue, see my answer.
Sep 28, 2011 at 19:35
I've just tried some things and it looks like you're trying to execute the 64-bit fwupd binary on a 32-bit Live CD.
Grab the .zip file (which is in fact a tarball, shame on them) from http://www.ocztechnology.com/ssd_tools/ and extract it using tar. E.g. if the file is named fwupd_v2.12.05.zip, run:
tar xf fwupd_v2.12.05.zip
Then jump into the directory containing the 32-bit fwupd binary and run it with superuser privileges:
cd fwupd_v2.12.05/linux32
sudo ./fwupd /dev/sda
Note that if the reverse happens (e.g. you're running a 32-bit binary on a 64-bit machine without compatibility libraries), the error is different:
bash: ./fwupd: No such file or directory
This can be solved by installing ia32-libs (for Ubuntu 11.04 Natty and before) or libc6:i386 (for Ubuntu 11.10 Oneiric and up).
Finally, if the file was not executable, the error would be:
bash: ./fwupd: Permission denied
This would be solved by making it executable:
chmod +x fwupd
I had a file named 'env' and was getting the same error:
. env
bash: .: /usr/bin/env: cannot execute binary file
It turned out that env was some kind of reserved name, which was causing problems. Changing the name to something more obscure solved it.
sudo updatedb && locate fwupdto find where that app is