MyTetra Share
Делитесь знаниями!
Работаем с прошивкой
Время создания: 12.06.2012 15:04
Раздел: linux - плеер
Запись: lesnik757/mytetra/master/base/13394918535n8fe2jrfn/text.html на raw.githubusercontent.com

Работаем с прошивкой


Разборка

Копируем install.img в папку incoming далее в линуксе создаем рабочую папку где захочется хоть в корне хоть в домашних директориях зависит от того где оно нам надо или даже где осталось больше свободного места посмотреть это можно командой df -m в примере рассмотрим вариант с папкой asus созданной в корне. Переходим в нашу папку cd /asus и выполняем следующие команды:

Code: Select all

cp /share/install.img ./

tar xf install.img

rm -f install.img


Получим разобранный образ, теперь извлекаем корневую систему она находится в папке package2 (конечно папка может называться как угодно, но как правило она там всего одна детально смотрите файл configuration.xml) имя файла по умолчанию squashfs1.img или yaffs2_1.img в зависимости от файловой системы. Переходим в папку package2 cd package2 и выполняем следующие команды:


Если у нас файловая система squashfs

Code: Select all

unsquashfs squashfs1.img

rm -f squashfs1.img


Получим папку squashfs-root


Если yaffs2 (учтите что в отличии от squashfs при разпакове дополнительная директория не создается и все валится туда где лежит образ поэтому лучше создать дополнительную папку например fs переметить туда образ и распаковать там)

Code: Select all

mkdir fs

mv yaffs2_1.img fs

cd fs

unyaffs yaffs2_1.img

rm -f yaffs2_1.img



Для удобства просмотра файлов можно использовать midnight commander команда mc



Сборка

Здесь тоже ничего сложного, для начала пакуем папку usr/local/etc корневой системы образа если конечно мы вносили туда какие-то изменения. Для этого переходим туда если squash cd /asus/package2/squashfs-root/usr/local/etc если yaffs2 cd /asus/package2/fs/usr/local/etc и пакуем это все командой tar cjf usr.local.etc.tar.bz2 * После чего перемещаем полученный файл usr.local.etc.tar.bz2 в папку package2 c заменой, командой mv или через файл менеджер mc как вам удобнее. (Этот файл может быть как формата bz2 так yaffs2 все зависит от прошивки, опять же смотрите конфигурацию)


Собираем корень, возвращаемся в папку package2 cd /asus/package2 и выполняем следующие:


Если пакуем squash тогда:

Code: Select all

mksquashfs squashfs-root squashfs1.img

rm -rf squashfs-root



Если yaffs2:

Code: Select all

mkyaffs2image fs yaffs2_1.img

rm -rf fs



Возвращаемся в корень распакованного образа cd /asus правим configuration.xml если требуется (например вы хотите поменять размер файловой системы /usr/local/etc или скажем поменять корневую файловую систему с одного типа на другой) и пакуем образ обратно с перемещением его в виндовс командами:

Code: Select all

tar cf install.img *

mv install.img /share

 
MyTetra Share v.0.59
Яндекс индекс цитирования