• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 346
  • Last Modified:

How to set up the environment for chroot with dyn. linked programs ?

I try to run "chroot /xxx /ls" as root on Solaris 2.5.1 but i get segmentation fault - core dumped.
I have copied ld.so and all libraries that ldd "/usr/ucb/ls" listed to /xxx/usr/lib and /usr/ucb/ls to /xxx/ls.
"adb /xxx/ls core" says :
SIGSEGV Segmentation Fault
Error while reading shared library:data address not found

Who can help me to correct the problem ?
 

0
um3814
Asked:
um3814
1 Solution
 
arthurdCommented:
My guess is that your still missing a library or too.  An easy way to find out would be to use truss.  When you go to run the chroot, put "truss" in before "truss chroot /xxx /ls".  This will spit out quite a bit of info.  But if you look at it closely, you 'll see that which libraries are being accesses.  So, when it bombs out, look back and see which library is causing it or which one your missing.

Dave
0
 
um3814Author Commented:
meanwhile i found out with the help of truss that /dev/zero was missing
 
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Introducing Cloud Class® training courses

Tech changes fast. You can learn faster. That’s why we’re bringing professional training courses to Experts Exchange. With a subscription, you can access all the Cloud Class® courses to expand your education, prep for certifications, and get top-notch instructions.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now