Все о тюнинге авто

Редактирование img прошивок. Кастомный Android: делаем свою прошивку из стоковой, не копаясь в исходниках Андроида img

MTwinTools — это утилита, позволяющая работать с файлами прошивок и образами boot.img, recovery.img и system.img. Автором утилиты является vin2809 с форума 4pda. MTwinTool пригодится владельцам смартфонов Huawei на базе процессоров MTK.

Руководство пользователя по работе со средством MTwinTools

1. Введение.

1.1. Назначение.

Средство MTwinTools предназначено для разборки/сборки образов устройств на основе чипов MT.

Оно построено для использования в командной строке по мотивам средства RKwinTools, предназначенного для работы с устройствами на чипах RK29xx-RK31xx, и некоторых свободно распространяемых программ.

Работает только под Windows 7 и выше без установки CYGWIN, а также не требует никаких дополнительных прописок путей в переменных среды ОС.

Средство позволяет:

  • распаковать и запаковать образ Boot.img;
  • распаковать и запаковать образ Recovery.img;
  • распаковать и запаковать образ Kernel.img;
  • распаковать и запаковать образ System.img, как yaffs типа, так и ext2-ext4;
  • конвертировать разреженный файл типа sparse в образ типа ext4;
  • подсчитать контрольную сумму файла в формате md5;
  • инициировать SuperUser.

1.2. Инсталляция средства MTwinTools.
Инсталляция средства производится путем распаковки архива в любом удобном для Вас месте. При этом будет создана папка MTwinTools, содержащая:

  • папки _In/, App/ и Cygwin/;
  • а также файлы Readme.txt, и menu.bat.

Папка _In пустая и предназначена для размещения исходных образов для обработки. Папка App/ содержит набор командных файлов, производящих обработку образов. В папке Cygwin/ находятся свободно распространяемые служебные библиотеки и файлы. Файл Readme.txt содержит инструкцию пользователя, т.е. читаемый Вами сейчас текст. Файл menu.bat служит для создания меню средства MTwinTools.

ВНИМАНИЕ. Никакого прописывания путей доступа к служебным файлам в переменных среды ОС Windows НЕ ТРЕБУЕТСЯ.

Во время работы появятся и другие, необходимые папки:

  • Pack, в которой будут находиться файлы Boot, Recovery и System после
    запаковки, папка md5, содержащая файлы с контрольной суммой, а также папка
    Firmware, в подпапке Image которой будут находиться собранные файлы Boot,
    Recovery и System;
  • Unpack, в которой ПОЛНОСТЬЮ распакованные файлы Boot, Recovery и System
    будут находиться в папке Firmware, в подпапке Image.

1.3. Деинсталляция средства MTwinTools.

Деинсталляция средства производится путем удаления корневой папки средства, т.е. папки MTwinTools.

2. Основные правила работы.

2.1.Для начала работы необходимо запустить файл menu.bat, при этом запустится меню средства.

2.2.Образы, предназначенные для распаковки, необходимо положить в папку _In средства. Имена входных файлов ОБЯЗАТЕЛЬНО должны содержать ключевые слова и могут иметь названия следующего вида:

  • *boot*.img;
  • *recovery*.img;
  • *kernel*.img;
  • *system*.img.

2.3.При первом запуске выполните инициализацию средства. При инициализации средства ВСЕ файлы, расположенные в папке _In, будут скопированы в рабочую входную папку Unpack/Firmware/Image. Это сделано для того, чтобы сохранить исходные файлы.

2.4.После разборки образа его содержимое будет помещено в папку Unpack, в которой будет создана следующая структура папок:

Boot(Recovery)/cfg/
kernel/
ramdisk/

В папке cfg/ будут находиться настройки образа, в папке kernel Вы найдете ядро, т.е. бинарный файл zImage, а в папке ramdisk будет все остальное. Для выполнения сборки образа его составные части, т.е. ramdisk, ядро, а, возможно и настройки, поместите в соответствующие папки в Unpack. Созданный образ будет находиться в выходной папке Pack.

3. Описание средства.

3.1. Главное меню команд.

Главное меню команд средства имеет следующий вид:

**************************
* MTwinTools_V_0.6 *
**************************
* Image commands: *
* ————— *
* 1-Boot *
* 2-Recovery *
* 3-Kernel *
* 4-System *
* 5-Other commands *
* *
**************************
* Tools commands: *
* ————— *
* 6-Init Tools *
* 7-Clean *
* *
**************************
* 8-Exit *
**************************
Please, choose command:

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

— перейти к меню обработки образа Boot, набрав цифру «1»;
— перейти к меню обработки образа Recovery — «2»;
— перейти к меню обработки образа Kernel — «3»;
— перейти к меню обработки образа System — «4»;
— перейти к меню других команд — «5»;
— провести инициализацию рабочей области средства — «6»;
— провести очистку рабочей области средства — «7»;
— завершить работу, т.е. выйти из средства — «8».

3.2. Меню Boot.

Для перехода к обработке образа Boot выполните команду «1-Boot». При этом Вы перейдете в меню «Boot commands».

Меню обработки образов Boot имеет следующий вид:

**************************
* Boot commands: *
* ————— *
* 1-Boot unpack *
* 2-Boot pack *
* *
**************************
* 3-Return *
**************************
Please, choose command:

По команде «1» производится распаковка образов Boot, по команде «2» производится запаковка образов Boot. По команде «3» производится возврат в главное меню средства.

2.2.1. Разборка образа boot.img.

2.2.2. Сборка образа boot.img.

При сборке образа boot появится меню выбора источника данных.

**************************
* Choice source image: *
* 1. Unpack dir *
* 2. Pack dir *
* 3. Return *
**************************
Please, choose source:

У Вас есть возможность собрать образ из распакованного образа, расположенного в папке Unpack/Boot, для этого выбирайте пункт меню «1. Unpack dir». Если выбрать пункт меню «2. Pack dir», то образ будет создан из данных, расположенных в папке Pack/boot. Для отказа от выполнения операции выберите пункт меню «3. Return». При этом Вы
вернетесь в меню «Boot commands».

3.3. Меню Recovery.

Для перехода к обработке образа Recovery выполните команду «2-Recovery». При этом Вы перейдете к меню «Recovery commands». Меню обработки образов Recovery имеет следующий вид:

**************************
* Recovery commands: *
* —————— *
* 1-Recovery unpack *
* 2-Recovery pack *
* *
**************************
* 3-Return *
**************************
Please, choose command:

По команде «1» производится распаковка образов Recovery, по команде «2» производится запаковка образов Recovery. По команде «3» производится возврат в главное меню средства.
2.3.1. Разборка образа recovery.img.

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

2.3.2. Сборка образа recovery.img.

При сборке образа recovery появится меню выбора источника данных.

**************************
* Choice source image: *
* 1. Unpack dir *
* 2. Pack dir *
* 3. Return *
**************************
Please, choose source:

У Вас есть возможность собрать образ из распакованного образа, расположенного в папке Unpack/recovery, для этого выбирайте пункт меню «1. Unpack dir». Если выбрать пункт меню «2. Pack dir», то образ будет создан из данных, расположенных в папке Pack/recovery.

Для отказа от выполнения операции выберите пункт меню «3. Return». При этом Вы вернетесь в меню «Recovery commands».

3.4. Меню Kernel.

Для перехода к обработке образа Kernel выполните команду «3-Kernel». При этом Вы перейдете к меню «Kernel commands».

Меню обработки образов Kernel имеет следующий вид:

**************************
* Kernel commands: *
* —————— *
* 1-Kernel unpack *
* 2-Kernel pack *
* *
**************************
* 3-Return *
**************************
Please, choose command:

По команде «1» производится распаковка образов Kernel, по команде «2» производится запаковка образов Kernel. По команде «3» производится возврат в главное меню средства.

3.4.1. Разборка образа kernel.img.

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

3.4.2. Сборка образа kernel.img.

При сборке образа kernel появится меню выбора источника данных.

**************************
* Choice source image: *
* 1. Unpack dir *
* 2. Pack dir *
* 3. Return *
**************************
Please, choose source:

У Вас есть возможность собрать образ из распакованного образа, расположенного в папке Unpack/Kernel, для этого выбирайте пункт меню «1. Unpack dir». Если выбрать пункт меню «2. Pack dir», то образ будет создан из данных, расположенных в папке Pack/Kernel.

Для отказа от выполнения операции выберите пункт меню «3. Return». При этом Вы вернетесь в меню «Kernel commands».

3.5. Меню System.

Для перехода к обработке образа System выполните команду «3-System». При этом Вы перейдете к меню «System commands».

Меню обработки образов System имеет следующий вид:


* System commands: *
* ——————————————— *
* 1-unpack yaffs * 2-pack yaffs *
* 3-unpack ext3 * 4-pack ext3 *
* 5-unpack ext4 * 6-pack ext4 *
* 7-sparse to ext4 * *
* * *
***************************************************
* 8-Return *
***************************************************
Please, choose command:

3.5.1. Разборка образа system типа yaffs.

По команде «1» производится распаковка образов System типа yaffs в папку Unpack/System.

3.5.2. Сборка образа system типа yaffs.

По команде «2» производится запаковка образов System типа yaffs. При этом появится меню выбора источника данных.

**************************
* Choice source image: *
* 1. Unpack dir *
* 2. Pack dir *
* 3. Return *
**************************
Please, choose source:

У Вас есть возможность собрать образ из распакованного образа, расположенного в папке Unpack/system, для этого выбирайте пункт меню «1. Unpack dir». Если выбрать пункт меню «2. Pack dir», то образ будет создан из данных, расположенных в папке Pack/system.

Для отказа от выполнения операции выберите пункт меню «3. Return» и Вы вернетесь в предыдущее меню «System commands».

3.5.3. Разборка образа system типа ext3.

По команде «3» производится распаковка образов System типа ext2-ext3 в папку Unpack/System.

3.5.4. Сборка образа system типа ext3.

По команде «4» производится сборка образа System типа ext2-ext3. Запаковка производится аналогично п.3.5.2. только выходной образ будет иметь тип ext3.

3.5.5. Разборка образа system типа ext4.

По команде «5» производится распаковка образов System типа ext4 в папку Unpack/System.

3.5.6. Сборка образа system типа ext4.

По команде «6» производится сборка образа System типа ext4. Запаковка производится аналогично п.3.5.2. только выходной образ будет иметь тип ext4.

3.5.7. Конвертация сжатого образа sparse в ext4.

По команде «7» производится преобразование (конвертация или перекодирование) сжатых образов типа sparse в образы типа ext4 (аналог операции simg2img).

3.5.8.Возврат в главное меню.

По команде «8» производится возврат в главное меню средства.

3.6. Меню других команд.

Для перехода к выполнению других команд выполните команду «5-Other commands». При этом Вы перейдете к меню «Others commands». Меню выполнения других команд имеет следующий вид:

**************************
* Others commands: *
* —————- *
* 1-Init SuperUser *
* 2-Calculate md5 *
* *
**************************
* 3-Return *
**************************
Please, choose command:

По команде «1» производится инициализация SuperUser в образе System, по команде «2» производится расчет контрольной суммы файлов. По команде «3» производится возврат в главное меню средства.

3.6.1. Инициализация SuperUser.

При проведении инициализации SuperUser появится меню выбора источника:

**************************
* Choice source init: *
* 1. Unpack dir *
* 2. Pack dir *
* 3. Return *
**************************
Please, choose source:

У Вас есть возможность инициализировать распакованный образ, расположенный в папке Unpack/system, для этого выберите пункт меню «1. Unpack dir». Если выбрать пункт меню «2. Pack dir», то будет инициализирован образ, расположенный в папке Pack/system. Для отказа от выполнения операции выберите пункт меню «3. Return».
Инициализация производится путем копирования необходимых файлов (su и SuperSU.apk) в разобранный образ System.img. Для получения Root-доступа Вам необходимо:

— провести распаковку образа System, используя команду «3» главного меню
средства или поместить распакованный образ в папку Unpack(или Pack)/System/;
— выполнить команду «1-init SuperUser» меню «Others commands».

После прошивки образа System.img у Вас в Вашем устройстве появится Root-доступ. Если для получения Root-доступа на Вашем устройстве используются файлы другой версии, то Вам достаточно обновить (заменить) файлы su и SuperSU.apk в папке App/.

3.6.2. Подсчет контрольной суммы.

Для подсчета контрольной суммы файла или файлов поместите их в папку Pack/md5/. После выполнения команды «2-Calculate md5» во все файлы, находящиеся в папке Pack/md5, будет дописана контрольная сумма, рассчитанная по алгоритму md5. Обрабатываются только файлы без расширения или с расширением.img, .tar, .zip.

3.7. Инициализация.

Для проведения инициализации выполните команду «6-init Tools». При этом будут созданы все необходимые для работы средства MTwinTools структуры папок и будет произведено копирование входных образов в рабочую папку Unpack/Firmware/Image.

3.8. Очистка средства.

Для очистки рабочей области наберите «7-CLEAN». При этом ВСЕ дополнительные папки вместе с содержимым будут удалены, средство MTwinTools завершит работу и примет вид, какой оно имело сразу после инсталляции.

3.9. Выход.

Для выхода наберите «8-Exit». При этом произойдет ТОЛЬКО выход из средства без всякой очистки.

Мега утилита Android IMG Repack Tools для всех начинающих и продвинутых ромоделов, разработчиков, для редактирования образов Android.

Android IMG Repack Tools что это и зачем?

Android IMG Repack Tools утилита от пользователя под ником A.S._id (xda , 4pda), призвана для того чтобы редактировать образы Android:

  • распаковать образ Android (img, ext4)
  • редактирование файлов (вручную)
  • собрать образ

А также работа с ядрами (boot.img) и recovery (recovery). Утилита предназначена для работы как из под Linux, так и Windows (необходимо устанавливать Cygwin).

Android IMG Repack Tools будет полезна абсолютно всем ромоделам Android для создания новых кастомных прошивок, а также разработчикам ПО.

Где найти и загрузить Android IMG Repack Tools?

Скачать и новейшую версию утилиты Android IMG Repack Tools можно с официальной страницы проекта на XDA .

Установка Android IMG Repack Tools на компьютер

Так как ОС Android основана на ядре Linux, то все же правильней будет работать утилитой Android IMG Repack Tools из операционной системы основанной на Linux.

Предварительная настройка ОС для Android IMG Repack Tools

Если у вас Ubuntu версии 14.04 и старее (и Mint основанный на нем), то вам будет необходимо установить GCC 5 из репозитория (открыть терминал и набрать следующие команды):

sudo add-apt-repository ppa:ubuntu-toolchain-r/test

sudo apt-get update

sudo apt-get install gcc-5 g++-5

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 60 --slave /usr/bin/g++ g++ /usr/bin/g++-5

Для пользователей Ubuntu 16.04 (и Mint основанный на нем), то вам нужно установить вначале:

1. GNU Automake 1.14 (скачать и распаковать)

2. Перейти в папку с Gnu Automake, открыть терминал и выполнить поочередно команды: ./configure make sudo make install

3. Установить пакеты: sudo apt-get install git-core gnupg flex bison gperf libsdl-dev libesd0-dev build-essential zip curl libncurses5-dev zlib1g-dev valgrind libreadline6-dev gcc-multilib g++-multilib libc6-dev x11proto-core-dev libx11-dev libz-dev gawk texinfo automake libtool cvs libsdl-dev

Настройка Android IMG Repack Tools

1. После того как скачали Android IMG Repack Tools распаковать, перейти, открыть терминал

2. Набрать команду для запуска утилиты./main_menu

Если же у вас установлен Mint, то кликнуть по файлу main_menu

3. Перейти в раздел утилиты «0 — Configure & clean tools menu »

4. Выбрать «1 — Build android_img_repack_tools «, для того чтобы загрузить и сконфигурировать инструменты с помощью которых происходит работа с образами Android.

Работа с утилитой Android IMG Repack Tools

Ожидайте обновление статьи с инструкциями по работе утилиты в ближайшее время!

Для тех кто хочет начать путь в создание собственных прошивок для Sony на основе официальных необходимо знать как распаковать прошивку Sony формата FTF.

Что необходимо?

1. Компьютер

2. Скачать последнюю версию не официального прошивальщика FlashTool и установить

3. Скачать менеджер Unix образов ext2explore.exe

3. Скачать и установить бесплатный архиватор 7-zip

4. Прошивка Sony формата FTF

Инструкция как распаковать прошивку Sony формата FTF

1. Правым кликом мыши по FTF прошивке — открыть архив или распаковать из архива

2. После того как установили FlashTool перейдите по пути C:Flashtool
3. Запустить программу FlashTool и в панели выбрать меню Tools -> Sin Editor

4. Выберите извлеченный из прошивки ftf, файл sin в Sin Editor и нажать Extract data. После этого начнется процесс преобразования файла прошивки в читаемый вид.
5. На выходе вы можете получить новый файл с расширением yassf2 или ext4 или elf

Если файл *.yassf2

Выбрать Tools -> Yaffs2, после чего появится окно для выбора файла, выбрать файл с расширением *.yasff2

Через пару минут вы получите папку с файлами которые находились в прошивке

Если файл *.ext4 или *.elf

1. Если у вас файл с расширением *.elf , то переименовать в *.ext4

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

Что дальше?

Если вы планируете в дальнейшем создать прошиваемый update.zip, то стоит перейти к статье — создание Updater Script

Как правильно извлечь ядро из FTF прошивки?

Для того того чтобы получить «правильное» ядро для прошивки с помощью update.zip потребуется все тот же Flashtool.

1. Откройте FTF прошивку архиватором и извлеките kernel.sin

Все прошивки для планшетов на процессоре Allwinner имеют один и тот же формат img (IMAGEWTY).

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

Перейдем непосредственно к разборке файла прошивки.

Разборка IMG файла

Для разборки потребуется:

  • Файл самой прошивки
  • Программа unPacker, которую можно скачать (Для Allwinner a31s можно использовать imgRePacker)

Скачиваем архив и распаковываем. Запускаем программу unPacker.exe

Перетаскиваем в это окно наш файл и ждем распаковки.

После окончания распаковки появится новая папка название «прошивки.img.dump»

В папке out есть файл system.fex -это файл с системными файлами(папка system) . Он то нам и нужен.

Редактирование файла system.fex

Для редактирования этого файла нужна nix система и утилита для конвертации, которую можно скачать

Создаем в домашней директории папку в которой будем редактировать нашу прошивку. Назовем ее например NEW. Теперь распаковываем файлы из архива ext4_utils.zip в папку NEW. Запускаем терминал и набираем

Программа скомпилируется и мы получим инструмент для редактирования Sim2img. Теперь кладем в папку NEW наш файл system.fex и переименовываем его в sytsem.img

Вводим в терминале

./simg2img system.img output.img

Теперь у нас есть файл output.img . Теперь создаем папку например с названием sys

И монтируем туда наш файл output

sudo mount output.img sys

Теперь в папке sys находятся файлы, которые можно редактировать. Например можно внести изменения в файл build.prop, которые улучшат работу системы.

После редактирования начинаем сборку

./mkuserimg.sh -s sys/ ./factoryfs_custom.img ext4 ./temp 512M

Полученный файл factoryfs_custom переименовываем в system.fex.iso

примечание: можно аналогично редактировать и другие файлы образов (boot и bootloader)

Сборка

Теперь что бы собрать отредактированные файлы в необходимый для прошивки формат, нужно файл system.fex.iso поместить с заменой в папку (на Windows) _iso и перетащить папку

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

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

Существует много конечно-разностных методов интерполяции. Наиболее
распространенным является метод Ньютона для интерполяции «вперед» (метод Ньютона - Грегори). Интерполяционный полином в этом случае имеет вид:

Коэффициенты С находим по формуле:

Реализация программы на языке C#:
using System; namespace Interpolation { class Program…

Визуализация алгоритмов cортировки

Программа разделена на два потока в одном из которых выполняется сортировка, а в другом перерисовка графического интерфейса. После нажатия на кнопку «Сортировать», в программе вызывается метод «RunSorting», в котором определяется алгоритм сортировки и создается новый поток с запущенным в нем процессом сортировки.
private void RunSo…

Качер Бровина на КТ819Г

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

Ниже несколько фото сделанных во время сборки устройства.

Катушка намотана проводом 0,08 мм примерно 2000 витков на ПВХ трубе диаметром 50 мм и высотой 200 мм.

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

Первый вариант питался от блока питания старого компьютера, напряжением 12 В. Затем же был сделан отдельный блок питания, напряжением в 30 В и со встроенным охлаждением.

Схема устройства:

Что такое CORS и как его использовать

Совместное использование ресурсов (CORS) — это спецификация W3C, которая позволяет осуществлять междоменную связь в браузере. Создавая поверх объекта XMLHttpRequest, CORS позволяет разработчикам работать с одинаковыми идиомами как запросы с одним доменом. Вариант использования для CORS прост. Представьте, что на сайте alice.com есть некоторые данные, которые сайт bob.com хочет получить. Этот тип запроса традиционно не допускается в соответствии с той же политикой происхождения браузера. Однако, поддерживая запросы CORS, alice.com может добавить несколько специальных заголовков ответов, которые позволяют bob.com получать доступ к данным. Как видно из этого примера, поддержка CORS требует координации между сервером и клиентом. К счастью, если вы являетесь разработчиком на стороне клиента, вы защищены от большинства этих деталей. В остальной части этой статьи показано, как клиенты могут выполнять запросы с кросс-началом и как серверы могут настраивать себя для поддержки CORS. Продолжени…