Предпологается, что уже есть файлы из прошивики boot.img и system.img. А также у вас установлены утилиты для работы с cramfs
На большом компьютере даем команды с правами root:rm -rf ./system mkdir ./system mount -t cramfs -o loop ./system.img ./system tar czvf /tmp/system.tgz ./system umount ./system #tar xzvf ./system.tgz #копируем все файлы и каталоги cp -RdL ./system/* ./system_new rm -rf ./boot mkdir ./boot mount -t cramfs -o loop ./boot.img ./boot tar czvf /tmp/boot.tgz ./boot umount ./boot #tar xzvf ./boot.tgz #копируем все файлы и каталоги cp -RdL ./boot/* ./boot_new #копируется etc cp -RP ./boot/* ./boot_new
В итоге получаем 2 каталога с файловой системой двух img прошивки.
Теперь в каталогах system_new или boot_new делаем нужные изменения. Обратим внимание на то, что файловая система cramfs удаляет все аттрибуты файлов, в том числе дату создания (на что ругается архиватор) и права доступа. Поэтому "рутить" устройство добавлением Suid-аттрибута к исполняемым файлам бесполезная штука.
echo "Создаем новый образ system.img" rm -f ./system_new.img mkcramfs ./system_new ./system_new.img echo "Создаем новый образ boot.img" rm -f ./boot_new.img mkcramfs ./boot_new ./boot_new.img
По идеи то же самое (контрольная сумма) надо сделать для system_new.img, но прошивка работает и без контрольной суммы.