Linux - General This Linux forum is for general Linux questions and discussion.
If it is Linux Related and doesn't seem to fit in any other forum then this is the place. |
Notices |
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
Are you new to LinuxQuestions.org? Visit the following links:
Site Howto |
Site FAQ |
Sitemap |
Register Now
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
|
|
10-06-2008, 07:36 PM
|
#1
|
Member
Registered: Sep 2007
Location: Chandler, AZ
Posts: 235
Rep:
|
chroot: cannot execute /bin/sh: Exec format error
I took a dd image of a machine, restored it to a similar machine (the first was a Dell SC1425, the second a Dell PE1950), and am trying to get it to boot. I believe I need a new initrd But I cannot chroot into /mnt/sysimage from a 'linux rescue'... I get:
chroot: cannot execute /bin/sh: Exec format error
I get this if I allow the rescue image to find and mount the volume, or if I do it myself. I tried:
lvm vgchange -a y
mkdir /mnt/sysimage
mount /dev/mapper/VolGroup00-LogVol00 /mnt/sysimage
mount /dev/sda1 /mnt/sysimage/boot
mount -o bind /proc /mnt/sysimage/proc
mount -o bind /dev /mnt/sysimage/dev
mount -o bind /sys /mnt/sysimage/sys
chroot /mnt/sysimage /bin/bash
And I get the exec error again.
On both systems, uname reports i686
How can I chroot in to fix the initrd?
|
|
|
10-07-2008, 12:02 AM
|
#2
|
LQ Guru
Registered: Aug 2001
Location: Fargo, ND
Distribution: SuSE AMD64
Posts: 15,733
|
Before chroot'ing does /mnt/sysimage/bin exist? What are the permissions? Try running "chroot /mnt/sysimage" and then "/bin/bash -l".
|
|
|
10-07-2008, 12:59 PM
|
#3
|
Member
Registered: Sep 2007
Location: Chandler, AZ
Posts: 235
Original Poster
Rep:
|
Quote:
Originally Posted by jschiwal
Before chroot'ing does /mnt/sysimage/bin exist? What are the permissions? Try running "chroot /mnt/sysimage" and then "/bin/bash -l".
|
Yes, /mnt/sysimage/bin/sh is a symlink to /mnt/sysimage/bin/bash with 555 permissions.
And "chroot /mnt/sysimage" gives me the Exec format error.
And, yes, /bin/sh exists... it's a symlink to /usr/bin/sh which is a symlink to /usr/bin/bash
|
|
|
10-08-2008, 02:02 AM
|
#4
|
LQ Guru
Registered: Aug 2001
Location: Fargo, ND
Distribution: SuSE AMD64
Posts: 15,733
|
Look at the permissions of the target /mnt/sysimage/bin/bash instead of the link itself. Also check the permissions of the /mnt/sysimage/ mounted directory and that it isn't mounted with the noexec option. Look at "ls -ld /mnt/sysimage/" and "mount". Try using the rescue disk for that version of Linux. An older kernel may not have full support for the ext3 version you boot with disabling some features. Also, check if tty on [ALT][F12] has the kernel messages displayed. They may provide more information on what when wrong from the kernel's perspective.
|
|
|
01-10-2009, 02:11 PM
|
#5
|
LQ Newbie
Registered: Jan 2009
Posts: 2
Rep:
|
This may be helpful:
link
Last edited by peczeciak; 01-10-2009 at 03:41 PM.
Reason: wrong link
|
|
1 members found this post helpful.
|
08-25-2009, 03:41 PM
|
#6
|
Member
Registered: Aug 2009
Location: USA
Posts: 141
Rep:
|
first poster and perhaps still a newbie here,
just wanted to say thanks for this post. it helped me rescue my slackware install
|
|
|
05-26-2011, 07:16 PM
|
#7
|
LQ Newbie
Registered: May 2011
Posts: 6
Rep:
|
Exec format error
from Gentoo-wiki Forums: en.gentoo-wiki.com/wiki/Chroot_from_a_livecd
Quote:
If the chroot command returns with the error "chroot: cannot run command `/bin/bash': Exec format error", this usually indicates that the live CD environment is not compatible with that of the installed system.
For example, the error is most frequently seen when trying to chroot to a 64-bit system (eg. amd64) from a 32-bit live CD (eg. x86).
The solution is to use a live CD which is using the same architecture as the installed system.
|
I have the same problem, and I believe that is the solution. (At least the conditions are all true, I'm trying to chroot a 64-bit OS on the hard disk from a 32-bit live cd.) I'm burning a 64-bit live cd now to find out.
|
|
2 members found this post helpful.
|
07-08-2011, 05:58 AM
|
#8
|
Member
Registered: Jan 2008
Distribution: SOLARIS 9, RHEL4
Posts: 39
Rep:
|
Excelent. Thats exact my problem. Solved with proper 64 bits DVD.
Thanks
|
|
|
06-24-2012, 01:52 AM
|
#9
|
LQ Newbie
Registered: Jun 2012
Location: FL, USA
Distribution: Red Hat,Gentoo
Posts: 1
Rep:
|
Solved with 64-bit DVD.
Solved with 64-bit DVD.
thanks DaPh00z
|
|
|
All times are GMT -5. The time now is 03:05 AM.
|
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.
|
Latest Threads
LQ News
|
|