Редактор файла переменных окружения ENV прошивки Android


Выберите файл ENV на компьютере или телефоне:




    



Как пользоваться редактором

Для работы с файлом ENV его необходимо загрузить на сервер через форму загрузки с выбором локального файла на ПК или телефоне и нажатием на кнопку "Загрузить".
Содержимое загруженного файла будет храниться на сервере достаточно долго и для него становятся доступными три операции, которые можно выполнять в любой последовательности и любое число раз. Эти операции вызываются по ссылкам c уникальным идентификатором загруженного файла, сохранив которые можно позже работать с ним без необходимости его повторной загрузки.

  • Показать - вывод списка ENV-переменных с их значениями
  • Изменить - коррекция значений двух переменных (bootdelay и loglrvel), необходимая для нормальной работы в командной оболочке U-Boot и консоли загруженной системы.
  • Редактировать - изменение (при необходимости) значений отдельных переменных (например, MAC-адресов).

    ВНИМАНИЕ ! При выполнении этих операций сохраненное содержимое загруженного файла не меняется, а результаты коррекции или редактирования попадают в zip-архив для загрузки на локальный ПК (или телефон).


  • Где примененяется этот сервис

    Представленный здесь сервис предназначен для работы с бинарным файлом переменных окружения (ENV), которым пользуется загрузчик U-Boot в образах прошивок формата IMAGEWTY для устройств на базе SoC Allwinner.

    В настоящее время к таким прошивкам относятся Androd 10, 12, 13, 14, а также некоторые BSP-образы Linux.

    Исходный файл ENV может быть получен как минимум двумя способами:

  • извлечением файла ENV.fex из файла IMAGEWTY-образа прошивки
  • копированием раздела ENV непосредственно c загрузочного носителя (например, SD-карты) в файл. В этом случае используется консольная команда вида (пример для прошивки Android с a/b разделами):

    dd if=/dev/sda3 of=env.img count=256 - копирование с SD-карты в консоли Linux

    dd if=/dev/block/mmcblk0p3 of=env.img count=256 - копирование с eMMC в консоли Android

    Примечание. Конкретный адрес и номер раздела ENV зависит от верcии Android, их нужно уточнять консольными командами ls /dev, а также sgdisk --print (под Android) или partx (под Linux).

    ВНИМАНИЕ ! Размер файла ENV должен быть 128 Kb (131072).


  • Редактирование MAC-адресов

    В исходном ENV-файле (извлеченном из образа прошивки или скопированном из раздела) все три значения MAC-адресов (для Eth, Wi-Fi и BT) записаны пустыми или эти переменные вообще отсутствуют. Их значения формируются автоматически при загрузке системы. Однако может возникнуть ситуация, когда требуется их изменение (например, при обнаружении дублирования MAC-адреса в пределах одной локльной сети).

    Другой случай: тестирование на устройстве (например, одноплатник) образов нескольких разных ОС, загружаемых с SD-карты. При сохранении на каждом из них одинакового MAC-адреса каждый раз будет присваиваться одинаковый IP-адрес, привязанный в ARP-таблице роутера к этому MAC.

    Для установки конкретного значения любого из трех MAC-адресов достаточно прописать его в соответствующем поле формы редактирования. Это значение должно быть записано в виде строки, содержащей 12 HEX-символов (0-9, A-F), с любыми разделителями или без них. Регистр - любой.

    Например:

  • 123456789abc
  • 12 34 56 78 9a bc
  • 12-34-56-78-9A-BC
  • 12,34,56,78,9A,BC Все эти (или любые другие) варианты записи адреса корректны и будут записаны в отредактированный файл в виде значения 12:34:56:78:9a:bc

    Примечание. Если в разделе env_a (а также в файле env.fex) отсутствует (или пустая) переменная mac, то в выводе командой U-BOOT printenv эта переменная присутствует с конкретным значением ! Это означает, что в процессе загрузки значение переменной mac сгенерировано U_Boot из серийного номера и помещено в таблицу ENV, хранящуюся в оперативной памяти.



  • Выберите файл ENV на компьютере или телефоне: