Как использовать ubuntu-device-flash с BQ Aquaris E4.5 и Aquaris E5

18

Инструмент 'ubuntu-device-flash' может быть использован для обновления программного обеспечения на телефоне с Ubuntu вручную. Его можно использовать для переключения устройства на другой «канал» обновлений, а также для сброса хранилища.

Однако, когда я попробовал это сделать с BQ Aquaris E4.5 Ubuntu Edition или Aquaris E5 Ubuntu Edition, это не сработало, например:

ubuntu-device-flash touch --channel ubuntu-touch/stable/bq-aquaris.en --bootstrap

Ожидается, что устройство будет стерто до заводского состояния. Тем не менее, это не похоже на успех:

2015/03/27 13:58:35 Expecting the device to be in the bootloader... waiting
2015/03/27 13:58:50 Device is |krillin|
2015/03/27 13:58:50 Flashing version 20 from ubuntu-touch/stable/bq-aquaris.en channel and server https://system-image.ubuntu.com to device krillin
Failed to enter Recovery
Джон Макали
источник

Ответы:

21

Для производственных устройств Ubuntu Phone adbотключен при восстановлении, и это влияет на ubuntu-device-flashработу.

Вы должны предоставить образ для восстановления с adbвключенным, который ubuntu-device-flashбудет временно использоваться при выполнении своей работы:

  • Для BQ Aquaris E4.5 Ubuntu Edition (он же крилин) используйте recovery-krillin.img
  • Для BQ Aquaris E5 Ubuntu Edition (он же vegetahd) используйте recovery-vegetahd.img

ubuntu-device-flashзатем может быть предоставлен с --recovery-imageаргументом, например:

ubuntu-device-flash touch --channel ubuntu-touch/stable/bq-aquaris.en --bootstrap --recovery-image path/to/downloaded/recovery.img

Обратите внимание, что когда команда предлагает вам:

Expecting the device to be in the bootloader... waiting

Вы можете поместить Aquaris E4.5 и Aquaris E5 в «загрузчик», удерживая кнопку « PowerVolume Upв течение нескольких секунд, отпуская Powerкнопку, когда загорается красный светодиод, когда машина перезагружается, а затем выбирая «fastboot» в меню загрузки устройства.

неизвестный флаг `recovery-image '

Если вы получаете эту ошибку, это означает, что вы все еще используете более старую версию ubuntu-device-flash. Пожалуйста, установите последнюю версию, используя ppa

sudo add-apt-repository ppa:phablet-team/tools
sudo apt-get update; sudo apt-get upgrade
Джон Макали
источник
Очень полезно. Сколько времени занимал перенос на устройство после загрузки рекавери?
Марк
Несколько минут. Я постараюсь вспомнить время когда-нибудь.
Джон Макали
Я узнал, что ADB может зависнуть на этапе восстановления, когда файлы передаются на устройство для установки. Если это произойдет, вы застрянете, ожидая, когда файлы будут отправлены без индикатора сбоя. У вас также будут проблемы с adb shellподключением к устройству. Вы можете возобновить загрузку загруженных файлов, снова загрузившись и восстановившись ubuntu-device-flash -v touch --channel=ubuntu-touch/stable/bq-aquaris.en --device=krillin. Если вы делаете adb shellи /cache/recovery/наблюдаете, вы можете наблюдать за процессом передачи файлов.
Марка
Еще один комментарий, на который стоит обратить внимание, это то, что (как написан этот комментарий) ubuntu-device-flash в архивах устарел и не поддерживает --recovery-image. необходимо использовать версию в ppa phablet-tools (здесь: developer.ubuntu.com/en/start/ubuntu-for-devices/… ).
Джон Макали,
Если ваш телефон работает достаточно хорошо, чтобы перезагрузить компьютер для восстановления, вы также можете сделать это с самого телефона: askubuntu.com/questions/609938/… Однако вы не сбросите все изменения, внесенные в системный раздел.
Джон Макали
1

Другой причиной неудачного входа в восстановление могут быть недостаточные привилегии для USB-устройства компьютера с Ubuntu.

Я попробовал команду флэш-памяти Джона, но все равно получил ошибку «Не удалось войти в восстановление». Решение пришло ко мне, когда я загрузил устройство в режим fastboot , прошил образ восстановления командой fastboot и загрузил этот образ. Если у меня не было файла " /etc/udev/rules.d/80-persistent-usb.rules" с содержимым:

SUBSYSTEM=="usb", ACTION=="add", SYSFS{idVendor}=="2a47", MODE="0666", SYSFS{idProduct}=="*"

на моем компьютере с убунуту я не смог получить доступ к устройству с ядром восстановления.

После того, как я добавил этот файл, я смог " adb shell" и войти в систему восстановления. А также после этого изменения команда Джона сработала, как и ожидалось. Мой компьютер с Ubuntu работает под несколько измененным Linux, но основан на Ubuntu 14.04.

Томас
источник
Этот файл / правило создается несколькими пакетами, поэтому, если у вас работает MTP (то есть просмотр файлов nautilus) вашего устройства, то это правило будет действовать. Конечно, если вы пытаетесь это сделать в первый раз, когда вы пытаетесь использовать свое устройство с Ubuntu, то добавление этого правила будет как-то необходимо.
Джон Макали