Beagleboard XM – How to install Ubuntu 12.10 (Quantal)

UPDATE 7/9/2013: updated links in download folder

Hi folks so i’m back after taking quite a bit of time off. Had the unfortunate experience of my dad passing away recently. I truly believe that family comes first so i’ve been spending my time elsewhere. Thanks for your patients.

Versions of Ubuntu have changed over the last year so i’m going to give you the run down of the latest version, called Ubuntu 12.10 (Quantal) onto your Beagleboard XM. This procedure will be very similar to installing 11.04 but i’m going to give some more broad answers so if links/URLs die and such you can find your way.

Hardware:
-Beagleboard XM (mine is rev C)
-Micro SD card (4GB or higher I recommend)
-Ubuntu system to install things onto your SD card (i’m using VirtualBox with 12.04)

NOTE: you might need to get a few ubuntu packages for your system (virtualbox), i’ve already installed a few

apt-get install uboot-mkimage btrfs-tools pv

START
The first thing i’m doing is referencing Roberts home site and i’m going to look for the latest version of Ubuntu for the beagleboard that I can find.

Link: http://rcn-ee.net/deb/rootfs

I’m going to look into the Quantal folder and look for the latest version of the file, then download it. You might have to do the same.

wget http://rcn-ee.net/deb/rootfs/quantal/ubuntu-12.10-console-armhf-2013-06-14.tar.xz

Unzip the files…

tar xJf ubuntu-12.10-console-armhf-2013-06-14.tar.xz

Lets go into the folder… pressing the tab button finishes the folder/file name just in case you are new to linux syntax.

cd ubuntu-12.10-console-armhf-2013-06-14.tar.xz/

So there will be a file located in this folder called ‘setup_sdcard.sh’ this is a script that sets up the SD card for you, which is pretty neat. All you need to do is call the location of your SD card and away it goes. So I called the following command to see where my SD card was mouted.

df -h

I found that my 4GB SD card was located as /dev/sdb1 but i’m going to use the name /dev/sdb so as not to include just the partition name but the whole drive location.

Now to install the following, you’ll need to start the install process, be sure to add your SD card name correctly!! if you have a beagleboard or beaglebone you need to look for the right syntax instread of ‘beagle_xm’.

sudo ./setup_sdcard.sh –mmc /dev/sdb –uboot beagle_xm

It will want to confirm that the right drive is being selected, and ask for verification. Just press ‘y’ and then hit enter. Now this procedure might take a while depending on your connection to your SD card and the speed of your computer/SD card it could take 5-15 mins so be patient.  Just to note I did have one pop up warning me, but all i had to do was click ok and it continued.

Once this is complete and you get a message saying everything was complete, unmount your SD card if it hasn’t been done in the script already.

Now take the SD card and insert it into your Beagleboard XM and power it up!

Default username/password: ubuntu / temppwd

The first thing I recommend is updating the packages and upgrading everthing.

sudo apt-get update
sudo apt-get upgrade

OPTIONAL INSTALLS AFTER:

Ethernet – One of many ways to enable Ethernet connection

sudo ifconfig -a
sudo dhclient eth0
sudo ifconfig -a

Serial Peripheral Interface (SPI) – How to enable SPI hardware…

cd ~
cd boot/uboot
nano uEnv.txt

You’ll need to remove the # symbol from in front of buddy=spidev, once this is done save by pressing the ctrl+x and confirm the name with an enter.

Continue over to my SPI for beagleboard post that shows how to test that everything works. But the short part is you should see the spidev located under the /dev folder like this after rebooting.

GUI Desktop – How to install a simple GUI desktop

To get the GUI installed you can do many different approaches  I did a couple,  first I started by installing the following, but ran into the problem that xserver no longer made OMAP3 video drivers. I think they’re going towards xf86-video-omap. But until that is completely true I did the following.

sudo apt-get install gdm xfce4 network-manager

.
Then I found Robert’s script that took care of the rest. Both the previous and the next commands take a couple hours, but you get a few selections for desktops. LXDE and XFCE.

/bin/bash /boot/uboot/tools/ubuntu/minimal_lxde_desktop.sh

 

Thanks for your feedback, and feel free to email or message me.

Good Sources:

http://elinux.org/BeagleBoardUbuntu#Quantal_12.10_armhf

46 thoughts on “Beagleboard XM – How to install Ubuntu 12.10 (Quantal)

  1. Thanks a bunch for this. I was currently using angstrom but it seems as if the server is down as of about 2 days ago and I've been wanting to try Ubuntu. Good stuff!

  2. There isn't really an option that i'm finding for Ubuntu on the Raspberry Pi, as Ubuntu's latest releases are for ARMv7 and moving forward. The Pi is running on the ARMv6 and is currently not supported. Though there are distributions of Debian that work just as good. I would recommend starting there. I even have a blog that shows how to do that. It might be outdated but the concepts should still be the same.

    http://www.brianhensley.net/2012/07/how-to-get-debian-working-on-my.html

    Downloads: http://www.raspberrypi.org/downloads

    Cheers,
    Brian

  3. I've installed Ubuntu 12.10 on a Beagle-Board -xM I'm using the Beagleboard Expansion LCD V3 as a monitor, but the screen doesn’t fit and I'm not able to access to the menu. I've already change the resolution in uEnv.txt file. Like this:

    defaultdisplay= lcd
    dvimode=800x600MR-16@60

    But I still have the problem that I can't see the whole window of Ubuntu with the menu and the options on the LCD screen and I can't use a less resolution because it is not supported ¿How should I configure the LCD screen?.

    Thanks for your answer.

  4. Brian – Thank you very much for your tutorial and work in this. We were switching from Angstrom to Ubuntu and you made it super simple to get what we needed done! 🙂

    I have a question however…

    We're using the BeagleBoard xM with Circuit Co's "ULCD7" Touchscreen. We can get the display itself running, but not the touchscreen itself. I know that the 3.7 Kernel has drivers built into it from the get go, we can even see it try to initialize:

    ———
    root@WallController:~# dmesg | grep tsc
    [ 0.125610] Beagle expansionboard: initializing touchscreen: tsc2007
    [ 12.172088] tsc2007 2-0048: irq 0 busy?
    [ 12.176361] tsc2007: probe of 2-0048 failed with error -22
    ———

    I don't know if you've ever experimented with the ULCD7 touchscreen, but I just thought I'd take a shot in the dark and ask what you thought about this.

    Thanks again man, you're a life saver.

  5. Hi,

    Thanks for the tutorial! However I'm having some problems installing ubuntu. When I write in "sudo ./setup_sdcard.sh –mmc /dev/sdb –uboot beagle_xm" it just says ./setup_sdcard.sh command not found. I'm in the right folder and I did install the packages you mentioned in the beginning. Any idea where this problem might be coming from? I'm running Ubuntu 12.10 as the system I'm installing from also.

    Thanks for your answers!

  6. Brian…it worked for me…thanks a lot.
    As I have internet available only on my windows desktop, I need to download the packages for GUI on it and then transfer them to beagleboard-xm via usb memory. Please suggest a way to include these packages while building itself as USB also seems not mounting . It would be really really help understand building process as well.
    Thank a lot..

  7. Hello Brian,

    Thanks a lot for a very well documented blog. I followed your Instructions & was able to Install 12.10 on the BB-xM. But after installing the GUIs & I connect the display, I am not able to go beyond the login screen i.e.,after I type the password it it is just stuck, does not get beyond . But when I tried through the serial port, it is working fine. Any suggestions?

    With regards,
    Avinash

  8. Hello Trushal,

    Can you refer to my comment below & provide any suggestions? Because from your earlier comments I find that you too might have come across such a problem.

    With regards,
    Avinash

  9. Hello Brian,

    Thanks for your excellent tutorial. I cannot get any output from the DVI port. I have tried changing uEnv.txt to various settings suggested on other forums. I am connecting it to my Dell 2412M via an HDMI to Display-Port cable.

    I am getting an output from the serial port, and its boots OK and I can log in.

    If I try 'sudo start xfce4' it says that there is already an instance running on Display 0. So I assume the GUI is running OK.

    Thanks!

    David

  10. Hi. sorry i am new to this. i manage to run sudo apt-get install gdm xfce4 network-manager

    Next when i try to run

    /bin/bash /boot/uboot/tools/ubuntu/minimal_lxde_desktop.sh

    bin/bash: /boot/uboot/tools/ubuntu/minimal_lxde_desktop.sh: No such file or directory

    am i doing something wrong?

  11. hi. I thanks for this posting.
    but i wonder that how to compile g++ or cpp in this envirment.

    I try to " apt-get install g++ "
    but i saw message " Error"

  12. Hi Brian – THis is a great post thanks for this. I've just got the beagleboard and I've spent the last 4 days at home sick playing around with it.

    I'm trying to get VICE 2.4 compiled and running on the Beagleboard XM. I've managed to compile it but it SOOOOOOOOO slow.

    I have a few questions if I may?

    I'm not too sure what is causing it to be slow, can you recommend a very lightweight xserver / xclient to install as I suspect this is a contributor?

    Do I need both server and client if I am running off the beagleboard straight to a TV?

    How to I ensure I do not have to proceed everything with startx when I start, as I can't pass command line arguments when I do so.

    There are also a number of configuration items you can choose when compiling VICE, I was hoping you might be able to assist me in choosing the relevant ones?

    Once compiled, how do I take this package and install it on another SD card? I've compiled it on one build which has all the dev packages, and I have another SD card which is a clean build. I want to take the compiled version and run it on the clean build.

    Sorry for all the questions, but i've spend days on this and can't find any answers specific to beagleboard (Loads on Pi)

  13. i just installed the latest image this one and the last one just freeze after i sign into the GUI or say unable to start gnome session. Any words of wisdom?

  14. Hola Brian.

    speak Spanish? I have problems with the configuration (SPI) could you explain me a easiest way how to enable this port.

    greetings.

  15. Hi Brian,

    I'm glad I stumbled upon your blog. Everything worked great (bb xM), and I can log into the console. Then I got to the step "The first thing I recommend is updating the packages and upgrading everything." You say to run sudo apt-get update and sudo apt-get upgrade, but there is no internet connection at this point! The next section, OPTIONAL INSTALLS AFTER: ", has ethernet enable instructions, but for me it hangs on the second command, sudo dhclient eth0.

    Help. Do I need to be connected to a router or switch before I run this program? I was hoping to use a network bridge with my WIn7 PC (or a vmware Ubuntu 12.10 virtual machine). Any ideas on where to go to get help on this?

    Thanks,
    Lee

  16. I am trying to run Ununtu using Beagleboard XM. I get the following message when I run the setup_sdcard script:

    I see…
    fdisk -l:
    Disk /dev/sda: 500.1 GB, 500107862016 bytes
    Disk /dev/sdc: 3965 MB, 3965190144 bytes

    lsblk:
    NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
    sda 8:0 0 465.8G 0 disk
    ├─sda1 8:1 0 462G 0 part /
    ├─sda2 8:2 0 1K 0 part
    └─sda5 8:5 0 3.8G 0 part [SWAP]
    sdc 8:32 1 3.7G 0 disk
    ├─sdc1 8:33 1 48M 0 part /media/saurabh/boot
    └─sdc2 8:34 1 3.7G 0 part /media/saurabh/rootfs

    Are you 100% sure, on selecting [/dev/sdc] (y/n)? y

    Debug: image has armv7 multi arch kernel support: v3.11.1-armv7-x14
    Debug: image has bone device tree kernel support: v3.8.13-bone28
    Debug: image has omap kernel support: v3.7.10-x13
    Note: [–dtb omap3-beagle-xm] now replaces [–uboot beagle_xm]
    —————————–
    info: [conf_boot_startmb] undefined using default value: 1
    info: [conf_boot_endmb] undefined using default value: 64
    Debug: ARM rootfs: armhf-rootfs-ubuntu-raring.tar
    Debug: image has initrd.img:
    Debug: image has device tree:

    Downloading Device's Bootloader
    —————————–

    After this the download stops and the script exists. I am having my internet connection active.
    Can you please help me with this. Thank you.

    Do I need to add rcn-ee.net as a source or something or may be bypass the proxy ?

  17. Display resolution says 800×480 pixels resolution so config would be

    defaultdisplay= lcd
    dvimode=800x480MR-16@60

    I believe this is correct.

  18. Format card and try again. Micro SD should only have ONE partition, yours is displaying 2 as in the script ran and failed at a point.

    sdc 8:32 1 3.7G 0 disk
    ├─sdc1 8:33 1 48M 0 part /media/saurabh/boot
    └─sdc2 8:34 1 3.7G 0 part /media/saurabh/rootfs

    Be sure to un mount your MicroSD card BEFORE you go and format or else it will error.

  19. Thanks, Your procedures worked very well. After many attempts to get Angstrom up and going, I found that the URL for their repository didn't work. I've had this beagle board Xm for about 8 months now and finally got it working.

    b.e.

  20. Hi ,
    i have worked on Beagle xm following above instructions. all done but at end my ethernet port , keyboard and mouse are not working . i am still not able to connect to internet on board . suggest some resolution .

  21. Hi,
    When I run " sudo ./setup_sdcard.sh –mmc /dev/sdb –uboot beagle_xm " command and say "y" I get this error:

    Debug: image has armv7 multi arch kernel support: v3.11.1-armv7-x14
    Debug: image has bone device tree kernel support: v3.8.13-bone28
    Debug: image has omap kernel support: v3.7.10-x13
    Note: [–dtb omap3-beagle-xm] now replaces [–uboot beagle_xm]
    —————————–
    info: [conf_boot_startmb] undefined using default value: 1
    info: [conf_boot_endmb] undefined using default value: 64
    Debug: ARM rootfs: armhf-rootfs-ubuntu-quantal.tar
    Debug: image has initrd.img:
    Debug: image has device tree:
    You're missing command git (consider installing package git)

    Your system is missing some dependencies
    Angstrom: opkg install dosfstools git util-linux wget
    Debian/Ubuntu: sudo apt-get install dosfstools git-core kpartx u-boot-tools wget
    Fedora: yum install dosfstools dosfstools git-core uboot-tools wget
    Gentoo: emerge dosfstools git u-boot-tools wget

    What should I do?

    Regards…

  22. Hello Brian,

    I connected keyboard, mouse, monitor, and Ethernet to BeagleBoard-xm. After booting, the last message was>
    ubuntu 12.10 arm tty1
    arm login:
    He is the problem, it doesn't response to the keyboard strokes. Appreciate your feedback.

  23. Brian,
    I'm experiencing the same issue. My keyboard does not appear to be recognised. Do you have any suggestions?
    – Rick –

  24. Brian,
    I should not have been so vague. No USB devices are recognised. I am using ubuntu-12.10-console-armhf-2013-08-24, but have tried others with the same result.

  25. Hi Brian,

    Great tutorial!

    When running "sudo ./setup_sdcard.sh –mmc /dev/sdb –uboot beagle_xm"

    I get the following messages:

    1) Unable to open folder for rootfs – No application is registered as handling this file.

    2) Unable to open folder for boot – No application is registered as handling this file.

    Any suggestions?

Leave a Comment