This is “hopefully” a point in time statement:
The following refers to images from this source: https://wiki.ubuntu.com/ARM/RaspberryPi
For those who are using or plan to use the Ubuntu 16.04 Xenial server builds for Raspberry Pi 3 (and 2), it is important to immediately disable
unattended updates and avoid
There is a temporary solution to prevent a system from upgrading critical kernel files:
sudo apt-mark hold linux-raspi2 linux-image-raspi2 linux-headers-raspi2
There are known issues with various patches which have been introduced after 1034. These patches make the Raspberry Pi unstable - primarily during the boot process. The result is the Raspberry Pi will sometimes freeze during boot. Several re-attempts (power cycling) and the system may eventually boot. Occasionally even this is insufficient.
By installing the original images and not permitting upgrades of core kernel files, the RPi + Ubuntu Xenial + ROS Kinetic is stable.
Launchpad thread: https://bugs.launchpad.net/ubuntu/+source/linux-raspi2/+bug/1652270
UPDATE: 2017-02-15: There is a better workaround available. Rather than use the “hold” feature, users may edit the config.txt and change the device_tree_address (editing the config.txt file BEFORE proceeding the upgrade). The result should be the following lines:
# set extended DT area #device_tree_address=0x100 #device_tree_end=0x8000 device_tree_address=0x02008000
Even with this improvement, completing apt-get dist-upgrade will break wlan0.
UPDATE: 2017-02-16: The config.txt has been repeatedly reported to work; however, I get boot issues.[/spoiler]
UPDATE 2017-02-17: The update from the 15th has proven unreliable. The suggestion of using a non-server version from ubuntu-pi-flavor-maker is proving more promising.