Upgrade Ubuntu 12.10 (Linaro 13.04) to Ubuntu 13.10 (Linaro 14.01) and later to Ubuntu 14.04 LTS

I wanted to keep my existing configuration and programs on my Cubieboard2 with Linaro Lubuntu, but at the same I wanted to upgrade the packages since the Lubuntu 12.10 is quite outdated. This post describes my steps to upgrade my Cubieboard2 to the newer version, which can be done in 3 steps:

  1. Update repository list to old-releases derivatives
  2. Upgrade Ubuntu 12.10 (Linaro 13.04) to Ubuntu 13.10 (Linaro 14.01)
  3. Ubuntu 13.10 (Linaro 14.01) to Ubuntu 14.04  LTS version (long time support)


I hope that with Ubuntu 14.04LTS version I will get smoother path to the upcoming Ubuntu 16.04 LTS release, which will have support next 5 years till 2021! So let’s start.. 😎
 

Update the default repository list

To be able to update and even install packages I have updated my /etc/apt/sources.list file. The updated sources are based on Ubuntu help: help.ubuntu.com/community/EOLUpgrades/

My Ubuntu version:

lsb_release -a
No LSB modules are available.
Distributor ID: Linaro
Description:    Linaro 13.04
Release:        13.04
Codename:       quantal

Linaro 13.04 is based on Lubuntu 12.10 quantal.

To check Ubuntu support check: www.ubuntu.com/info/release-end-of-life

www.ubuntu.com/info/release-end-of-life

The suorces.list file contains:

cat /etc/apt/sources.list
deb http://ports.ubuntu.com/ubuntu-ports/ quantal main universe
deb-src http://ports.ubuntu.com/ubuntu-ports/ quantal main universe

Based on the ubuntu help, I changed it to:

cat /etc/apt/sources.list
#deb http://ports.ubuntu.com/ubuntu-ports/ quantal main universe
deb http://old-releases.ubuntu.com/ubuntu/ quantal main restricted universe multiverse
deb http://old-releases.ubuntu.com/ubuntu/ quantal-updates main restricted universe multiverse
deb http://old-releases.ubuntu.com/ubuntu/ quantal-security main restricted universe multiverse

#deb-src http://ports.ubuntu.com/ubuntu-ports/ quantal main universe
deb-src http://old-releases.ubuntu.com/ubuntu/ quantal main universe

To update/upgrade your system:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade

where:
apt-get update updates the list of available packages and their versions, but it does not install or upgrade any packages.
apt-get upgrade actually installs newer versions of the packages you have. After updating the lists, the package manager knows about available updates for the software you have installed. This is why you first want to update
apt-get dist-upgrade, in addition to performing the function of apt-get upgrade, also intelligently handles changing dependencies with new versions of packages and will attempt to upgrade the most important packages at the expense of less important ones if necessary. Thus, the apt-get dist-upgrade command may actually remove some packages in rare but necessary instances.

To check supported packages:

ubuntu-support-status
Support status summary of 'cubieboard2':
You have 644 packages (84.7%) supported until November 2015 (18m)
You have 0 packages (0.0%) that can not/no-longer be downloaded
You have 116 packages (15.3%) that are unsupported
Run with --show-unsupported, --show-supported or --show-all to see more details
    fetcher.run_options += ["--mode=%s" % options.mode,
AttributeError: type object 'DistUpgradeFetcherCore' has no attribute 'run_options'

Upgrade Ubuntu 12.10 to 13.10

Check the ubuntu versions: en.wikipedia.org/wiki/List_of_Ubuntu_releases
Install update manager:

sudo apt-get install update-manager-core
sudo apt-get install update-manager

Now the main command do-release-upgrade:

sudo do-release-upgrade
Checking for a new Ubuntu release
Your Ubuntu release is not supported anymore.
For upgrade information, please visit:
http://www.ubuntu.com/releaseendoflife

Get:1 Upgrade tool signature [198 B]
Get:2 Upgrade tool [1134 kB]
Fetched 1134 kB in 0s (0 B/s)
authenticate 'saucy.tar.gz' against 'saucy.tar.gz.gpg'
extracting 'saucy.tar.gz'

Reading cache
pcilib: Cannot open /proc/bus/pci
lspci: Cannot find any working access method.

Checking package manager

Continue running under SSH?

This session appears to be running under ssh. It is not recommended
to perform a upgrade over ssh currently because in case of failure it
is harder to recover.

If you continue, an additional ssh daemon will be started at port
'1022'.
Do you want to continue?

Continue [yN]y

Starting additional sshd

To make recovery in case of failure easier, an additional sshd will
be started on port '1022'. If anything goes wrong with the running
ssh you can still connect to the additional one.
If you run a firewall, you may need to temporarily open this port. As
this is potentially dangerous it's not done automatically. You can
open the port with e.g.:
'iptables -I INPUT -p tcp --dport 1022 -j ACCEPT'

To continue please press [ENTER]
...
Fetched 19.6 MB in 6s (0 B/s)

Checking package manager
Reading package lists... Done
Building dependency tree
Reading state information... Done
Building data structures... Done

Calculating the changes

Calculating the changes

Do you want to start the upgrade?


1 installed package is no longer supported by Canonical. You can
still get support from the community.

3 packages are going to be removed. 171 new packages are going to be
installed. 674 packages are going to be upgraded.

You have to download a total of 373 M. This download will take about
9 minutes with your connection.

Installing the upgrade can take several hours. Once the download has
finished, the process cannot be canceled.
Continue [yN]  Details [d]
...

 
then be patient 🙂 takes some time.. and then after some simple questions and reboot… DONE..
We are now running Linaro 14.01 and that is based on Ubuntu 13.10 (Saucy Salamander)
So let’s check my new versions:

lsb_release -a
No LSB modules are available.
Distributor ID: Linaro
Description:    Linaro 14.01
Release:        14.01
Codename:       saucy
uname -a
Linux cubieboard2 3.4.61+ #1 SMP PREEMPT Sat Oct 26 18:10:18 CST 2013 armv7l armv7l armv7l GNU/Linux
cat /etc/*-release
DISTRIB_ID=Linaro
DISTRIB_RELEASE=14.01
DISTRIB_CODENAME=saucy
DISTRIB_DESCRIPTION="Linaro 14.01"
NAME="Linaro"
VERSION="14.01"
ID=linaro
ID_LIKE=debian
PRETTY_NAME="Linaro 14.01"
VERSION_ID="14.01"
HOME_URL="http://www.linaro.org/"
SUPPORT_URL="http://linaro.zendesk.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/linaro-ubuntu"
cat /proc/version
Linux version 3.4.61+ (matson@ubt) (gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) ) #1 SMP PREEMPT Sat Oct 26 18:10:18 CST 2013

 

Ubuntu 13.10 (Linaro 14.01) to Ubuntu 14.04  LTS version

It looks, then now I can upgrade to 14.04 TLS trusty release!

 sudo apt-get dist-upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages have been kept back:
  redmine redmine-mysql
0 upgraded, 0 newly installed, 0 to remove and 2 not upgraded.
linaro@cubieboard2:~$ sudo do-release-upgrade
Checking for a new Ubuntu release
Your Ubuntu release is not supported anymore.
For upgrade information, please visit:
http://www.ubuntu.com/releaseendoflife

Get:1 Upgrade tool signature [198 B]
Get:2 Upgrade tool [1156 kB]
Fetched 1156 kB in 0s (0 B/s)
authenticate 'trusty.tar.gz' against 'trusty.tar.gz.gpg'
extracting 'trusty.tar.gz'

Then I started to have many errors e.g.:

...
Err http://archive.ubuntu.com trusty-updates/main armhf Packages
Err http://archive.ubuntu.com trusty-updates/main armhf Packages 404  Not Found [IP: 91.189.88.153 80]
Err http://archive.ubuntu.com trusty-updates/restricted armhf Packages 404  Not Found [IP: 91.189.88.153 80]
Err http://archive.ubuntu.com trusty-updates/universe armhf Packages 404  Not Found [IP: 91.189.88.153 80]
Err http://archive.ubuntu.com trusty-updates/multiverse armhf Packages 404  Not Found [IP: 91.189.88.153 80]
Err http://archive.ubuntu.com trusty-security/main armhf Packages 404  Not Found [IP: 91.189.88.153 80]
Err http://archive.ubuntu.com trusty-security/restricted armhf Packages 404  Not Found [IP: 91.189.88.153 80]
Err http://archive.ubuntu.com trusty-security/universe armhf Packages 404  Not Found [IP: 91.189.88.153 80]
Err http://archive.ubuntu.com trusty-security/multiverse armhf Packages 404  Not Found [IP: 91.189.88.153 80]
Err http://archive.ubuntu.com trusty/main armhf Packages
Err http://archive.ubuntu.com trusty/restricted armhf Packages
Err http://archive.ubuntu.com trusty/universe armhf Packages
Err http://archive.ubuntu.com trusty/multiverse armhf Packages
Err http://archive.ubuntu.com trusty/main armhf Packages 404  Not Found [IP: 91.189.88.153 80]
Err http://archive.ubuntu.com trusty/restricted armhf Packages 404  Not Found [IP: 91.189.88.153 80]
Err http://archive.ubuntu.com trusty/universe armhf Packages 404  Not Found [IP: 91.189.88.153 80]
Err http://archive.ubuntu.com trusty/multiverse armhf Packages 404  Not Found [IP: 91.189.88.153 80]
...
Restoring original system state
Aborting

 
The trick was again in the repo file /etc/apt/sources.list. I configured it back to the supported repository with ubuntu 14.04 LTS code name trusty. Please notice the only not commented line.:

 cat /etc/apt/sources.list
# deb http://ports.ubuntu.com/ubuntu-ports/ quantal main universe
# deb http://old-releases.ubuntu.com/ubuntu/ quantal main universe
# deb http://old-releases.ubuntu.com/ubuntu/ saucy main restricted universe multiverse
# deb http://old-releases.ubuntu.com/ubuntu/ saucy-updates main restricted universe multiver           se
# deb http://old-releases.ubuntu.com/ubuntu/ saucy-security main restricted universe multive           rse
deb http://ports.ubuntu.com/ubuntu-ports/ trusty main restricted universe multiverse

# deb-src http://ports.ubuntu.com/ubuntu-ports/ quantal main universe
# deb-src http://old-releases.ubuntu.com/ubuntu/ saucy main universe

Also make sure by df -h that you have at least 5MB available disk space on /tmp:

The upgrade needs a total of 5243 k free space on disk '/tmp'.

 
Now let’s try again: sudo do-release-upgrade.
Upgrade started with successfully downloading packages from the new trusty repository list with the following responses:

Do you want to start the upgrade?
4 installed packages are no longer supported by Canonical. You can
still get support from the community.
11 packages are going to be removed. 74 new packages are going to be
installed. 724 packages are going to be upgraded.

You have to download a total of 310 M. This download will take about
39 minutes with a 1Mbit DSL connection and about 12 hours with a 56k
modem.
Fetching and installing the upgrade can take several hours. Once the
download has finished, the process cannot be canceled.

 Continue [yN]  Details [d]y

Fetching
Get:1 http://ports.ubuntu.com/ubuntu-ports/ trusty/main base-files armhf 7.2ubuntu5 [68.7 kB]
Get:2 http://ports.ubuntu.com/ubuntu-ports/ trusty/main bash armhf 4.3-6ubuntu1 [500 kB]
Get:3 http://ports.ubuntu.com/ubuntu-ports/ trusty/main coreutils armhf 8.21-1ubuntu5 [1011 kB]
...
Get:334 http://ports.ubuntu.com/ubuntu-ports/ trusty/main libusb-1.0-0 armhf 2:1.0.17-1ubuntu2 [35.0 kB]
Get:335 http://ports.ubuntu.com/ubuntu-ports/ trusty/main groff-base armhf 1.22.2-5 [934 kB]
Get:336 http://ports.ubuntu.com/ubuntu-ports/ trusty/main man-db armhf 2.6.7.1-1 [832 kB]
...
Get:708 http://ports.ubuntu.com/ubuntu-ports/ trusty/universe lubuntu-icon-theme all 0.45 [870 kB]
Get:709 http://ports.ubuntu.com/ubuntu-ports/ trusty/universe pcmanfm armhf 1.2.0-1 [241 kB]
Get:710 http://ports.ubuntu.com/ubuntu-ports/ trusty/main policykit-desktop-privileges all 0.17 [3608 B]
..
Get:797 http://ports.ubuntu.com/ubuntu-ports/ trusty/main python-twisted all 13.2.0-1ubuntu1 [3970 B]
Get:798 http://ports.ubuntu.com/ubuntu-ports/ trusty/universe redmine-mysql all 2.4.2-1 [6052 B]
Fetched 310 MB in 6s (317 kB/s)

Upgrading

 
During the installation I was prompted several questions and I answered ‘y’ to install new versions (I did it also for ssh, cron, mysql) e.g.:

Installing new version of config file /etc/issue.net ...

Configuration file `/etc/legal'
 ==> File on system created by you or by a script.
 ==> File also in package provided by package maintainer.
   What would you like to do about it ?  Your options are:
    Y or I  : install the package maintainer's version
    N or O  : keep your currently-installed version
      D     : show the differences between the versions
      Z     : start a shell to examine the situation
 The default action is to keep your current version.
*** legal (Y/I/N/O/D/Z) [default=N] ? y
...
...
Setting up libapache2-mod-passenger (4.0.37-2) ...

Configuration file '/etc/apache2/mods-available/passenger.conf'
 ==> Modified (by you or by a script) since installation.
 ==> Package distributor has shipped an updated version.
   What would you like to do about it ?  Your options are:
    Y or I  : install the package maintainer's version
    N or O  : keep your currently-installed version
      D     : show the differences between the versions
      Z     : start a shell to examine the situation
 The default action is to keep your current version.
*** passenger.conf (Y/I/N/O/D/Z) [default=N] ?
...
Searching for obsolete software
Reading package lists... Done
Building dependency tree
Reading state information... Done
Building data structures... Done
Building data structures... Done

Remove obsolete packages?
83 packages are going to be removed.
 Continue [yN]  Details [d]

 
Finally after 3 hours! done! 😎

System upgrade is complete.

Restart required

To finish the upgrade, a restart is required.
If you select 'y' the system will be restarted.

Continue [yN]

 
Let’s check version:

 lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 14.04 LTS
Release:        14.04
Codename:       trusty
uname -a
Linux cubieboard2 3.4.61+ #1 SMP PREEMPT Sat Oct 26 18:10:18 CST 2013 armv7l armv7l armv7l GNU/Linux
 cat /etc/*-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=14.04
DISTRIB_CODENAME=trusty
DISTRIB_DESCRIPTION="Ubuntu 14.04 LTS"
NAME="Ubuntu"
VERSION="14.04, Trusty Tahr"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 14.04 LTS"
VERSION_ID="14.04"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
 cat /proc/version
Linux version 3.4.61+ (matson@ubt) (gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) ) #1 SMP PREEMPT Sat Oct 26 18:10:18 CST 2013

 
I got some errors starting some application e.g. mc. Search the missing name with apt-cache search xyI reinstalled missing/corrupted packages like this:

error while loading shared libraries: /lib/arm-linux-gnueabihf/libglib-2.0.so.0: invalid ELF header

$sudo apt-cache search apt-cache search curl
libglib2.0-0 - GLib library of C routines
libglib2.0-0-dbg - Debugging symbols for the GLib libraries
libglib2.0-bin - Programs for the GLib library
...

$sudo apt-get install --reinstall libglib2.0-0

To get the installed version of the package: e.g. dpkg-query -l 'openssl'
To get reinstall the package: e.g. apt-get install --reinstall libglib2.0-0

At the end, just in case, I added also security and update repository:

 cat /etc/apt/sources.list
deb http://ports.ubuntu.com/ubuntu-ports/ trusty main restricted universe multiverse
deb http://ports.ubuntu.com/ubuntu-ports/ trusty-updates main restricted universe multiverse
deb http://ports.ubuntu.com/ubuntu-ports/ trusty-security main restricted universe multiverse

deb-src http://ports.ubuntu.com/ubuntu-ports/ trusty main universe

sudo apt-get update
sudo apt-get updgrade

 
I also had to reinstall minidlna on Ubuntu 14.04, which is not in Ubuntu 14.04 standard arm package any more.

 


Related Posts

Cubieboard2 – Lubuntu – Xterm Copy/Paste

As you can find out the normal copy paste is not working in Lubuntu Xterm.This blog: http://www.davidsimmons.com/soft/xtermhacks/ looks to me too complicated. I just have to get used to my mid mouse button that will copy+paste the[…]

Continue reading ...

Ubuntu – data stored in RAM filesystem – TMPFS

In my Cubieboard2 I use Lubuntu. Since I have connected barometer and arduino to my cubieboard, I read data from that devices and store it to cubieboard2 filesystem. Since NAND memory is not quite suitable for such[…]

Continue reading ...

WiFi Access Point Bridge with Raspberry Pi 3 – ETH to WLAN

WiFi Modes

A Raspberry Pi WiFi Extender is a cheap and power efficient way of increasing the total range of your WiFi Network. In my case I needed to extend a WiFi coverage within the same LAN[…]

Continue reading ...