Cwm no file contexts что значит. Ошибка "Installation aborted" при прошивке: что делать, способы решения и возможные причины

💖 Нравится? Поделись с друзьями ссылкой

Ошибка 7 при прошивке через рекавери (TWRP, CWM Recovery) . Решили установить кастомную прошивку на свой Android смартфон или планшет, вошли в кастомное TWRP Recovery, но во время установки получили ошибку 7? Не отчаивайтесь исправить данную проблему довольно просто.

Многих новичков может обескуражить какие либо действия в установке кастомной прошивки , особенно если это процедура выполняется первый раз. Одним из серьезных препятствий во время установки прошивки может стать ошибка 7 в TWRP Recovery. Серьезность этой ошибки в том, что она не позволяет вообще установить кастомную прошивку на устройство и вся ваша подготовка пойдет насмарку. Но оказывается что данную ошибку 7 в recovery довольно легко исправить не прибегая к длительным действиям! О том как избавится от данной проблемы и посвящена сегодняшняя статья!

Откуда взялась ошибка 7?

Данная ошибка может возникнуть в двух случаях:

  1. Если вы попытаетесь установить прошивку не от своего устройства, такое часто возникает, когда под одним наименованием смартфона или планшета может быть множество моделей с небольшими отличиями под определенные рынки (например смартфон LG G2 имеет модели VS980, LS980, D800, D802, F320K). Убедитесь что прошивка предназначена именно для вашего устройства!
  2. В скрипте установке прошивки не внесено название модели вашего Android смартфона или планшета.

Как исправить Ошибку 7 при прошивке в Recovery?

Вариант 1 (действие 1)

Если вы уже прочитали как могла возникнуть ошибка 7, то самым первым вашим действием будет проверка действительно вы скачали прошивку именно для вашей модели смартфона или планшета (проверить наименование и версию).

Если вы заметили, что скачали не ту прошивку, то скачать для своего устройства. Проблема решена! Если же это не так и прошивка верная, то переходим ко второму действию.

Вариант 2 (действие 2)

1. Установите Notepad ++
2. Открываем прошивку и переходим по пути META-INF\com\google\android\
3. Извлекаем файл updater-script

4. Удалить вначале устанавливающего скрипта строки начинающиеся на assert

Решили установить кастомную прошивку на свой Android смартфон или планшет, вошли в кастомное TWRP Recovery, но во время установки получили ошибку 7? Не отчаивайтесь исправить данную проблему довольно просто.

Многих новичков может обескуражить какие-либо действия в установке кастомной прошивки , особенно если это процедура выполняется первый раз. Одним из серьезных препятствий во время установки прошивки может стать ошибка 7 в TWRP Recovery.

Серьезность этой ошибки в том, что она не позволяет вообще установить кастомную прошивку на устройство и вся ваша подготовка пойдет насмарку. Но оказывается что данную ошибку 7 в recovery довольно легко исправить не прибегая к длительным действиям! О том как избавится от данной проблемы и посвящена сегодняшняя статья!

Откуда взялась ошибка 7?

Данная ошибка может возникнуть в двух случаях:

  1. Если вы попытаетесь установить прошивку не от своего устройства , такое часто возникает, когда под одним наименованием смартфона или планшета может быть множество моделей с небольшими отличиями под определенные рынки (например смартфон LG G2 имеет модели VS980, LS980, D800, D802, F320K). Убедитесь что прошивка предназначена именно для вашего устройства!
  2. В скрипте установке прошивки не внесено название модели вашего Android смартфона или планшета.

Как исправить Ошибку 7 при прошивке в Recovery?

Вариант 1 (действие 1)

Если вы уже прочитали как могла возникнуть ошибка 7, то самым первым вашим действием будет проверка действительно вы скачали прошивку именно для вашей модели смартфона или планшета (проверить наименование и версию).

Если вы заметили, что скачали не ту прошивку, то скачать для своего устройства. Проблема решена! Если же это не так и прошивка верная, то переходим ко второму действию.

Вариант 2 (действие 2)

Попробуйте отыскать в сети интернет более новую версию кастомного Recovery и после установить ее на свой девайс, после чего попробовать установить прошивку, что выдавала ранее ошибку 7.

Вариант 3 (действие 3)

Прошивка Android 4.4 KitKat для Lenovo S930 - s215_140714


Прошивка с русского региона для обновления с ПК!


Возможность установки на любую версию прошивки!

Номер сборки: S930_ROW_s215_140714
Дата: 14.07.2014
Создатель: Lenovo- релиз КК для ROW-региона
Состав: Полный образ прошивки /ОТА апдейт
ОС: Android 4.4.2
Описание:

  • языки: русский , английский, китайский, вьетнамский, индонезийский
  • клавиатура: мультиязычная

Чейндж лог:

  • Андроид 4.4.2
  • VibeUI 1.5
  • Обновлены практически все приложения от Леново
  • Новый системный интерфейс
  • Ускорена работа системного интерфейса
  • оптимизация энергопотребления

Скачать:

  • ОТА-апдейт с прошивки S119_140325 на прошивку S215_140714 / зеркало
  • Прошивка для ПК:

Инструкции:

Инструкции:

Установка Ота-апдейта

ПАМЯТЬ БУДЕТ ПЕРЕРАЗМЕЧЕНА

Данные пользователя сохранятся.

И ЕЩЕ_ ВАЙП СТРОГО ПРОПИСАН ПОСЛЕ ОТА! ИНАЧЕ- ВАШИ ПИСЬМА- НЕ РАБОТАЕТ, НЕ ОТКРЫВАЕТСЯ, ГЛЮЧИТ- БУДУТ ПРОСТО СПАМОМ!

еще раз повторяю- ЭТО СМЕНА ВЕРСИИ ОС-! ПОТРАТЬТЕ ВРЕМЯ- СДЕЛАЙТЕ ВАЙП И ВСЕ НАСТРОЙТЕ ЗАНОВО! ОНО ТОГО СТОИТ!

Устанавливается ТОЛЬКО НА ОФ S119_140325 со штатным рекавери Устанавливается только на S119_140325 и только через штатное (не расширенное) рекавери.

РУТ-права придется получать ЗАНОВО

Установка:

0. Убеждаемся, что стоит официальная прошивка S119_140325 , штатное (не расширенное) рекавери* и не производилось стирание/изменение системных (GOOGLE) приложений**. А также- что нет переразметки памяти. При невыполнении, хоть одного пункта - прошивка не встанет. ничего страшного не произойдет, просто обновление не установится и останется предыдущая версия. ОБЯзательно проверяем (ЕСЛИ ШИЛИСЬ С ПК на 119) что введен РЕГИОН КОД ДЛЯ РФ!) После прошивки с ПК на 119 версию открываем дайлер- звонилку, набираем ####682# и выбираем в списке регион RU! Если этого не сделать- то прошивка по воздуху встанет НЕПРАВИЛЬНО!

1- Скачиваем архив S930_OTA_from_S119_140325_to_S215_140714 на ПК

2- Распаковываем и извлекаем архив update.zip

ЛЮБЫМ способом НЕ распаковывая update.zip копируем либо в корень карты памяти, либо в корень встроенной памяти данный архив

3. ЛЮБЫМ способом перезагружаемся в рекавери

У выключенного телефона нажимаем кнопку питания и держим 1-2 секунды, затем нажимаем качельку громкости "+" и "-" одновременно, качельку и питание держим до входа в recovery.

4. Установка стартует АВТОМАТИЧЕСКИ.

6- Открываем дайлер=- Звонилку. Набираем код ####7777# подтверждаем сброс настроек.

7- не сделаете сброс или выбор регион кода- результат НЕ гарантирован и с этой прошивкой НЕ примут в сервисе по гарантии!Успеха!

9- Успеха!

Установка прошивки с ПК

ВНИМАНИЕ- использовать только новую утилиту SP_Flash_Tool_v5.1352.01

Краткая инструкция по использованию новой утилиты SP_Flash_Tool_v5.1352.01

Переводим... Перевести Китайский (упрощенное письмо) Китайский (традиционное письмо) Английский Французский Немецкий Итальянский Португальский Русский Испанский Турецкий

К сожалению, мы не можем перевести эту информацию прямо сейчас - пожалуйста, повторите попытку позже.

Security Enhancements for Android (SEAndroid)

В операционной системе Android версии 4.4 (Kitkat) появились новые возможности. Наиболее важной среди новых возможностей является способность интегрировать SEAndroid в принудительном режиме, то есть помещать все права доступа ко всем компонентам Android под контроль SEAndroid.

Что такое SEAndroid? SEAndroid означает Security Enhancements for Android (расширенные функции безопасности для Android). Это решение безопасности для Android, выявляющее и устраняющее важные уязвимости. Изначально целью проекта было использование функций SELinux в системе Android для ограничения ущерба, связанного с работой дефектных или вредоносных приложений, и обеспечения разделения между приложениями. Затем область проекта была расширена. Теперь SEAndroid - это целая платформа для реализации обязательного управления доступом (MAC) SELinux и промежуточного обязательного управления доступом (MMAC) на платформе Android.

Следует разъяснить некоторые понятия, связанные с SEAndroid:

  • Security-Enhanced Linux* (SELinux) - это реализация принудительного управления доступом с помощью модулей безопасности Linux (LSM, Linux Security Modules) в ядре Linux на основе принципа наименьших возможных прав. Это не дистрибутив Linux, а набор модификаций, которые можно применять к операционным системам, подобным UNIX*, таким как Linux и BSD.
  • Избирательное управление доступом (DAC, Discretionary Access Control) - это стандартная модель безопасности в Linux. В этой модели права доступа зависят от личности пользователя и от принадлежности объектов.
  • Обязательное управление доступом (MAC, Mandatory Access Control) ограничивает права доступа для субъектов (процессов) и объектов (файлов, сокетов, устройств и пр.).

SELinux не изменяет существующие средства безопасности в среде Linux; вместо этого SELinux расширяет модель безопасности, добавляя обязательное управление доступом (т. е. в среде SELinux применяются и MAC, и DAC).

SEAndroid расширяет возможности системы Android, добавляя поддержку SELinux в ядро и пользовательское пространство для выполнения следующих задач:

  • Ограничение привилегированных демонов для защиты от неверного использования и ограничения возможного ущерба
  • Применение «песочницы», изоляция приложений друг от друга и от системы
  • Предотвращение повышения прав приложениями
  • Управление привилегиями приложений при установке и выполнении с помощью ММАС
  • Централизованная политика с возможностью анализа

Более того, в Android 4.4 платформа SEAndroid работает в принудительном режиме вместо нефункционального отключенного режима или разрешительного режима (в котором только выдаются уведомления). Это означает, что все недопустимые операции будут запрещены в среде выполнения Android.

Политика SEAndroid

Политика SEAndroid является одним из основных элементов всего механизма безопасности SEAndroid. Кроме того, архитектура безопасности должна также включать строгую политику безопасности, чтобы убедиться, что субъект доступа располагает лишь минимальными необходимыми правами доступа к объекту. Тогда программа сможет выполнять свои базовые функции, но не сможет наносить вред.

Как было сказано выше, в реализации SEAndroid используется принудительный режим вместо нефункционального отключенного режима или разрешительного режима (в котором только выдаются уведомления). Это упрощает тестирование и разработку.

TКонтекст безопасности SEAndroid в целом совместим с SELinux. Ниже описаны четыре его составные части: пользователь, роль, тип и уровень, например u: object_r: system_data_file: s0:

  • Пользователь: контекст безопасности первого столбца в SEAndroid - пользователь, он обозначается как u.
  • Роль: во втором столбце указывается роль в SEAndroid: это соответственно r и object_r.
  • Тип: в третьем столбце SEAndroid определяет 139 различных типов политик, таких как устройство, процесс, файловая система, сеть, IPC и так далее.
  • Уровень безопасности: четвертый столбец предназначен для многоуровневой безопасности (расширение MLS), которая представляет собой механизм доступа с добавлением контекста безопасности и конфиденциальности формата [: список категорий] [- конфиденциальность [: список категорий]], например s0 - s15: c0 - c1023, причем категория может не требоваться для текущей версии Android. Сочетание конфиденциальности и категории определяет текущий уровень безопасности, числовые значения задаются для низшего и высшего уровней безопасности. Параметры в этом столбце используются при проверке ограничений MLS: 15 - это наибольшая конфиденциальность, а 1023 - наивысшая категория. Этот диапазон параметров можно задать в Android.mk.

Контекст безопасности - самая важная часть третьего столбца, тип процесса называется доменом. Тип - наиболее важный параметр SEAndroid; параметры политики значительно расширены, поэтому важно, чтобы для каждого файла был указан соответствующий тип.

Источники политики SEAndroid находятся в папке external/sepolicy.

Политика состоит из исходных файлов, используемых для создания файла политики ядра SELinux, а также конфигураций file_contexts, property_contexts, seapp_contexts и mac_permissions.xml.

  • Конфигурация file_contexts используется для маркировки файлов во время сборки (например, системный раздел) и во время выполнения (например, узлы устройства, файлы сокетов служб, папки /data, созданные init.rc, и пр.).
  • Конфигурация property_contexts указывает контекст безопасности свойств Android для проверки разрешений.
  • Конфигурация seapp_contexts используется для маркировки процессов приложения и каталогов пакета приложения.
  • Конфигурация mac_permissions.xml - это политика MMAC.

Политики, действующие для устройства, находятся в папке device/<поставщик>/<устройство>.

  • Такую политику можно задать, указав переменные BOARD_SEPOLICY_DIRS, BOARD_SEPOLICY_UNION и BOARD_SEPOLICY_REPLACE в файле BoardConfig.mk, находящемся в папке device/<поставщик>/<устройство> или vendor/<поставщик>/<устройство>. Например, файл конфигурации для планшета FFRD8 на базе процессора Intel® Atom (Bay Trail) находится в папке /device/intel/baytrail/BoardConfig.mk.
  • Пример см. в файле device/intel/baytrail/BoardConfig.mk, где эти переменные заданы в соответствии с файлами политики для устройств в device/intel/baytrail/sepolicy.
  • Документацию по политикам для устройств см. в файле external/sepolicy/README.

Изменение политики SEAndroid

Файлы политики SEAndroid находятся в папке /external/sepolicy. Можно изменить эти файлы и увидеть, что произойдет при применении измененной политики. Соблюдайте осторожность при изменении файлов политики, поскольку из-за неверной конфигурации может произойти зависание всей системы при загрузке. Ниже приведен пример:

Шаг 1. Проверка перед изменениями

Сначала нужно проверить файл /device/intel/baytrail/BoardConfig.mk. Используется следующая конфигурация sepolicy:

BOARD_SEPOLICY_DIRS:= device/intel/baytrail/sepolicy BOARD_SEPOLICY_UNION:= file_contexts seapp_contexts file.te genfs_contexts fs_use device.te healthd.te app.te untrusted_app.te surfaceflinger.te vold.te ecryptfs.te zygote.te netd.te

BOARD_SEPOLICY_DIRS определяет каталог, в котором находятся файлы политики для определенного устройства. BOARD_SEPOLICY_UNION - итоговая конфигурация политики, сочетающая файлы общей политики и файлы политики для определенного устройства. При сборке Android компилятор проверит наличие конфликтов между разными политиками. Если применяется BOARD_SEPOLICY_ REPLACE, это означает, что политики устройства заменят общие политики.

Во-вторых, нужно открыть файл /external/sepolicy/untrusted_app.te и убедиться в наличии в нем следующих строк:

Allow untrusted_app shell_data_file:file rw_file_perms Allow untrusted_app shell_data_file:dir r_dir_perms

Два перечисленных выше элемента политики предоставляют недоверенным приложениям (обычным, а не системным приложениям) возможность чтения и записи файлов, а также чтения каталогов с типом shell_data_file в среде выполнения. Параметр shell_data_file указывает на любой файл в /data/local/tmp/ в среде выполнения, заданный в /external/sepolicy/file_contexts в среде разработки следующим образом:

Перечисленные выше разрешения обладают определенными ограничениями. Если в /data/local/tmp/ существуют файлы и папки, то недоверенные приложения могут читать и записывать эти файлы, входить в эти папки. Но создавать собственные файлы и папки в /data/local/tmp/ недоверенные приложения не могут. Только системные приложения или службы могут создавать файлы и папки для недоверенных приложений. Если нужно предоставить недоверенным приложениям больше разрешений, можно применить изменения, описанные на шаге 2.

Шаг 2. Добавьте новые элементы политики

Теперь нужно отредактировать файл /device/intel/baytrail/sepolicy/untrusted_app.te, добавив две следующие строки в конце файла:

Allow untrusted_app shell_data_file:file create_file_perms Allow untrusted_app shell_data_file:dir create_dir_perms

Эти два элемента предоставляют разрешения недоверенным приложениям на создание файлов и папок в /data/local/tmp/ в среде выполнения. Они задаются в /external/sepolicy/file_contexts в следующей среде разработки:

/data/local/tmp(/.*)? u:object_r:shell_data_file:s0

Базовые разрешения для файлов и папок определяются в /external/sepolicy/global_macros:

Define(`x_file_perms", `{ getattr execute execute_no_trans }") define(`r_file_perms", `{ getattr open read ioctl lock }") define(`w_file_perms", `{ open append write }") define(`rx_file_perms", `{ r_file_perms x_file_perms }") define(`ra_file_perms", `{ r_file_perms append }") define(`rw_file_perms", `{ r_file_perms w_file_perms }") define(`rwx_file_perms", `{ rw_file_perms x_file_perms }") define(`link_file_perms", `{ getattr link unlink rename }") define(`create_file_perms", `{ create setattr rw_file_perms link_file_perms }") define(`r_dir_perms", `{ open getattr read search ioctl }") define(`w_dir_perms", `{ open search write add_name remove_name }") define(`ra_dir_perms", `{ r_dir_perms add_name write }") define(`rw_dir_perms", `{ r_dir_perms w_dir_perms }") define(`create_dir_perms", `{ create reparent rmdir setattr rw_dir_perms link_file_perms }")

Мы видим, что разрешения, например, файловая операция { getattr open read ioctl lock }, такие же, как функции файловых операций в реальной файловой системе.

И наконец, нужно пересобрать дерево исходного кода Android и передать новый образ на устройство FFRD8 с процессором Bay Trail.

Проверка политики SEAndroid

После загрузки FFRD8 можно загрузить приложение FileManager из магазина приложений Android, а затем открыть командную оболочку в меню FileManager. Это позволяет имитировать файловые операции недоверенных приложений.

Мы можем создать новый файл и новую папку: нужно войти в папку /data/local/tmp/ и создать внутри нее новую папку и новый файл. (На стандартном устройстве FFRD8 создание нового файла и нового каталога запрещено.) Результат применения измененной политики показан на приведенном ниже рисунке. Слева показано воздействие исходных политик, а справа - измененных:

Рисунок 1. Сравнение файловых разрешений между обычными и измененными политиками.

Заключение

В этой статье описывается принцип работы политики SEAndroid и приводится пример добавления новой политики в набор политик SEAndroid на платформе с процессором Intel Atom (Bay Trail). Эта статья поможет разработчикам устройств, заинтересованным в создании настраиваемых версий SEAndroid, лучше понимать механизм политик SEAndroid.

Об авторе

Лянь Чжань (Liang Z. Zhang) - инженер по разработке приложений в подразделении Developer Relations Division в китайском представительстве корпорации Intel. Лянь Чжань отвечает за поддержку технологий безопасности на базе платформ Intel.

Примечания

ИНФОРМАЦИЯ В ДАННОМ ДОКУМЕНТЕ ПРИВЕДЕНА ТОЛЬКО В ОТНОШЕНИИ ПРОДУКТОВ INTEL. ДАННЫЙ ДОКУМЕНТ НЕ ПРЕДОСТАВЛЯЕТ ЯВНОЙ ИЛИ ПОДРАЗУМЕВАЕМОЙ ЛИЦЕНЗИИ, ЛИШЕНИЯ ПРАВА ВОЗРАЖЕНИЯ ИЛИ ИНЫХ ПРАВ НА ИНТЕЛЛЕКТУАЛЬНУЮ СОБСТВЕННОСТЬ. КРОМЕ СЛУЧАЕВ, УКАЗАННЫХ В УСЛОВИЯХ И ПРАВИЛАХ ПРОДАЖИ ТАКИХ ПРОДУКТОВ, INTEL НЕ НЕСЕТ НИКАКОЙ ОТВЕТСТВЕННОСТИ И ОТКАЗЫВАЕТСЯ ОТ ЯВНЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ ГАРАНТИЙ В ОТНОШЕНИИ ПРОДАЖИ И/ИЛИ ИСПОЛЬЗОВАНИЯ СВОИХ ПРОДУКТОВ, ВКЛЮЧАЯ ОТВЕТСТВЕННОСТЬ ИЛИ ГАРАНТИИ ОТНОСИТЕЛЬНО ИХ ПРИГОДНОСТИ ДЛЯ ОПРЕДЕЛЕННОЙ ЦЕЛИ, ОБЕСПЕЧЕНИЯ ПРИБЫЛИ ИЛИ НАРУШЕНИЯ КАКИХ-ЛИБО ПАТЕНТОВ, АВТОРСКИХ ПРАВ ИЛИ ИНЫХ ПРАВ НА ИНТЕЛЛЕКТУАЛЬНУЮ СОБСТВЕННОСТЬ.

КРОМЕ СЛУЧАЕВ, СОГЛАСОВАННЫХ INTEL В ПИСЬМЕННОЙ ФОРМЕ, ПРОДУКТЫ INTEL НЕ ПРЕДНАЗНАЧЕНЫ ДЛЯ ИСПОЛЬЗОВАНИЯ В СИТУАЦИЯХ, КОГДА ИХ НЕИСПРАВНОСТЬ МОЖЕТ ПРИВЕСТИ К ТРАВМАМ ИЛИ ЛЕТАЛЬНОМУ ИСХОДУ.

Корпорация Intel оставляет за собой право вносить изменения в технические характеристики и описания своих продуктов без предварительного уведомления. Проектировщики не должны полагаться на отсутствующие характеристики, а также характеристики с пометками «зарезервировано» или «не определено». Эти характеристики резервируются Intel для будущего использования, поэтому отсутствие конфликтов совместимости для них не гарантируется. Информация в данном документе может быть изменена без предварительного уведомления. Не используйте эту информацию в окончательном варианте дизайна.

Продукты, описанные в данном документе, могут содержать ошибки и неточности, из-за чего реальные характеристики продуктов могут отличаться от приведенных здесь. Уже выявленные ошибки могут быть предоставлены по запросу.

Перед размещением заказа получите последние версии спецификаций в региональном офисе продаж Intel или у местного дистрибьютора.

Копии документов с порядковым номером, ссылки на которые приведены в этом документе или в другой документации Intel, можно получить, обратившись по телефону 1-800-548-4725, или на сайте: http://www.intel.com/design/literature.htm

Программное обеспечение и нагрузки, использованные в тестах производительности, могли быть оптимизированы для достижения высокой производительности на микропроцессорах Intel. Тесты производительности, такие как SYSmark* и MobileMark*, проводятся на определенных компьютерных системах, компонентах, программах, операциях и функциях. Любые изменения любого из этих элементов могут привести к изменению результатов. При выборе приобретаемых продуктов следует обращаться к другой информации и тестам производительности, в том числе к тестам производительности определенного продукта в сочетании с другими продуктами.

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

Рассказать друзьям