Загрузка Android с SD карты zarabotoknavideo.ru

Загрузка Android с SD карты

Патчинг ядра для корректной работы Android при загрузке с SD-карты

Недавно решил помочь обладателям девайса LG L80 Dual (D380) , на котором очень часто «отмирает» eMMC чип. При этом девайс переходит в 9008 режим. В данном режиме PBL на большинстве Qualcomm девайсов пробует произвести загрузку со второго канала SDCC. Конечно же Android ядро загрузится и со второго канала SDCC, но вот остальные части этой ОС совсем не приспособлены адекватно работать в такой ситуации.

Сразу отмечу, что переход девайса в режим 9008 не во всех случаях означает, что PBL будет пытаться произвести загрузку с SD-карты. Данное утверждение верно лишь тогда, когда переход в 9008 связан именно с проблемами инициализации eMMC устройства (подключено к первому каналу SDCC).

Самое простое решение озвученной проблемы — это патчинг исходников ядра. Данные патчи я уже давно разработал для своего девайса, т.к. eMMC чипы помирают и у владельцев Highscreen Boost 2 SE (я уже и лично с этим сталкивался).
Вот ссылки на патчи:
1) mmc: Swap msm_sdcc.1 msm_sdcc.2 devices via kernel param
2) base: Fix initialization msm_sdcc.X devices when use swap_sdcc

Если эти патчи присутствуют в ядре и в командной строке ядра указан параметр » androidboot.swap_sdcc=1 «, то при обращении ОС к устройству с именем » /dev/block/platform/msm_sdcc.1/mmcblk0 » будет задействован не eMMC чип, а SD-карта. Т.е. данные патчи позволяют перенаправить вызовы на самом низком уровне, что избавляет от необходимости изменения кучи разных настроек в прошивке для корректной работы ОС с SD-карты.

Но для LG L80 Dual (D380) никто так и не выложил исходников ядра. Поэтому в данном случае нужно патчить стоковое ядро. И я расскажу как это сделать без использования дизассемблера. Буду использовать только следующий набор утилит:
1) AndImgTool — распаковщик образов
2) dtbToolCM
3) dtc
4) WinHEX — виндовый hex-редактор
5) Notepad++ — функциональный тектовый редактор
6) zimg-packer.py — скрипт для пересоздания zImage

Работу с первыми тремя утилитами я уже описывал в этом блоге. Поэтому заострять внимание на них я не стану.

Приступим. Сначала нужно распаковать образ boot.img , для чего я использую виндовую утилиту AndImgTool. В результате мы получим на выходе следующие, интересующие нас, файлы:
1) kernel.img — оригинальный образ ядра;
2) zImage — упакованный образ ядра;
3) dtb.img — QCDT образ дерева устройств.

Начнем патчинг с файла kernel.img . Т.к. целевой девайс основан на SoC msm8210, то для начала нужно взглянуть на исходники ядра для этого чипа. Вначале стоит начать со структуры msm8610_auxdata_lookup :
В данной структуре следует поменять местами физические адреса устройств: 0xF98240000xF98A4000 , 0xF98249000xF98A4900 . При наличии исходников сделать это просто. Но и без них это тоже довольно просто. Главное найти это место в файле kernel.img , который представляет оригинальный образ Android-ядра. Для поиска этого места нужно в WinHEX вызвать диалог » Find Hex Value » и указать для поиска следующую последовательность байт » 004982F9 » (так выглядит 32-битное число 0xF9824900 в виде массива байт). Результат поиска таков:
После изменения физических адресов этот участок файла примет такой вид:
Из структуры, приведённой выше, понятно, что сразу после физического адреса находится адрес строки, содержащей название канала SDCC. Поэтому делаем вывод о том, что строка » msm_sdcc.1 » расположена по адресу 0xC0B245A8 , а строка » msm_sdcc.2 » — по адресу 0xC0B245B4 .

Далее взглянем на содержимое структуры msm_clocks_8610 :
В этой структуре следует поменять местами названия » msm_sdcc.1 » ⇄ » msm_sdcc.2 «. Для начала это место нужно найти. Для этого достаточно устроить поиск HEX-последовательности » A845B2C0 «, которая означает адрес строки » msm_sdcc.1 «. Результат поиска может быть не один, но нас интересует такой участок файла kernel.img, в котором рядышком находятся адреса 0xC0B245A8, 0xC0B245A8, 0xC0B245B4, 0xC0B245B4 (см. структуру msm_clocks_8610 ). И такое место в файле действительно есть и оно выглядит так:
Сразу можно заметить, что за первым адресом 0xC0B245A8 следует ещё один такой же, а затем следуют два адреса 0xC0B245B4 . Второго похожего места в файле kernel.img просто нету.
Для патчинга структуры msm_clocks_8610 достаточно поменять местами эти самые адреса. После чего получаем такой листинг:
На этом патчинг файла kernel.img закончен. Изменения следует сохранить.

Теперь приступим к патчингу QCDT. Сначала нужно распаковать файл dtb.img . Для этого нужно воспользоваться утилитами android-image-tools (сам процесс распаковки уже описывался в этой блоге). После распаковки я получил два файла » dt_00.dts » и » dt_01.dts «. Дальнейшие изменения я буду вносить в оба файла, т.к. скорее всего они все могут быть задействованы ядром (видимо у LG L80 две ревизии мат. плат).

Файлы » dt_XX.dts » следует изменять в обычном тектовом редакторе Notepad++.

На первом этапе патчинга DeviceTree нужно пропатчить все места, где есть упоминание строки » sdcc «.

После запуска поска строки » sdcc » находим следующее место:
В этом месте (как и во всех остальных) нужно поменять местами содержимое данных объектов. В итоге получаем такое содержимое:
Дальнейший поиск строки » sdcc » указал на следующее место:
В этом месте (как и во всех остальных) нужно поменять местами содержимое данных объектов. В итоге получаем такое содержимое:
Затем поиск строки » sdcc » выводит на следующее место:
Здесь тоже следует помемять местами объекты. Но при этом объект » qcom,sdcc@f9824000 «, который отвечает за eMMC, лучшее вообще удалить, т.к. в рассматриваемом случае eMMC чип полностью нерабочий. Так же стоит выставить параметр » qcom,nonremovable «, что укажет на то, что SD-карта будет неизвлекаемой. В результате получим это:
На этом поиск строки » sdcc » заканчивается. Теперь нужно устроить поиск строки » sdhci «.
После запуска поска строки » sdhci » находим следующее место:
В этом месте тоже исключаем поддержку eMMC чипа. В итоге получаем:
Дальнейший поиск строки » sdhci » указал на следующее место:
Здесь тоже следует помемять местами объекты. Но при этом объект » sdhci@f9824900 «, который отвечает за eMMC, лучшее вообще удалить, т.к. в рассматриваемом случае eMMC чип полностью нерабочий. Так же стоит выставить параметр » qcom,nonremovable «, что укажет на то, что SD-карта будет неизвлекаемой. В результате получим это:
На этом редактирование DeviceTree можно закончить. Теперь нужно отредактированные dts-файлы преобразовать в QCDT-образ при помощи утилит android-image-tools (сам процесс уже описывался в этой блоге).

Читать еще:  ПК перестал видеть внешний жесткий диск

В результате патчинга мы получили обновлённые файлы kernel.img и dtb.img . Т.к. утилита AndImgTool не умеет преобразовывать файл kernel.img в файл zImage , то нужно предварительно воспользоваться специальным python-скриптом zimg-packer.py. Данный скрипт поддерживат только те zImage , которые используют GZIP алгоритм. После отработки этого скрипта должен появиться файл zImage_new , который нужно переименовать в zImage . После этого при помощи утилиты AndImgTool нужно создать новый файл boot.img , который будет содержать патченные kernel.img и dtb.img .

Полученный zImage допускается использовать и для создания TWRP, который будет запускаться с SD-карты.

Сохранение файлов вместо внутренней памяти, во внешнюю (на SD-карту)

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

Несколько способов изменения загрузочной папки

Если флеш-карта еще не установлена, сделайте это. После этого появится сообщение «SD карта готова. Изменить память для записи по умолчанию?». Нажмите «Да», изменения вступят в силу. Если никакого сообщения нет, внесите изменения в разделе «Память», или смахните шторку в верхней части экрана вниз и щелкните появившееся сообщение.

Настройка автоматического сохранения файлов на карту памяти

Чтобы скачиваемые из интернета файлы помещались сразу на карту памяти, нужно зайти в настройки телефона и изменить место их сохранения. Процедура должна сработать независимо от установленной версии операционной системы.

Зайдите в «Настройки» и выберите раздел «Память»;

В верхней части окна обратите внимание на пункт «Сохранить данные по умолчанию»;

Поставьте галочку напротив надписи «SD-карта». Место загрузки будет изменено.

Интерфейс может отличаться. В других версиях операционной системы будет подпункт «Настройки памяти» (или подобный), а в нем – «Место сохранения по умолчанию». Щелкните туда и выберите «SD-карта».

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

Изменения в браузере

Для выхода в интернет используется браузер, и большинство файлов загружается на телефон через него. Чтобы данные скачивались на карту памяти можно настроить его так, чтобы перед закачкой он запрашивал место сохранения. Рассмотрим процесс на примере Google Chrome.

Запустите браузер, зайдите в меню (3 вертикальные точки), перейдите в «Настройки»;

Прокрутите страницу вниз, выберите «Скачанные файлы». Напротив строки «Спрашивать, куда сохранять файлы» переместите ползунок вправо.

Попасть в этот раздел можно по-другому — в меню выбрать пункт «Скачанные файлы», а уже оттуда перейти в «Настройки» и переместить ползунок.

Если у вас Самсунг

Владельцам смартфонов Самсунг изменить место сохранения файлов проще простого. Настройки изменяются через стандартный браузер, установленный на телефоне по умолчанию. Действия:

Зайдите в меню телефона и найдите классический браузер (название «Интернет»);

Щелкните на 3 вертикальные кнопки в правом верхнем углу и перейдите в меню;

Зайдите в раздел «Сохранить содержимое в…». Выберите «Карта памяти».

С этого момента все загрузки будут автоматически помещаться на флеш-накопитель.

Перенос файлов из внутренней памяти устройства на флеш-накопитель

Чтобы освободить пространство, перенесите данные с внутренней памяти на флешку. Для этого зайдите в папку «Файлы» и выберите интересующую подпапку (фото, видео, документы и т. д.). Нажмите на файл и удерживайте палец в течение секунды, пока он не выделится. Отметьте поочередно все фото/видео/аудио, которые хотите перенести в другое место или нажмите «Выбрать все», если есть такой пункт. Нажмите кнопку «Переместить». В новом окне выберите «Карта памяти», а после — конкретную папку. Подождите, пока закончится перенос данных. Аналогично повторите процедуру с остальной информацией.

Соединение карты памяти с внутренней памятью

Есть отличный способ сделать так, чтобы местная память телефона на андроид расширилась за счет карты памяти. Другими словами она будет объединена, и необходимость постоянно менять место сохранения исчезнет.

Зайдите в «Настройки» и выберите раздел «Память»;

В разделе «Настройки памяти» поставьте галочку напротив надписи «SD-карта».

Появится сообщение следующего содержания: «Телефон зашифрован. Перед изменением места сохранения убедитесь, что новое место безопасно». Проверьте карту на вирусы, если не уверены, затем нажмите «ОК». Если карта не особо вместительная, появится дополнительное сообщение: «У установленной карты малый объем памяти. Переключение не рекомендуется. Переключить?». Сделайте это или замените карту на более вместительную. После это появится еще одно сообщение «…При переключении может произойти потеря данных, телефон перезагрузится, для вступления изменений в силу…». Нажмите «Продолжить» и дождитесь, пока телефон перезапустится. После его включения объем внутренней памяти будет увеличен на «размер» SD-карты, а файлы начнут сохраняться на нее. Аналогичным образом – с перезагрузкой телефона, все возвращается обратно.

Читать еще:  Как восстановить пароль администратора Windows XP?

Есть другой способ. Попробуйте следующее:

Перейдите в «Настройки», выберите раздел «Накопители» (если он имеется);

Щелкните по кнопке «Микро SD». Зайдите в меню (3 вертикальные точки);

Повторно нажмите на «Накопители»;

Отметьте «Подключить к внутренней памяти».

На следующей странице очистите и отформатируйте карту памяти. Дождитесь окончания процесса и перенесите нужные данные на Micro SD, если в этом есть необходимость. Все скачиваемые после этого файлы будут размещаться на ней.

Меняем местами внутреннюю память Android с картой памяти

После совершенных манипуляций телефон будет считать SD-карту внутренней памятью, все файлы, включая приложения, будут устанавливаться не нее. Порядок действий:

Установите программу Total Commander и предоставьте ей права суперпользователя после запуска;

Перейдите в: «Корень файловой системы»;

Откройте папку «ETC» и найдите там раздел «vold.fstab». Щелкните по нему и нажмите «Редактировать».

Найдите строчки «dev_mount»… и символы sdcard и extsd в конце поменяйте снизу-вверх и наоборот. Сохраните изменения, перезагрузите смартфон..

Установка прошивки на Андроид с карты памяти: шаг за шагом

Частой проблемой пользователей операционной системы Андроид является тот факт, что они не знают и не умеют самостоятельно устанавливать прошивки на свои устройства. Именно по этой причине сегодня мы поговорим о том, как установить прошивку на Андроид с SD карты.

Процедура прошивки

Многие из пользователей операционной системы Андроид сталкивались с проблемой, когда прошивку нужно было устанавливать на устройства с помощью карты памяти. Сделать это с первого раза не всегда оказывается просто. А, кроме того, нужны дополнительные программы, которые помогут в правильных настройках. Так, вам может помочь ClockworkMod Recovery – очень мощная пиратская версия одноименного приложения (официальная заводская способна создавать лишь резервные копии и устанавливать официальные обновления). Суть работы утилиты в том, что она способна:

  • восстанавливать системные данные;
  • создавать резервные копии любых документов и файлов;
  • устанавливать прошивки;
  • загружать и организовывать работу дополнительных ядер устройства.

Скачать ClockworkMod Recovery можно бесплатно и фактически с любого стороннего сайта, посвященного контенту для операционной системы Андроид. Интересно, что ClockworkMod Recovery устанавливается в специальный подраздел внутренней памяти смартфона или планшета. Оно может выручить своего владельца в некоторых очень сложных ситуациях.

Ниже представлен полный перечень самых важных способностей данного программного обеспечения.

  1. Установка кастомных неофициальных прошивок и дополнительных ядер.
  2. Организация работы заводских обновлений любой системы любого устройства
  3. Возможность установки дополнений и исправлений ошибок.
  4. Отладка подключения смартфона или планшета к персональному компьютеру в режиме съемного носителя при помощи кабеля USB.
  5. Настройка подключения смартфона или планшета к персональному компьютеру для облегчения работы с программой ADB при использовании USB кабеля.
  6. Создание полных резервных копий имеющихся прошивок или отдельных их частей (самой системы, отдельных настроек или некоторых приложений).
  7. Восстановление устройства при помощи использования созданной ранее резервной копии.
  8. Возможность организации сброса параметров устройства до заводских настроек, очистки кеша, далвик-кеша и статистических данных батареи.
  9. Создание определенных разделов в памяти самой карты и непосредственная работа с ними.

Интересно, что технология установки прошивок с карты памяти при помощи данного приложения выглядит достаточно просто и занимает буквально пару минут. Выглядит она следующим образом. Далее мы поговорим о том, как прошить Андроид или дадим инструкцию о том, как прошить телефон при помощи SD карты.

  1. Для начала нужно скачать необходимую прошивку и сохранить ее в корневом каталоге карты памяти.
  2. После чего необходимо зайти в меню ClockworkMod Recovery. Для этого на выключенном смартфоне или планшете просто зажмите кнопки регулировки громкости и включения питания.
  3. Далее найдите пункт «Wipe data/factory reset». Кстати, все навигационные действия в данном меню осуществляются при помощи кнопок громкости и кнопки «назад».
  4. После этого необходимо найти скачанный раздел, который пишет меню как «Install zip from sdcard». В нем выбирайте «Choose zip from sdcard».
  5. Далее просто укажите нужную вам прошивку, просто выбрав ее из списка.

Ожидайте окончания установки и помните, что телефон или планшет после ее окончания включатся самостоятельно.

В случае неудачной прошивки

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

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

  1. Для этого снова запустите Recovery-меню (не забывайте о кнопках громкости и питания).
  2. Далее в настройках вам нужно будет найти пункт «Backup and restore». Он позволит просто восстановить смартфон или планшет и вернет их к сохраненному ранее состоянию. Если же никогда ранее вы не делали резервных копий системы, то бэкап вам не поможет. Тут стоит воспользоваться пунктом «Wipe data/factory reset». Он запустит полный сброс всех настроек до состояния заводских. В этом разделе воспользуйтесь пунктом «cache», просто выбрав функцию «wipe cache partition».
  3. Далее снова нужно установить операционную систему, воспользовавшись пунктом «install zip from sdcard». После чего в памяти карты просто выбираете нужную прошивку и дожидаетесь окончания установки.

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

Читать еще:  Беспроводное подключение монитора к компьютеру

Видео «Как устанавливать прошивку с карты»

Из следующего видео вы узнаете много интересного.

Установить приложение на карту памяти в Андроид – проще простого

Нехватка внутренней памяти мобильного устройства может сильно испортить впечатление от его использования. Особенно остро это ощущается в невозможности устанавливать необходимые приложения. Чтобы избежать подобных неприятностей, разберемся, как установить приложения на карту памяти на Андроид.

Информация для ознакомления перед переносом

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

  • Информация на SD-карте хранится без шифрования, поэтому больше подвержена риску хакерских атак.
  • Карта памяти ненадлежащего качества способна вызвать перебои в работе как отдельного приложения, так и всей операционной системы.
  • Извлечение внешнего хранилища грозит утерей данных приложений и прочей информации.
  • SD-карты чаще выходят из строя, нежели встроенные накопители, поэтому риск потерять важные файлы – выше.

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

Перенос приложений на старых версиях ОС

Разработчики ОС совместно со своими пользователями прошли три вехи развития в отношении переноса приложений. В разрезе версий это выглядит следующим образом:

  • Android 1.1 – 2.2.
  • Android 2.2 – 4.2.
  • Android 4.2 – 6.0.

Вопрос о том, как сохранять приложения на карту памяти в Андроиде, возник с выходом первых образцов операционной системы. Однако вплоть до версии 2.2 встроенного средства перемещения установленных программ не было. Знакомые с программированием люди выкладывали переделанные прошивки и собственные решения проблемы, но воспользоваться ими могли только такие же продвинутые пользователи.

Последующие версии Android, включая 4.2, обладали возможностью переноса. Необходимо было выставить место хранения в разделе «Приложения», а затем скачать специальную утилиту в Play Market. Существенным недостатком стала необходимость предоставления прав суперпользователя приложению, которое выполняло перемещение на SD-карту, а получение root-доступа по сей день остается непростой задачей. Говоря другими словами, решение снова было рассчитано только на хорошо разбирающихся в технике людей.

Версия Android 4.4 принесла полное удаление функционала переноса приложений на внешнюю карту памяти. Это было сделано для усиления защиты ОС от взлома. Так продолжалось до выхода Android 6.0, где впервые вышла в свет опция под названием Adoptable Storage. Именно благодаря ей наконец-то была реализована доступная для пользователя функция расширения памяти за счет использования SD-карты.

Что такое Adoptable Storage?

Прежде чем разбираться, как сделать, чтобы на Андроиде все сохранялось на карту памяти, познакомимся с функцией Adoptable Storage. Ее основная задача – расширение встроенной памяти мобильного устройства.

После установки SD-карты в смартфон или планшет в строке уведомлений появляется сообщение со ссылкой на настройку. Перейдя в раздел, можно выставить внешнее хранилище в качестве внутреннего. Данный процесс приведет к форматированию памяти и ее шифрованию. Дальнейшее использование SD-карты на другом устройстве будет невозможным без повторного удаления всей хранящейся информации.

На деле это выглядит следующим образом: если изначально на смартфоне было 6 Гб встроенной памяти, то после использования Adoptable Storage с картой памяти на 16 Гб объем хранилища вырастет до 22 Гб. Главным преимуществом становится возможность установки дополнительных приложений, поскольку прочие файлы и так можно было хранить на внешнем накопителе.

Как устанавливать приложения на SD-карту Андроид?

В соответствии со сказанным ранее, текущая инструкция подойдет для аппаратов, работающих под управлением Андроид 6.0 и выше. Чтобы выполнить процедуру, необходимо:

  • Поместить карту памяти в соответствующем слоте телефона или планшета.
  • Нажать на ссылку «Настроить», которая появится в сообщении строки уведомлений.
  • Выбрать пункт «Внутренняя память». Это будет означать, что планируется использование карты памяти для хранения данных только на этом устройстве.
  • Нажать кнопку «Очистить и отформатировать». Внимание! Если на SD-карте хранится важная информация, то перед началом процедуры необходимо переместить ее на другой носитель, например, в память компьютера.
  • Дождаться окончания форматирования. Если все сделано правильно, новый накопитель отобразится в разделе «Хранилище».

В поисках ответа, как сделать, чтобы приложения устанавливались на карту памяти Android, следует понять принцип работы ОС. В любом случае, изначально программа будет инсталлирована во внутреннюю память и лишь после этого можно будет ее перенести на заранее подготовленный внешний накопитель. Процесс перемещения выглядит следующим образом:

  • Открыть настройки и перейти в раздел «Приложения».
  • Выбрать вкладку «Загруженные», чтобы отобразить только сторонние приложения. Системные программы не подлежат переносу на SD-карту.
  • Открыть окно приложения, которое требуется перенести.
  • Нажать пункт «Хранилище», затем «Изменить».
  • Выбрать, какой накопитель следует использовать. В нашем случае это SD-карта.
  • Тапнуть клавишу «Переместить». Процесс в среднем занимает не больше минуты, во время его выполнения нельзя пользоваться приложением и извлекать карту памяти.

Вот таким образом происходит установка приложений на SD-карту Андроида. После перемещения программа будет корректно работать только с установленной внешней памятью. Если ее извлечь, то ярлык станет серого цвета, а его запуск будет невозможен. При появлении необходимости использовать SD-карту в другом месте – придется произвести все действия в обратном порядке, иначе во время форматирования на новом устройстве все данные будут удалены.

Представленная в статье информация позволяет детально разобраться с тем, как скачивать и перемещать приложения на карту памяти на Андроид. Функция переноса стала корректно работать только с версии 6.0, поэтому, имея более ранний вариант ОС, придется прибегнуть к сторонним программам и получить права суперпользователя.

Ссылка на основную публикацию
Adblock
detector