Running Ubuntu Core
Info Box
|
Contents
Introduction[edit | edit source]
Canonical, the company behind the well-known Ubuntu GNU/Linux distribution, is now sharing a minimal filesystem for ARM architecture called Ubuntu Core. This basic root file system works perfectly with platforms based on the Sitara processors, as Naon and Lizard. It contains the APT software so the file system can be easily customized installing additional packages.
References[edit | edit source]
- Ubuntu Core project page: https://wiki.ubuntu.com/Core
- Ubuntu Core installation instructions: Ubuntu Core page on Omappedia
- Root file system image: Ubuntu Core 12.04 "Precise Pangolin" tar.gz archive
- Ubuntu OMAP Desktop: Ubuntu Omap Desktop Installation Instructions
Ubuntu Core - Quick Guide[edit | edit source]
Please follow these steps to run Ubuntu Core:
- Download the compressed archive containing the RFS
- Uncompress the archive to a folder on your disk
- Share the folder via NFS
- Configure the bootloader to boot from network, with RFS pointing to the Ubuntu Core NFS share
- Boot the system
Enabling the serial console[edit | edit source]
The following instructions show how to enable the serial console (eg: ttyO0)
- Create the /etc/init/serial-auto-detect-console.conf file with the following contents:
# serial-auto-detect-console - starts getty on serial console # # This service starts a getty on the serial port given in the 'console' kernel argument. # start on runlevel [23] stop on runlevel [!23] respawn exec /bin/sh /bin/serial-console
- Create the /bin/serial-console file with the following contents:
for arg in $(cat /proc/cmdline) do case $arg in console=*) tty=${arg#console=} tty=${tty#/dev/} case $tty in tty[a-zA-Z]* ) PORT=${tty%%,*} # check for service which do something on this port if [ -f /etc/init/$PORT.conf ];then continue;fi tmp=${tty##$PORT,} SPEED=${tmp%%n*} BITS=${tmp##${SPEED}n} # 8bit serial is default [ -z $BITS ] && BITS=8 [ 8 -eq $BITS ] && GETTY_ARGS="$GETTY_ARGS -8 " [ -z $SPEED ] && SPEED='115200,57600,38400,19200,9600' GETTY_ARGS="$GETTY_ARGS $SPEED $PORT" exec /sbin/getty $GETTY_ARGS esac esac done
- Create the /etc/init/ttyO0.conf file with the following contents:
# ttyO0 - getty # # This service maintains a getty on ttyO0 from the point the system is # started until it is shut down again. start on runlevel [23] and ( not-container or container CONTAINER=lxc or container CONTAINER=lxc-libvirt) stop on runlevel [!23] respawn exec /sbin/getty -8 115200 ttyO0
Networking[edit | edit source]
Setting the DNS[edit | edit source]
Assuming that network interface is properly configured, to set the DNS enter the following command:
echo "nameserver [dns ip address]" > /etc/resolv.conf
How to fix UpStart error at boot[edit | edit source]
- Reference: Upstart fix
rdate ntp.inrim.it wget https://launchpad.net/ubuntu/+source/upstart/1.5-0ubuntu8/+build/3710339/+files/upstart_1.5-0ubuntu8_armhf.deb --no-check-certificate dpkg -i upstart_1.5-0ubuntu8_armhf.deb reboot
Cross-compile custom components[edit | edit source]
If you need to add custom components (applications, frameworks, ..) which are not provided by the Ubuntu repositories, you must build from the sources using the proper toolchain. In particular, the toolchain used to build the Ubuntu Core 12.04 LST armhf is the gcc-arm-linux-gnueabihf. On Ubuntu server 12.04 LST (x86 o amd64), you can install this toolchain using the package manager (e.g. apt-get).
The toolchain files can be found in /usr/arm-linux-gnueabihf. This path should be used to configure the build tools (SDKs, Makefiles, ..) for cross-compilation.
Useful packages[edit | edit source]
The following is a list of useful packages which can be easily installed with apt-get:
- openssh-server
- wpasupplicant
- bluez
- bluez-tools
- obexpushd
- obexftp
- nano
- apt-utils
- python-software-properties
- ping
- rdate
Searching available packages[edit | edit source]
Please refer to Ubuntu Precise for armhf search page
Adding the TI PPA[edit | edit source]
rdate ntp.inrim.it add-apt-repository ppa:tiomap-dev/release apt-get update