0

BLUF: When executing sudo chroot . ./qemu-mipsel-static ./bin/busybox from the squashfs-root folder the error /lib/ld-uClibc.so.0: No such file or directory is returned. Failing to figure out how to fix the error.

I am in the early stages of analyzing a firmware update for a consumer router. Busybox is included with the firmware and I am trying to see what I can run with it in an emulated environment.

I see that a version of the uClibc library is included with the firmware: /lib/ld-uClibc-0.9.29.so

I tried symlinking ld-uClibc-0.9.29.so to ld-uClibc.so.0 but I receive ln: failed to create symbolic link 'ld-uClibc.so.0': Operation not permitted so my understanding of the symbolic linking process in this context is certainly coming up short.

How can I get qemu-mipsel-static to recognize the library? Do I need to install a different library?

1

You need to pass the path to the device files directory using the -L switch

0

The issue turned out that the directories I was working in were mounted as a share in a VirtualBox guest. By default symbolic linking is not enabled on a shared folder as the host OS might not be able to understand a symbolic link. More information can be found here in the second comment: https://www.virtualbox.org/ticket/18572?cversion=0&cnum_hist=2

My problem was solved once enabling symbolic linking for my shared drive and then creating a symbolic link from squashfs-root/lib/ld-uClibc-0.9.29.so to squashfs-root/lib/ld-uClic.so.0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.