Saturday, January 19, 2013

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 comments:

  1. Thanks, it works! Which IDE do you use to write your programs?

    ReplyDelete
  2. 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!

    ReplyDelete
  3. How do you start the GUI?

    ReplyDelete
  4. While installing Ubuntu GUI for the Beagle Board by following command
    sudo apt-get install gdm xfce4 network-manager, i receive

    unable to fetch some archives

    ReplyDelete
    Replies
    1. make sure your library is updated. Do a 'sudo apt-get update' this should fix the problem.

      Cheers,
      Brian

      Delete
  5. why some archives are not being installed , and the message shown is:
    403 forbidden
    Unable to correct missing packages

    ReplyDelete
  6. I have a raspberry pi and I was wondering if this tutorial will also work for my raspberry pi?

    ReplyDelete
    Replies
    1. 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

      Delete
  7. This comment has been removed by the author.

    ReplyDelete
  8. my monitor suddenly blinked out when i run this :>> sudo apt-get install gdm xfce4 network-manager

    is this normal???

    ReplyDelete
  9. 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.

    ReplyDelete
    Replies
    1. Display resolution says 800x480 pixels resolution so config would be

      defaultdisplay= lcd
      dvimode=800x480MR-16@60

      I believe this is correct.

      Delete
  10. wow. whenever i do this, it gets past the progress bar and then the entire vm crashes.

    ReplyDelete
  11. 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.

    ReplyDelete
  12. 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!

    ReplyDelete
    Replies
    1. I suggest to make setup_sdcard.sh executable
      sudo chmod u+x setup_sdcard.sh

      Delete
    2. It says No such director exist. even though i have extracted the folder on desktop

      Delete
    3. Move the directory to a file system directory like home ... and then sudo chmod u+x setup_sdcard.sh

      Delete
  13. 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..

    ReplyDelete
    Replies
    1. 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

      Delete
  14. 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

    ReplyDelete
    Replies
    1. Hello Brian & Trushal,

      I was able to solve it. Anybody having the same problems can refer the following thread in ubuntu :
      http://ubuntuforums.org/showthread.php?t=2132482&p=12626056#post12626056

      With regards,
      Avinash

      Delete
  15. Did you manage to fix your MAC address (otherwise random)?

    ReplyDelete
  16. 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

    ReplyDelete
  17. 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?

    ReplyDelete
  18. 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"

    ReplyDelete
  19. 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)

    ReplyDelete
  20. Your download site is no longer valid, better to say: Go to:

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

    and get the latest image.

    ReplyDelete
    Replies
    1. Thanks for the information. i'll do that.

      Cheers,

      Brian

      Delete
  21. 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?

    ReplyDelete
  22. Hola Brian.

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

    greetings.

    ReplyDelete
  23. 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

    ReplyDelete
  24. 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 ?

    ReplyDelete
    Replies
    1. 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.

      Delete
  25. 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.

    ReplyDelete
  26. works for pandaboard too. Just need to replace -uboot beagle_xm with -uboot panda

    ReplyDelete
  27. 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 .

    ReplyDelete
  28. 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...

    ReplyDelete
  29. I have just run "sudo apt-get install dosfstools git-core kpartx u-boot-tools wget" and it is solved.

    Thank you.

    ReplyDelete
  30. 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.

    ReplyDelete
    Replies
    1. Im having the same problem, is there a fix to this?

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

    ReplyDelete
    Replies
    1. I had the same issue I used the saucy 13.10 which works and the link in this webpage also http://elinux.org/BeagleBoardUbuntu hope this helps

      Delete
  32. 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.

    ReplyDelete
  33. Hello Brian
    How can I install with only a single GUI? which one is the lightest/ your recommendation?
    Thanks,
    Ohad

    ReplyDelete
  34. 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?

    ReplyDelete