udf with --custom-tarball that is too big: cannot pass bootsplash on reboot

Bug #1582325 reported by Kyle Nitzsche on 2016-05-16
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Canonical System Image
Critical
Unassigned
system-image (Ubuntu)
Undecided
Unassigned

Bug Description

Summary: I am installing my own customized tarball to cooler with udf using --customized-tarball option. If the customized tarball is too large, udf reports "can't write" error and fails.

Rebooting from recovery menu leaves device stuck in bootsplash.

We don't want this to happen on a channel.

Details to follow.

Kyle Nitzsche (knitzsche) wrote :
Download full text (6.7 KiB)

To reproduce:

== I flashed my cooler using the SP_FLASH tool according to instructions here: https://wiki.canonical.com/UES/CE/Projects/Avila/FlashTool

== Using device GUI, I enabled dev mode, set power > lock when idle > Never, and installed the latest system update which left me with:

phablet@ubuntu-phablet:~$ system-image-cli -i
current build number: 3
device name: cooler
channel: ubuntu-touch/stable/bq-aquaris-pd.en
last update: 2016-05-16 15:18:01
version version: 3
version ubuntu: 20160408.1
version tag: OTA-10.1
version device: 20160330.0
version custom: 20160330--38-10-vivid

== adb reboot-bootloader, fastboot boot recovery-cooler.img and rm /cache/recovery*

== install customized tarball like this:
$ adb reboot-bootloade
$ fastboot boot recovery-cooler.img
$ ubuntu-device-flash touch \
--channel ubuntu-touch/stable/bq-aquaris-pd.en \
--recovery-image recovery-cooler.img \
--device cooler \
--custom-tarball 0-7-13-puritine_custom.tar.xz \
--run-script skip-sig.sh

WHERE:
$ ls -l 0-7-13-puritine_custom.tar.xz
-rw-rw-r-- 1 knitzsche knitzsche 558581464 May 13 16:50 0-7-13-puritine_custom.tar.xz
AND:
$ cat skip-sig.sh
#!/bin/bash
adb shell touch /etc/system-image/skip-gpg-verification
adb shell /sbin/system-image-upgrader /cache/recovery/ubuntu_command

THIS ^ WORKED FINE

== Switched to rc-propposed as follows:

$ adb reboot-bootloader
$ ubuntu-device-flash touch \
--channel ubuntu-touch/rc-proposed/bq-aquaris-pd.en \
--recovery-image recovery-cooler.img \
--device cooler \
--bootstrap

4. complete oobe

5. enable dev mode, lock when idle = Never and rm ~/.customized

== install customized tarball again

last_log.1 last_log.3 log
/cache/recovery # ls -a
. last_install last_log last_log.2 last_log.4
.. last_kmsg last_log.1 last_log.3 log

(hmm, I expected to see tarballs here...)
# cd cache/recovery/
# rm /*

$ adb reboot-bootloader
$ fastboot boot recovery-cooler.img
downloading 'boot.img'...
OKAY [ 0.372s]
booting...
OKAY [ 0.068s]
finished. total time: 0.439s
$ ubuntu-device-flash touch \
> --channel ubuntu-touch/rc-proposed/bq-aquaris-pd.en \
> --recovery-image recovery-cooler.img \
> --device cooler \
> --custom-tarball 0-7-13-puritine_custom.tar.xz \
> --run-script skip-sig.sh
2016/05/16 12:43:21 Device is |cooler|
2016/05/16 12:43:21 Flashing version 51 from ubuntu-touch/rc-proposed/bq-aquaris-pd.en channel and server https://system-image.ubuntu.com to device cooler
2016/05/16 12:43:22 Start pushing /home/knitzsche/.cache/ubuntuimages/ubuntu-touch/rc-proposed/bq-aquaris-pd.en/cooler/version-51.tar.xz to device
2016/05/16 12:43:22 Start pushing /home/knitzsche/gendarmarie/flash/0-7-13-puritine_custom.tar.xz to device
2016/05/16 12:43:22 Start pushing /home/knitzsche/.cache/ubuntuimages/gpg/image-master.tar.xz to device
2016/05/16 12:43:22 Start pushing /home/knitzsche/.cache/ubuntuimages/gpg/image-signing.tar.xz to device
2016/05/16 12:43:24 Done pushing /home/knitzsche/.cache/ubuntuimages/ubuntu-touch/rc-proposed/bq-aquaris-pd.en/cooler/version-51.tar.xz to device
2016/05/16 12:43:24 Start pushing /home/knitzsche/.cache/ubuntuimages/pool/device-e94e1b09f402d05326f5ead27efbe...

Read more...

Jean-Baptiste Lallement (jibel) wrote :

Thanks for your report. This is the same problem that happens on OTA when someone installs additional packages in the system partition and there is not enough space left to apply the OTA. It is a non recoverable situation and there must be a protection against this in system-image.

Changed in canonical-devices-system-image:
importance: Undecided → Critical
status: New → Confirmed
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers