MotoFan.Ru — все для Motorola > Гаджеты от Motorola > Motorola на Linux > Motorola ZINE ZN5

Сборка ядра для ZN5. Compiling your own kernel Полная версия
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18

 av EXL

 19.12.2010, 11:18

Компилируем ядро ZN5. Мануал.

Требования:

- Дистрибутив Linux'a. Под Cygwin компилить крайне не рекомендую.
- Небольшие умения пользоваться никсовым терминалом
- Умение пользоваться программой SBF Recalc
- Сорцы ядра
- Тулчейн
- Рут

1. Итак, приступим. Для начала качаем тулчейн (зеркало 1, зеркало 2). Устанавливаем его, как и куда написано тут в первом закреплённом посте.

2. Качаем исходники для нужной прошивки тут см. подробнее скрин
Нажмите для просмотра прикрепленного файла

3. Создаём папку zn5kernel в удобном для вас месте, например я создал в /home/z6/zn5kernel
Распаковываем туда все архивы из скачанного файла. см. подробнее скрин ниже
Нажмите для просмотра прикрепленного файла

4. Запускаем терминал и выполняем команды.
Код
cd /home/z6/zn5kernel
mv platform/Makefile.top ./Makefile
chmod 777 /home/z6/zn5kernel/Makefile

Makefile должен появится в /home/z6/zn5kernel.

5. Редактируем Makefile, а именно переменную
Код
COMPILERTOOLPATH = /vobs/jem/cee4_lsp/mobilinux/devkit/arm/v6_vfp_le/bin

У меня это 41 строка. Заменяем на:
Код
COMPILERTOOLPATH = /opt/toolchains/motomagx/arm-eabi2/bin


6. Для включения/отключения тех или иных функций в ядре воспользуемся редактированием файла
/home/z6/zn5kernel/hardhat/linux-2.6.x/arch/arm/configs/motorola_ljap_defconfig
Например, чтобы включить в ядре поддержку свапа, выполняем в телнете:
Код
chmod 777 /home/z6/zn5kernel/hardhat/linux-2.6.x/arch/arm/configs/motorola_ljap_defconfig

Открываем файл motorola_ljap_defconfig любым редактором, например gedit. Ищём CONFIG_SWAP, у меня это 269 строка, меняем:
Код
# CONFIG_SWAP is not set

на
Код
CONFIG_SWAP=y

Также поступаем и с другими опциями... См. скрин
Нажмите для просмотра прикрепленного файла

7. Для компиляции выполняем следующее:
Код
cd /home/z6/zn5kernel
make hardhat.dir

Ждём пока компилируется. У меня на старом P-III на это ушло чуть более 30 минут. У вас должно быть быть как минимум в два раза быстрее.
Если прошло всё успешно, то в папке /home/z6/zn5kernel/build/hardhat/arm/arm_v6_vfp_le/xpixl/kernel/linux_build/arch/arm/boot получаем файл zImage. Это и есть собранное ядро. Переименовываем его в
CG35.smg. См. скрин
Нажмите для просмотра прикрепленного файла

8. Ну а дальше с помощью SBF Recalc нужно собрать прошивку с этим ядром, предварительно пересчитав чексуммы (Recalc checksum) И, собственно прошить RSD Lite.

Огромное спасибо OCM770 и Javierox за помощь

 av Ant-ON

 19.12.2010, 11:26

Для сборки ядра достаточно скачать hardhat-*.tgz и platform-*.tgz пакеты.

 av EXL

 19.12.2010, 11:33

Цитата(Ant-ON @ Сегодня, 17:21)

Для сборки ядра достаточно скачать hardhat-*.tgz и platform-*.tgz пакеты.
*



Тем лучше. Я просто позже хотел попробовать рассмотреть сборку всего релиза.

 no av Lucas S. Silva

 27.12.2010, 23:47

How to open CG35.smg? What terminal command?

 av Pyth_ON!

 5.1.2011, 0:15

Цитата(EXL @ 19.12.2010, 11:13) *

См. скрин
Нажмите для просмотра прикрепленного файла

Выложи обоину с няшкой grin.gif

 av EXL

 6.1.2011, 8:56

Цитата(Pyth_ON! @ Вчера, 6:10)

Выложи обоину с няшкой
*



Кинул в личку.

Цитата(Lucas S. Silva @ Вчера, 14:09)

How to open CG35.smg? What terminal command?
*



Why do you need to open a kernel (CG35.smg)? It needs to be flashed into the phone.
Assemble the firmware with this code group with program SBF Recalc.

 av smaylik

 9.1.2011, 15:51

А как добавляют поддержку файловых систем, просто патчат как обычное линуксовое ядро?

 no av Lucas S. Silva

 10.1.2011, 23:39

Ok! Thank you is shone.

 av smaylik

 20.2.2011, 9:00

Блин, при компиляции выазит ошибка, никак не разберусь из-за чего. Ядро от e8 может для него нужен тулчейн другой?
Код
*
*
* APAL (Audio Driver) support
*
APAL support (APAL) [M/n/y/?] m
  Using /home/z6/zn5kernel/hardhat/linux-2.6.x as source for kernel
  GEN    /home/z6/zn5kernel/build/hardhat/arm/arm_v6_vfp_le/elba/linux_build/Makefile
  CHK     include/linux/version.h
  UPD     include/linux/version.h
  SYMLINK include/asm -> include/asm-arm
  SPLIT   include/linux/autoconf.h -> include/config/*
  HOSTCC  scripts/genksyms/genksyms.o
  SHIPPED scripts/genksyms/lex.c
  SHIPPED scripts/genksyms/parse.h
  SHIPPED scripts/genksyms/keywords.c
  HOSTCC  scripts/genksyms/lex.o
scripts/genksyms/lex.c:1228: warning: 'input' defined but not used
  SHIPPED scripts/genksyms/parse.c
  HOSTCC  scripts/genksyms/parse.o
  HOSTLD  scripts/genksyms/genksyms
  CC      scripts/mod/empty.o
cc1: error: unrecognized command line option "-fno-stack-protector"
make[5]: *** [scripts/mod/empty.o] Error 1
make[4]: *** [scripts/mod] Error 2
make[3]: *** [scripts] Error 2
make[2]: *** [modules_prepare] Error 2
make[2]: Leaving directory `/home/z6/zn5kernel/hardhat/linux-2.6.x'
make[1]: *** [/home/z6/zn5kernel/build/hardhat/arm/arm_v6_vfp_le/elba/linux_build/.config] Ошибка 2
make[1]: Выход из каталога `/home/z6/zn5kernel/hardhat'
make: *** [hardhat.dir] Ошибка 2


EXL: cc1: error: unrecognized command line option "-fno-stack-protector"
Удали из мэйкфайла этот флажок.

 av smaylik

 20.2.2011, 16:00

У меня нет в майк файле этого. вот мой майк
Код

#бла-бла-бла
#коментарии

BOOTSTRAP = $(PWD)/platform/Makefile.bootstrap

# Note: You MUST set COMPILERTOOLPATH to the directory containing your
# compiler tools such as gcc cc cpp g++ nm ld etc...
COMPILERTOOLPATH = /opt/toolchains/motomagx/arm-eabi2/bin
# The alternative is to modify the bootstrap file to point to your toolchain
# via the CC LD etc... macros

COMPS = $(filter-out build platform,$(patsubst %/.,%,$(wildcard */.)))
COMPTOP = $(PWD)/$*
MINIPBLDCMD = mkdir -p build/$* && cd $* && $(MAKE) COMPILERTOOLPATH=$(COMPILERTOOLPATH) PLATFORM_DIR=$(PWD)/platform BOOTSTRAP=$(BOOTSTRAP) COMPTOP=$(COMPTOP) PROPFILES=$(COMPTOP)/properties BUILDTOP=$(PWD)/build/$*

%.eqfix :
    @chmod -R u+w $*
    for f in $$(egrep -rl 'if[n]?eq\(' "$*"); do \
      perl -pi -e 's/(if[n]?eq)\(/$$1 (/go' $$f; \
    done

%.api : %.eqfix
    $(MINIPBLDCMD) api_uninstall api_build api_install

%.impl : %.eqfix
    $(MINIPBLDCMD) impl

%.dir : %.eqfix
    $(MINIPBLDCMD) build

all : $(addsuffix .dir,$(COMPS))



EXL: Он у тебя лежит по пути: /home/z6/zn5kernel/build/hardhat/arm/arm_v6_vfp_le/elba/linux_build/Makefile
Если, что стучи в аську

 av Kefir.net

 12.7.2011, 17:28

Пытаюсь собрать ядро для V8, стопорится на:

Makefile:3: toolprefix.mk: No such file or directory
env -u MAKECMDGOALS make -j4 CROSS_COMPILE=/opt/toolchains/motomagx/arm-eabi2/bin/arm_v6_vfp_le- -C /home/z6/zn5kernel/hardhat/linux-2.6.x O=/home/z6/zn5kernel/build/hardhat/arm/arm_v6_vfp_le/lido/kernel/linux_build toolprefix.mk
make[4]: *** No rule to make target `toolprefix.mk'. Stop.
make[3]: *** [toolprefix.mk] Error 2
make[2]: *** [toolprefix.mk] Error 2

В поисках ошибку встречал, пишут, что решили, но никто не пишет как sad.gif

Как побороть эту ошибку?

EXL: Makefile:3: toolprefix.mk: No such file or directory - не найден файл toolprefix.mk. Проверь его присутствие по пути в мэйкфайле.

 av Kefir.net

 20.7.2011, 15:43

Цитата(Kefir.net @ 12.7.2011, 20:28) *

EXL: Makefile:3: toolprefix.mk: No such file or directory - не найден файл toolprefix.mk. Проверь его присутствие по пути в мэйкфайле.


Нет этого файла. Собирал в Fedora 15.

В общем проблема решилась сборкой под CentOS 4.9, как наиболее близкой к сборочной среде Motorola.

В ней собралось..что правда странно при такой ошибке.

  a1batross

 9.8.2011, 10:12

а зачем нужна сборка сборка своего ядра??

EXL: Для изменения различных опций. Например, для добавления свопа в прошивку.

 av EXL

 29.11.2011, 5:26

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

532 MHz:
Нажмите для просмотра прикрепленного файла

636 MHz (изначально неправильно высчитанная частота 665 MHz):
Нажмите для просмотра прикрепленного файла

740 MHz (изначально неправильно высчитанная частота 798 MHz):
Нажмите для просмотра прикрепленного файла

Кроме того аппарат начал быстрее работать в некоторых меню, к сожалению поднятие частоты процессора конечно же не помогло избавится полностью от глюков и фризов Qt оболочки. Телефон нормально запускается и работает на 798 MHz у меня уже примерно две недели. 798 MHz лишь заменяет 532 MHz при нагрузке, поэтому все утилиты типа zCpu, aiCPU и др. будут работать.
Насчёт продолжительности от работы аккумулятора точно сказать не могу, т.к имею убитый на морозе аккум. Кто протестирует и отпишется о результатах - буду рад. Но скажу точно, денёк у меня держит, если не играть и пользоваться телефоном - как телефоном.
Кроме того, немного повысилась производительность в играх и эмуляторах. Например, pscx4all стал работать быстрее, Picodrive от rock88 вообще выдаёт фуллспид, а в quake 1 разогнался настолько, что играть стало не реально. crazy.gif Подробнее можете посмотреть на видео:

[video]https://www.youtube.com/watch?v=TJLPbUxXoSc[/video]

Ядра собраны под Symbiosis X.2 - 0DR, для ZN5 РСТ 64 Mb RAM. Кто портирует под ZN5 T-mobile - буду только рад. По-моему там просто загрузчик в sbf файлах поменять... P.S. Ядро от стандартного отличается только наличием возможности работы со свапом + другая частота.
665 MHz - Скачать 0DR
798 MHz - Скачать 0DR
665 MHz - Скачать 2CR_128 (ZE 0.9)
798 MHz - Скачать 2CR_128 (ZE 0.9)

Установка - обычная прошивка sbf-файла с помощью RSD Lite.

Изменения в сорцах ядра
Файл hardhat/linux-2.6.x/arch/arm/mach-mxc91231/mxc_pm.c, функция static ap_pll_mfn_values_t opinfo[NUM_DVFSOP_INDEXES], там где комментом отмечено /* 532 */:
значение ap_pll_dp_hfs_op: 0x000000A0 меняем на ap_pll_dp_hfs_op: 0x000000E0 для 798 и на ap_pll_dp_hfs_op: 0x000000C0 для 665.

Напоминаю, что ответственность за ваши действия лежит только на вас.

Полезная информация
Температурные тесты работы процессора ZN5

 no av Programmer-tm(Мотофан.)

 29.11.2011, 5:50

EXL,
Ничего себе... Сейчас попробую на эво проверить работоспособность...

А может такое же действо собрать и для других телов, типа E8|EM30

Описываю результат: тело заметно быстрее (ZineEvo 9 [beta2]) видео работает без разгона... Оно раньше без него тормозило жуть... АКБ новый, так что сегодня на заряд впихну и отпишу что и как будет... Только возникли некие проблемы, но попробую решить... Кому интересно, могу собрать прошиву с ядром...
Ах да, ставилось вот это: 798MHz_Kernel_062A_Symbiosis_X.2.7z

 av SanchoNT

 29.11.2011, 6:05

ДА ЛАДНО! Прошил 798 MHz - работает! Это просто прекрасно и невероятно! Только уже нашёл баг: камера запускается на столько быстро, что вспышка не успевает зарядится. В итоге значёк вспышки моргает и вспышка не работает.
Да, ребята, круто. У меня к сожалению тоже аккум убитый в хлам, он и на 399 Mhz уже держит очень-очень мало, хотел заказывать новый, но потом почему-то передумал, сейчас опять думаю, что новый аккум мне не помешал бы.

EXL: Ага, баг имеет место быть. У меня камера почти сломана, так что я этого не заметил smile.gif

 no av Programmer-tm(Мотофан.)

 29.11.2011, 6:11

SanchoNT,
Ну я попробую, как оно на новом акб держит... и отпишусь.

EXL,
Из багов... он показывает 0 mhz
Я только не знаю, что это за частота или 133 или 266 или обе сразу

Ещё один баг или не баг, но к ext разделу нет доступа, но своп пашет... Или это только у меня такое произошло...

SanchoNT,
как можно проверить монтирование ext или перемонтировать его ручками?

EXL: Да, почему-то показывает 0 MHz, мне если честно лень в этом разбираться. Ядро просто для эксперимента собрано smile.gif
А ext раздел может не работать, т.к ядро повторюсь, стандартно от прошивки 0DR, и все фс, активированные в собраных ядрах под ZE и Sym в нём отсутствуют. Добавлен только своп + разгон.

 av SanchoNT

 29.11.2011, 6:25

Цитата(Programmer-tm(Мотофан.) @ 29.11.2011, 12:11) *

SanchoNT,
как можно проверить монтирование ext или перемонтировать его ручками?

Команда mount выводит список всего смонтированного
mount -o remount /mmc/mmca2 перемонтировать
Только с этим ядром, прошитым на ZE, телефон к компу не подключается smile.gif

 no av Programmer-tm(Мотофан.)

 29.11.2011, 6:30

SanchoNT,
Кстати да, я это то же хотел написать. Будем фиксить сие безобразие?

EXL: Вы сначала проверьте, стоит ли шкурка выделки?
Может быть при активном использовании аккума на 4 часа всего хватает smile.gif

 av SanchoNT

 29.11.2011, 6:34

Цитата(Programmer-tm(Мотофан.) @ 29.11.2011, 12:30) *

SanchoNT,
Кстати да, я это то же хотел написать. Будем фиксить сие безобразие?

У нас просто ядро 2CR, а тут 0DR - оттуда и несовместимость.
С камерой видимо можно решить проблему только сделав задержку. При запуске камеры там по очереди два файла запускаются, вот между их запуском скорее всего нужно сделать задержку хотя бы в секунду.
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18

Полная версия:


MotoFan.ru (©) 2021    Слушать Radio