BeagleBox: working Xorg and eth support


Over the holiday I managed to close out a few nagging issues in the builds.  First, logins stopped working until I realized that I'd turned off the getty's on tty0 and tty02.  This wasn't the complete fix, however, as Busybox was adding /etc/securetty to the rootfs and that file did not include either tty0 or tty02.  I added a template file with the proper tty's and logins are working again.

The other thing I completed was splitting the BUI tree into separate projects for each component (lib, keyboard, fakekey, panel and window manager).  This makes it easier to integrate a package into Buildroot.  I used the matchbox package as an example.  I also cleaned up some minor build issues that the matchbox package addresses with patches.  The main bui project is now a metabuild for the other packages for testing the build outside of the beaglebox Buildroot build.  And the bui package has been added to the BeagleBox tree and is now built with the default rootfs build.

With all that completed I started to address some other lingering issues that I want to get done before I dive further into BUI development.  First, I want to enable USB wifi.  I've enabled most of the drivers available as loadable modules and have specifically enabled the ar9170 in the kernel (not as a module) because I happen to have a TP-Link TL-WN821n handy.  Before I could get this working I had to enable EHCI in the kernel, which had not yet been done.  Once I did this latter thing the USB keyboard/mouse I had attached to an external hub on the USB port on the beagleboard started working.  Note that the keyboard is a PS/2 keyboard with a PS/2 to USB adapter.  I'd heard rumors that this wouldn't work but it seems to work fine, probably because I'm powering with an external power supply and not via the USB OTG port.

So the USB wifi adapter is powered but not configured yet.  One issue to resolve is how to properly retrieve the firmware for the ar9170 and add it to the rootfs build.  I've written a script that will download firmware at the end of the rootfs build but have yet to try it with the build (it works on its own just fine).  Once the firmware installation issue is resolved I'll need to figure out the best way to configure the IP address – probably via DHCP for now or static via the kernel command line though BUI will eventually provide a tool for network configuration.

The other issue I'm working at the same time as USB wifi is getting X running.  I switched to a full X.org build in Buildroot (from TinyX) because I'm more familiar with how to configure it.  Also, there appears to be an X.org driver for the omapfb.  I'm not certain yet if this driver works with both dss and dss2.  It appears to be in use with angstrom 2.6.32 kernels which I think are using (via patches) DSS2.  So maybe this will work with my kernel, which is the bleeding edge DSS2 kernel.  At the moment, I just have the fbdev driver available for X and that doesn't seem to work.  I've looked at the xorg.conf file from Angstrom for BeagleBoard and they use the omapfb X.org driver.  So I probably need to get that built and installed, along with a matching xorg.conf file, to get X running on my board.

The other thing I want to do is take a look at some of the other binary distributions, such as the Ubuntu and Debian releases and Rowboat, the android FroYo development kit.  The former two may help me understand how to configure various bits such as X.org and networking.  I'd also like to take a shot at the Fedora ARM release since I'm really just a Fedora guy at home and work.

Oh, and I've been collecting lots of links for further research, including my current collection of kernel source trees relevant to BeagleBoard.

Leave a Reply

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