I-Appliance BBS
The Official Source for Internet Appliance Upgrades and Mods
Amazon Honor System Click Here to Pay Learn More
BBS Main List | Sign In | Sign Up | Search | Help | Linux-Hacker.netReply to Thread | Printer |

Home / Other I-Appliances / MSN Companion
No write access to /usr?
Hrm...

New MessageNo write access to /usr? (modified 0 times) DGMage
Profile | Email
Ok, I've remounted everything as rw on the jailbait image, but for some reason I can't write to any of the /usr parition (get "operation not permitted")... Any ideas?

Right now I'm NFS'ing /usr/lib from my linux box, figure this probably isn't the best solution =D

Kyle

01-25-2002 16:04:04

New MessageRE:No write access to /usr? (modified 0 times) GeoDude
Profile
Yeah - cramfs is apparently read only, so while you can write in places like /,/etc, and /root, all of the cramfs partitions are read only (bin,lib,sbin,usr).

I think your only solution is to start hacking the image on your linux box.

What's wrong with mounting /usr/lib over NFS? I originally mounted the whole /usr directory over NFS from my linux box, but ended up just compiling staticly linked executables and dropping them into a special bin directory mounted over NFS. That works just fine, and you don't have to hack the images.

01-25-2002 17:15:04

New MessageRE:No write access to /usr? (modified 0 times) DGMage
Profile | Email
Hrm, well, exactly how do you go about statically compiling programs, then? I've been trying to get some of the bb tools to work that require libstdc++-libc6.2-2.so.3, and it's not working (i.e. it keeps saying the shared library is missing when I run it on the IA-1). I've tried doing multiple things to the Makefile, but nothing seems to work..

Kyle

01-25-2002 20:41:32

New MessageRE:No write access to /usr? (modified 0 times) GeoDude
Profile
Sorry - should have been more explicit about that...

You add a -static switch in the final part of the make process (linking the .o files). So, you could either add it in the Makefile...for example with xv, you could probably just turn the:
$(CC) -o xv $(CFLAGS) $(OBJS) $(LIBS)
line into:
$(CC) -static -o xv $(CFLAGS) $(OBJS) $(LIBS)

OR if you're really lazy like me, you can just run the make as-is and copy/paste the linking line and add the -static flag by hand.

The end result is that you link the static libraries instead of the shared object libraries (*.a instead of *.so), which get written into the binary, potentially making the file much bigger. The advantage is that the executable isn't hunting for libraries that may not be there.

Make sense?

BTW - this only works if you actually have the static libraries as well as the shared object libraries. Look in /usr/lib for *.a files to check...

01-25-2002 21:48:41

New MessageRE:No write access to /usr? (modified 0 times) DGMage
Profile | Email
Ok, yeah, I've been working on the files from

http://bbtools.thelinuxcommunity.org/

Specifically a couple of small ones, bbdate and bbmail, and neither of them work with the -static link (I'm thinking it's missing .a files). I had no issues with xv, however. If anyone wants to try these and has any luck, feel free to post and tell me how you did it. :)

Kyle

01-25-2002 21:59:55

New MessageRE:No write access to /usr? (modified 0 times) GeoDude
Profile
You can check for missing .a files... (a good bet if you get a big long list of undefined references when you try to do the static linking)...

Run 'ldd bbmail' on the normally compiled executable, and you'll get a list of libraries that it's linked to (cool, eh?), and check to see if you have a corresponding *.a file for each library. If not, find/build one.

01-25-2002 22:27:38

Reply to Thread | Printer |
All times are PSTPowered by UltraBoard v1.62



Copyright © 2000, Netmake Inc. All Rights Reserved.
See Terms and Conditions for more information.




i-opener opener laptop notebook computer help drivers dll free windows dos repair fix linux mac macintosh 2000 95 98 nt pc configure hardware software sound video netscape explorer network networking lan wan software cmos fat bios printer card mouse modem ide scsi cd rom controllers scanner tape hard drive cgi scripts source code mp3