Basic Information Needed


bpmurray

Still Fresh
Joined
Mar 5, 2006
Messages
38
Age
68
Location
Ireland
Website
louthanglers.8k.com
OK, so my cool little box runs linux. And the darn libs on the thing are incompatible with anything I want to build. However, I can't find the information to understand what is and what is not possible. Is there anywhere that explains the following:
  • What files are installed as default? I mean *exactly* what files, and what are their contents and versions?
  • I presume some of the usual /etc and /bin, /usr/bin, etc. contents are installed: are these listed anywhere?
  • Is bash installed? ksh? vanilla sh?
  • Which version of gcc was used to build these? Again, an *exact* version number would be appreciated.
  • Which toolkit/chain allows building such that the output is 100% compatible with the pre-installed stuff?
  • What is Open2X? I've seen multiple references to it, and the indication is that it is both a floor polish and a desert topping, but I can't find it anywhere! I think it's a dev environment, but is it compatible with what's already on the GP2X, or is it the case that it will be?
  • What's the file system? I've seen cramfs mentioned in a number of places - is this it? Does it apply to RAM as well as to the NVRAM stuff?
  • What about the SD card - must this be FAT32 or could I format it as e.g. ext2 or ext3?
  • Is there a list of the formal device assignments, i.e. the contents of /dev?
  • Are all the inbuilt devices statically linked into the kernel, or does it use modules?
I have a strong suspicion that these are all answered somewhere, spread all over the net, but I'm convinced that there are a bunch of folk here who can answer these from memory, so a big thankyou in advance to those!

B=
 
If you get a serial lead (or usb lead with theoddbots additional files) you can get a bash shell on the 2x exported to your pc and find most of the stuff your interested in using normal linux commands, and even dump the entire file system to sd card for examining later.

GCC 2.95 was used to build the kernel and all modules/libs/etc. You should be able to use upto GCC 3.4 and still be compatible with the inbuilt libraries. Most people just use GCC4 and above though and statically link.

Open2X is a replacement Linux OS for the 2X, but most people seem to prefer to stick to the official builds.

Open2X uses cramfs, and squashfs in later builds. The official firmware uses a journaling file system specially made for nand, but the the upcoming 2.0 release uses a different file system. I don't know the exact name for either of them. The 2.0 firmware mentioned the word "yaffs" for the filesystem a lot though.
 
Thanks, Squidge. This is a good starting point - I've started using sterm to poke around & am using shell scripts to dump stuff to see exactly what's there. Man, what a pain - send to the card, connect to PC, copy, examine: a long cycle.

What are theodbot's files?

So now I understand that it's gcc 2.95 for what's on the device, but gcc has moved a long way ahead of this. Any rumours on when the kernel will be updated? I have a religious objection to static linking :blink:.

2.0 release? When is this coming along?

P.S. I just want to praise the author of sterm again - great piece of work!
 
bpmurray posted on Apr 26 2006 at 06:57 AM said:
So now I understand that it's gcc 2.95 for what's on the device, but gcc has moved a long way ahead of this. Any rumours on when the kernel will be updated? I have a religious objection to static linking :blink:.
If you are planning to distribute something for general use, you cannot predict whether your users will have updated their kernel or not; even if newer kernels include shared libraries built for a later version of the compiler, a large percentage of your audience still won't have them.

Static linking is wasteful, but it's better than producing programs that only run on some machines.
 
Last edited by a moderator:
bpmurray posted on Apr 26 2006 at 06:57 AM said:
2.0 release? When is this coming along?
I believe the 2.0 release is coming any day now (friday?). From what I understand it has a bunch of goodies, including file system stuff that will reduce the need for constant card swaps. I believe that if development has slowed on the gp2x it is because the devs all got repetitive motion injuries from swapping SD cards.
 
Last edited by a moderator:
It's been said that with fw2.0, the 2x functions as yet another network device, and so you can browse the web on it (usb cable to pc required) access the 2x's file system easily, and some people even say the 2x can access the PC's file system, meaning no need to copy files to the 2x to run them (would be great for development).

I've not tried any of the above however, so they may need third party support to work, or various modifications. Best thing we can do I suppose is wait and see.

If you have a religious objection to static linking, then the highest compiler you can use is probably 3.4. I think Open2X is aiming for dynamic linking on GCC4, but that would mean your applications only being able to run under that version of Open2X, so you would be ignoring a large part of the 2x userbase. You shouldn't really assume anyone has upgraded past version 1.0.
 
Back
Top