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:
- Update repository list to old-releases derivatives
- Upgrade Ubuntu 12.10 (Linaro 13.04) to Ubuntu 13.10 (Linaro 14.01)
- 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
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 xy
I 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.
Thanks a lot for your guide ! It helps me a lot.