want to clarify some things about u-boot for beagle & beagle xM

given some recent questions about u-boot related to the beagle, i'd
like to clarify a few things so i can add it to my documentation.

  first, is there any need for a configure and build of u-boot to
distinguish between an original beagle and the xM? currently in
mainline u-boot, there is (AFAICT) a single target for configuring for
both the original and xM:

  $ make omap3_beagle_config

in fact, if you look at omap3_beagle.h, what you read is:

#define CONFIG_OMAP 1 /* in a TI OMAP core */
#define CONFIG_OMAP34XX 1 /* which is a 34XX */
#define CONFIG_OMAP3_BEAGLE 1 /* working with BEAGLE */

so i'm assuming that's sufficient to identify both the original and xM
for the purposes of u-boot, correct? and there's no need for u-boot
to tell them apart, at least for the config and build?

  next, i can see in mainline u-boot that there is support for the
newer uEnv.txt and user.txt files in that same header file:

... snip ...
        "bootenv=uEnv.txt\0" \
... snip ...
        "if mmc rescan ${mmcdev}; then " \
                "if userbutton; then " \
                        "setenv bootenv user.txt;" \
                "fi;" \
                "echo SD/MMC found on device ${mmcdev};" \
                "if run loadbootenv; then " \
                        "echo Loaded environment from ${bootenv};" \
                        "run importbootenv;" \
                "fi;" \
    ... snip ...

  given the above, is there any need to use the older technique of
boot.scr and user.scr and mkimage? do the uEnv.txt and user.txt files
make those earlier files obsolete?

  finally, is it recommended to track the linaro-specific u-boot tree
as opposed to mainline u-boot? i can see the linaro extensions in
u-boot using a simple diff for that header file:

===== start diff =====

$ diff {denx,linaro}/include/configs/omap3_beagle.h

/* BOOTP options */

/* PXE */


  "bootscr=boot.scr\0" \
  "loadbootscript=fatload mmc ${mmcdev} ${loadaddr}

${bootscr}\0" \

  "bootscript=echo Running bootscript from mmc${mmcdev} ...; " \
    "source ${loadaddr}\0" \


  "kernel_addr_r=0x88000000\0" \
  "ramdisk_addr_r=0x81600000\0" \

< "fi;" \
< "if test -n $uenvcmd; then " \
< "echo Running uenvcmd ...;" \
< "run uenvcmd;" \

Since I'm running at 1400x1050 screen resolution with an 8 GB SDHC card
on the BeagleBoard (actually a CraneBoard), I was wondering if there's a
way (or even better yet some pre-compiled tools such as Glade or Anjuta
or QT4 Creator) so that I could actually run an IDE on the "target"
board itself without having to install the toolchain on a 8086 based
Linux machine and cross-compiling. Has anyone here done this? Is it
even possible to do such a thing?