BeagleBox: X is working, stability and optimization still to come.


Today I finally brought X up on the beagleboard!  The configuration is not ideal and there is much work to be done to stabilize and optimize it, but at least X is running.  Here is how I get it done with BeagleBox.

What to build to get X running with the BeagleBox build system:

  • XCC needs neon support
    • This is enabled by default but does not appear to work with the x.org driver.  So technically it isn't used here.
    • Command: make xcc
  • uboot
    • KSRC=org (this is the default, which is uboot 2010.09)
    • This will create both the boot loader and the appropriate boot script (boot.scr).
    • Command: make uboot
  • kernel
    • KSRC=arago
    • This is a 2.6.32 kernel with the patches specified in Angstroms linux-omap-psp_2.6.32.bb recipe applied.  These patches are in my tree now.
    • Command: make KSRC=arago kernel
  • Buildroot
    • BR=2010.11
    • This has most of the patches from 2010.05 applied, but surf is disabled because it fails to build.
    • Command: make BR=2010.11 buildroot
  • Gather the components
    • Command: make pkg

The files to copy to the first partion of the sd card are in ../pkg.

This will bring up an X environment using BeagleBox's version of matchbox (aka bui).  BUI is started manually using the commented out command in inittab:

/usr/bin/xinit /etc/x11/xinitrc

Notes on the build:

  • xdriver_xf86-video-omapfb-0.1.1
    • Do not enable neon (ie. leave out –enable-neon) until issues with XCC neon support are cleared up.

Errors:

  • Pango font errors.  Fixed with:
    • pango-querymodules > /etc/pango/pango.modules
    • Means putting this into tmpfs too, like resolv.conf.
  • xterm (and uxterm) doesn't start
    • error message: Cannot perform malloc
    • No idea what causes this.
  • PS2 keyboard plugged into a USB converter doesn't work.  A USB mouse works fine.
    • This works with the DSS2 kernel tree build.
    • No idea what causes this.
  • Getty on ttyO2 is for DSS2, so doesn't work with this build.  Must manually edit /etc/inittab and change it to ttyS2 on the SD card before booting.  But that doesn't work either because root can't login for some reason.  So for now change that getty entry to:
    • ttyS2::once:/bin/sh

Problems to solve:

  1. Why doesn't neon support in XCC work with xorg driver? (High priority)
  2. Why doesn't surf build with BR 2010.11? (Medium priority)
  3. Why doesn't a ps2 keyboard to USB converter work?  It works with the DSS2 master kernel. (Low priority)
  4. Why doesn't xterm work? (High priority)
  5. Use of Buildroot 2010.11 means migrating the commands in the postcfg.sh script into the runtime.  If this is not done then trying to rebuild the rootfs (buildroot-rebuild target) with minor changes will fail.
  6. Why doesn't root login work?  It was working previously with no password but doesn't with this kernel.
  7. If we stick with this kernel, will need to fix inittab in the rootfs skeleton.

This all needs to go into an SCM, so the source is not yet available. sourceforge cvs access came back today but I'm ready to switch to Gitorious. I'll be cleaning up the tree and prepping it for a push to a new tree there.  For safety sake I may mirror the trees at both gitorious and sourceforge.  Not sure about that yet.

I will probably also have to add BUI projects to the same repo though for now just pulling their release packages from SourceForge works fine.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.