Ubuntu on OMAP FAQ
(→I want to install Ubuntu on external USB hard disk instead of sluggish SD card)
|Line 121:||Line 121:|
Latest revision as of 09:13, 30 August 2012
Ubuntu on OMAP FAQs
 What are the supported highlevel features for Ubuntu on OMAP?
The features enabled on Ubuntu on PandaBoard.
The below are current as of:
 Feature Highlights
- External monitor via HDMI (type-A to type-A) or DVI (HDMI-type-A to DVI-D)
- USB Keyboard / Mouse
- USB thumbdrive should work
- USB webcam's should work
- Ethernet Support
- OpenGLES Graphics Acceleration
- WLAN (802.11 b/g/n)
- Bluetooth (including A2DP)
- MPEG4/H263,H.264 Video (upto 1080p)
- Audio playback : AAC, MP3, PCM, AMR codecs
- Audio record: NB-AMR, WAV
- Image Decode: JPEG Decode
 How do I file a bug against a Ubuntu package?
All bugs for Ubuntu on OMAP are logged and tracked via launchpad.net. Below are the steps you can follow to report bugs:
- Create a launchpad.net account if you don't already have one.
- Determine the package against which the bug needs to be reported. (Helpful tips: Find the package against which you are going to report a bug , Use the Launchpad's package search feature.
- Report the bug using the 'Report a bug about ubuntu' form
- To file a bug against a specific package you can also use a URL like the following:
where PACKAGENAME is the name of the source package about which you want to file the bug report.
- You can check on #ubuntu-arm (on irc.freenode.net) to run your problem or issue by others incase you have some questions.
 I cannot login and/or want to skip the login screen. What should I do?
Create a file /etc/gdm/custom.conf as follow:
$ sudo chown -R gdm:gdm /var/lib/gdm/ $ sudo vi /etc/gdm/custom.conf
[daemon] DefaultSession=une-efl AutomaticLogin=ubuntu AutomaticLoginEnable=true
 USB OTG port on PandaBoard does not as host under Ubuntu
By default the USB OTG capable port is configured as 'device'. Using it as host requires kernel re-configuration and re-build.
 I have installed TI OMAP publc PPA packages (ubuntu-omap4-extras)on my platform - I did a update and they dont work?
ubuntu-omap4-extras package updates usually follow after Ubuntu community updates are published. As there is usually work needed to migrate to new baseline. You should try to update the ubuntu-omap4-extras after a few days.
 My network does not work, what should I do?
If you are behind a proxy server you will need to configure the proxy first with the Ubuntu Network Proxy configuration tool.
 How do I switch between UNE & standard desktop ?
At the login screen, you can choose (in the bottom menu bar) between the Ubuntu Netbook Edition(UNE) UI, and the Ubuntu Standard Desktop UI. The UNE is supposed to be optimized for netbook screen size, the standard desktop is exactly what you would get on a laptop.
 Where can I get some HD clips to play ?
You can go to http://trailers.apple.com/ right from the Firefox webbrowser on PandaBoard over WLAN. And start to play some HD clips there. It should use the Gstreamer accelerated firefox plugin and start decoding.
 I just want to install only a few addons and not the whole ubuntu-omap4-extras. Can I do it?
Yes. Search for the package you want to install 'ubuntu-omap4-extras-multimedia', 'ubuntu-omap4-extras-graphics', 'ubuntu-omap4-extras-connectivity'and get/install them manual from command prompt.
 I have HD videos on my SD card and they are not being decoded correctly?
Try moving the videos onto a USB flash drive and play them.
 I want to install Ubuntu on external USB hard disk instead of sluggish SD card
When running Ubuntu on PandaBoard from the SD Card, the system is quite slow. This is somewhat a known issue, under investigation. If you want to get the maximum out of your PandaBoard, it is recommended to install the Ubuntu file system on an external USB drive.
The instructions below will help you for this setup. Note that you will still need the SD card since the SD card is the only memory device you can boot from. So your bootloaders and kernel uImage will still be on the SD card, however the complete OS will then be on the USB drive.
- Obtain an external USB drive.
- Create 1 or more partitions on the drive using GParted or similar (generally use ext3 or ext4, ext2 is fine for USB drives). And put labels on each partition so that it's simpler to recognize them. E.g. ubuntu1, ubuntu2
- If you are experiencing problems with partition try to reformat it (NOTE: will wipe out partition and be sure to change XY accordingly to match the partition you wish to reformat):
sudo umount /dev/sdXY sudo mkfs.ext3 -L ubuntu1 /dev/sdXY sudo fsck -a /dev/sdXY sudo umount /dev/sdX* #unplug the usb hd and plug back in
- Now install Ubuntu on a SD card as usual (e.g. flash it, and run the installer from the SD). If you have already a working SD card, that's fine you can use it.
Ubuntu will mount its root file system from the initramfs, after the kernel has booted. The initramfs will parse the bootargs to find where the root file system is. By default the bootargs have something like this:
root=UUID=<your SD Card partition UUID>
If you want to use the root FS on the USB drive, you just need to change the 'root' arguments in the bootargs and the initramfs will mount the correct partition. The bootargs are read from the file boot.scr which is stored on the SD card FAT32 partition, the easiest way to update this file is to use Ubuntu built-in tool: flash-kernel:
- boot your board with its working SD card
- edit the file /boot/boot.script and update your 'root=' arguments like this:
Where ubuntu1 is the label of the partition you want to use on the USB drive. Should you not have a /boot/boot.script you may find a boot.txt in the root of your FAT32 boot partition which can be copied to /boot/boot.script of your Linux partition and edited as required.
- Now run
it will generate boot.scr using mkimage tool by reading your new version of /boot/boot.script. flash-kernel will directly write the file boot.scr in the FAT32 partition.
Now we just need to transfer the SD card content onto the USB drive:
- Turn off PandaBoard and use another computer as the SD card will no longer boot unless it has a USB drive with a LABEL=ubuntu1 with all the files on it
- Plug your USB drive and mount your 'ubuntu1' partition, plug your SD card in a SD card reader and mount it, if you are running Ubuntu Desktop they will usually auto mount to /media/<your USB drive> and /media/<your SD>
- Copy the entire content of the SD card to the USB drive with administrative privileges:
cd /mnt/<your USB drive> sudo cp -a /mnt/<your SD>/* . sudo sync
- Unmount both disks, and put the SD card in the PandaBoard and plug the USB drive on the PandaBoard USB Host
Now if you boot your PandaBoard, it will take the bootloaders/kernel from the SD card, uboot will read the boot.scr on the SD card, and the initramfs will search for the partition with label 'ubuntu1' and mount it.
You are now running from the USB host.
 I want to see the kernel debug traces and connect through a serial connection
By default Ubuntu will be in 'quiet' mode, e.g. the kernel debug traces are not sent on the serial console. This is done on purpose in the default Ubuntu release from Canonical. Similarly since there is no output on the serial console, there is no login prompt on the serial console.
If you want to get those, follow these instructions:
- install Ubuntu as usual
- after the installation is complete, edit the file /boot/boot.script:
sudo vi /boot/boot.script
- This file is used to generate the file 'boot.scr' which is stored on the SD Card boot partition. So you need to modify the bootargs as such:
- remove 'quiet'
- add 'console=ttyO2,115200n8'
- now, you need to run the kernel flasher utility after booting from the SD Card, this tool will create the file 'boot.scr' and flash it to the SD card boot partition:
 I want to a console on serial connection, how do I do it?
By default Ubuntu Netbook images do not provide a console on serial connection. Note: The headless images do provide this.
If you want to get serial console but dont really care about debug traces,here are some simple changes you can make to enable it:
- install Ubuntu as usual
- after the installation is complete, edit the file /etc/init/ttyO2.conf:
# ttyO2 - getty # # This service maintains a getty on ttyO2 from the point the system is # started until it is shut down again. start on stopped rc RUNLEVEL= stop on runlevel [!2345] respawn exec /sbin/getty -L 115200 ttyO2
Use the SD card as normal and boot the system.
 installation went wrong, I need to restart set-up and account creation
mkdir /var/lib/oem-config touch /var/lib/oem-config/run
 how do I know if an ARM binary is built for soft-float or hard-float
For more information about hard-float, please check this http://wiki.debian.org/ArmHardFloatPort.
Hard float and Soft float ABIs are not compatible each other. So a root FS must be entirely built against either one or the other. When you have a ARM binary , you can check if it is built for hard float or soft float like this:
- you can use 'readelf'.
readelf -A <program>
Tag_ABI_VFP_args: VFP registers
for hard-float binaries only.
- for dynamically linked program, you can additionally use 'ldd'.
and it will show you the loader path.