Як створити інсталяційний пакет ClockworkMod?


10

Я досвідчений ветеран Linux і нещодавно купив Samsung Galaxy S2 від T-Mobile. Я відчував помилку, що хизується, тому я вирішив завантажити вихідний код із сайту Samsung і почати хитатися.

Моя проблема полягає в тому, що я вже встановив ClockworkMod на своєму телефоні, тому я не хочу одразу прошивати нове ядро ​​і тим самим пошкодити ClockworkMod, тому я шукаю деталі щодо створення належного пакета встановлення ClockworkMod (як правило / завжди zip-файл?), щоб я міг перевірити щойно складені ядра.

Поки що мій пошук у google звів нанівець. Сторінка ClockworkMod, здається, є досить безплідною документацією. Чи може хтось вказати мені на якусь документацію про процес створення пакета встановлення?


1
Спалах ядра з Одіном порушує CWM?
Матвій

1
Я подумав, що це станеться, оскільки ODIN, здається, спалахує основний завантажувальний блок телефону, але я можу бути абсолютно поза базою. Я не хотів спробувати це, не знаючи точно. Я розумів, що CWM - це тоне ядро ​​середнього чоловіка, яке повинне перейти до правильного ядра, але, знову ж таки, може бути абсолютно поза базовим.
Пітер Грейс

Відповіді:


8

Необхідна частина .zip-файлу ядра виглядає приблизно так:

META-INF
    com
        google
            android
                update-binary
                updater-script

Також ви хочете мати zImageфайл ядра десь в іншому місці, найпростіше, якщо він просто є в корені архіву.

updater-scriptмістить мінімум наступне (передбачається zImageв корені):

assert(package_extract_file("zImage", "/tmp/zImage");
       write_raw_image("/tmp/zImage", "/dev/block/mmcblk0p8");
       delete("/tmp/zImage")
);

Ви також можете робити такі дії, як показувати панель прогресу, друкувати повідомлення, стерти /cacheтощо.

Вам потрібно захопити update-binaryз іншого пакета ядра для SGS2. Один випадковий приєднаний до цієї публікації XDA .

Я протестував цей метод на своєму SGS Vibrant без проблем, використовуючи ядро ​​з пакету Odin та update-binaryінше .zip ядро ​​Vibrant. Зауважте, що це цілком безпечно, доки ви пишете у правильний розділ - для Vibrant це було bml17, для SGS2 воно, здається, є mmcblk0p5(на основі ядра від XDA, що я пов’язано вище) або mmcblk0p8якщо ви блимаєте ціле завантажувальне зображення (див. коментарі нижче). Ви хочете перевірити це напевно. Найгірший випадок, коли ваше ядро ​​не працює, і ви проблискаєте відоме хороше.


Для Samsung Galaxy S2 (T-Mobile) SGH-T989 відповідна директива (зібрана з відомого хорошого рома, який я вже встановив) показує, що завантажувальний блок входить / dev / block / mmcblk0p8, а не p5. Ви можете відредагувати це заради безпеки. На основі цієї публікації я зробив блискавку, і це спрацювало як шарм! Дякую!
Пітер Грейс

@PeterGrace Ах, завантажувальне зображення - це більше, ніж просто ядро, тому це інакше.
Матвій

Чи є спосіб переконатися, що я повинен використовувати / dev / block / mmcblk0p8? У мене є Galaxy S2 від Virgin Mobile Canada (той же Bell Canada), тому він не від T-Mobile, і я не знаю гарного ROM (крім CM7, але він пише завантажувальне зображення, а не zImage). Чи слід вважати, що мій Virgin Mobile GS2 працює так само, як і ваш T-Mobile GS2, чи є спосіб перевірити напевно?
Rognon

@Rognon Ви можете спробувати запустити, mountщоб побачити, які блоки розміщені. В іншому випадку знайдіть ПЗУ.
Матвій

@MatthewRead mountне показує ані p8, ані p5. Погуляння навколо, схоже, вказує на те, що zImage має бути записаний на p5, і це робить цей сайт: forum.xda-developers.com/showthread.php?t=1691867 . Я спробував перерахувати вміст папки, згаданої у потоці, але її немає на моєму телефоні ...
Rognon

-1

Я виявив, що ви можете використовувати fastboot, не впливаючи на CWM.

sudo /path/to/fastboot boot boot.img

або

sudo /path/to/fastboot flash:raw boot /path/to/zImage /path/to/ramdisk.img
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.