Установка кастомного ядра Android в Sony Xperia серии NXT (U, Sola, P, S)

У меня Sony Xperia P. Он работает на ядре 6_0_B

--Installing: /sdcard/new_kernel.zip
Finding update package...
Opening update package...
Installing update...
AnyKernel Updater by Koush.
Extracting System Files...
Extracting Kernel files...
Changing device name...
Done!

Install from sdcard complete.
564 и Andriod 2.3.7. Я собрал кастомное ядро ​​из исходников. Я изменил экстраверсию и т. д. У меня есть zImage. Как мне установить его на свой телефон?

Я уже пробовал метод Anykernel.zip. Когда я пытаюсь установить его с помощью Clockworkmod, я получаю:

--Installing: /sdcard/new_kernel.zip
Finding update package...
Opening update package...
Installing update...
AnyKernel Updater by Koush.
Extracting System Files...
Extracting Kernel files...
Changing device name...
Done!

Install from sdcard complete.

Но когда я запускаю телефон, это то же старое ядро

Когда я просмотрел содержимое zip-файла, я обнаружил, что в нем нет boot.img.

Могу ли я прошить ядро ​​с помощью Fastboot?


person Anirudh    schedule 20.07.2012    source источник


Ответы (2)


Наконец-то мне удалось установить кастомное ядро. Думаю, эта процедура будет работать для всех телефонов серии Sony Xperia NXT (Xperia U, Sola, P, S). Вот как я это сделал -

  1. Загрузите Stock Kernel по следующим ссылкам:

    Sony Xperia U

    Sony Xperia Sola

    Sony Xperia P

    Sony Xperia S

    Это будет формат ELF.

  2. Загрузите сценарий создания образа здесь.

  3. Распаковать стоковое ядро.

    7z e kernel.elf

    Это дает три файла -

    0 - Kernel

    1 - RAMDisk

    2 - Resource Power Manager (only for Xperia S)

  4. Замените ядро ​​на специально скомпилированное ядро ​​(zImage). Обратите внимание, что zImage переименовано в 0. Поскольку мы намерены изменить только ядро, оставьте RAMDisk и Resource Power Manager (если есть) как есть.

  5. Сгенерируйте образ ядра, используя скрипт, загруженный ранее

    Для Xperia U, Sola и P -

    python mkelf.py -o new_kernel.elf 0@0x00200000 1@0x01200000,ramdisk

    Для Xperia S-

    python mkelf.py -o new_kernel.elf 0@0x40208000 1@0x41200000,ramdisk 2@0x20000,rpm

    Это генерирует новое ядро ​​new_kernel.elf

  6. Перезагрузите телефон в режим Fastboot, удерживая кнопку увеличения громкости, а затем нажав кнопку питания в выключенном состоянии.

  7. Прошить новое ядро

    android-sdk-linux/platform-tools/fastboot -i 0x0fce flash boot new_kernel.elf

    Перезагрузите телефон.

    android-sdk-linux/platform-tools/fastboot -i 0x0fce reboot

person Anirudh    schedule 01.08.2012

При использовании средства обновления Anykernel происходит следующее.

Скрипт обновления запускается и извлекает boot.img из вашего текущего ПЗУ. Распаковывает boot.img в ядро ​​и на рамдиск. Он перепаковывает newboot.img с новым ядром и тем же рамдиском. Он прошивает только что созданный загрузочный образ.

Теперь ваш boot.img такой же, как у вашего старого ядра. Только ваш zImage изменился.

Теперь возможно, что скрипт несовместим с вашим существующим ядром.

Проверьте uname -a из консоли, используя что-то вроде эмулятора терминала, чтобы подтвердить версию ядра с отметкой времени. Проверьте отметку времени, чтобы увидеть, на месте ли новый zImage.

person Anirudh Ramanathan    schedule 20.07.2012
comment
Linux localhost 2.6.35.7+ #1 SMP PREEMT Thu Apr 12 11:16:24 2012 armv71 GNU/Limux При настройке ядра я изменил экстраверсию на .7-anirudh-mod - person Anirudh; 20.07.2012
comment
Я рекомендую вам извлечь RamDisk из существующего ядра и соединить с ним скомпилированный zImage. Сценарий anykernel не работает с ядрами, которые не поддерживают этот модульный подход. - person Anirudh Ramanathan; 20.07.2012
comment
Не могли бы вы подсказать, как это сделать? - person Anirudh; 20.07.2012
comment
после соединения zImage с Ramdisk, как мне установить? - person Anirudh; 20.07.2012
comment
Набор RamDisks находится здесь, а инструкции здесь. После подключения вы получите новый архив с именем zImage. Извлеките ZIP-файл CWM любого существующего ядра, замените zImage и снова заархивируйте его. - person Anirudh Ramanathan; 20.07.2012
comment
Вы знаете, где я могу найти двоичные файлы unpackbootimg и mkbootimg для 32-битного Linux? - person Anirudh; 20.07.2012
comment
В ссылке, которую вы мне сказали, нет Randisk для Xperia P. Можно ли использовать Ramdisk для Arc S? - person Anirudh; 20.07.2012
comment
Или можно использовать рамдиск из бэкапа CWM? - person Anirudh; 20.07.2012
comment
Здесь. Вы можете использовать RamDisk из резервной копии CWM. Для инструкций по сборке используйте IRC-канал. - person Anirudh Ramanathan; 20.07.2012