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 за помощь
Ant-ON
19.12.2010, 11:26
Для сборки ядра достаточно скачать hardhat-*.tgz и platform-*.tgz пакеты.
EXL
19.12.2010, 11:33
Цитата(Ant-ON @ Сегодня, 17:21)
Для сборки ядра достаточно скачать hardhat-*.tgz и platform-*.tgz пакеты.
Тем лучше. Я просто позже хотел попробовать рассмотреть сборку всего релиза.
Lucas S. Silva
27.12.2010, 23:47
How to open CG35.smg? What terminal command?
Pyth_ON!
5.1.2011, 0:15
Цитата(EXL @ 19.12.2010, 11:13)
Выложи обоину с няшкой
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.
smaylik
9.1.2011, 15:51
А как добавляют поддержку файловых систем, просто патчат как обычное линуксовое ядро?
Lucas S. Silva
10.1.2011, 23:39
Ok! Thank you is shone.
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"
Удали из мэйкфайла этот флажок.
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
Если, что стучи в аську
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
В поисках ошибку встречал, пишут, что решили, но никто не пишет как
Как побороть эту ошибку?
EXL: Makefile:3: toolprefix.mk: No such file or directory - не найден файл toolprefix.mk. Проверь его присутствие по пути в мэйкфайле.
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: Для изменения различных опций. Например, для добавления свопа в прошивку.
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 разогнался настолько, что играть стало не реально.
Подробнее можете посмотреть на видео:
[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 -
Скачать 0DR798 MHz -
Скачать 0DR665 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.
Компилируем ядро ZN5. Мануал.
Прикреплённые файлы:
Programmer-tm(Мотофан.)
29.11.2011, 5:50
EXL,
Ничего себе... Сейчас попробую на эво проверить работоспособность...
А может такое же действо собрать и для других телов, типа E8|EM30
Описываю результат: тело заметно быстрее (ZineEvo 9 [beta2]) видео работает без разгона... Оно раньше без него тормозило жуть... АКБ новый, так что сегодня на заряд впихну и отпишу что и как будет... Только возникли некие проблемы, но попробую решить... Кому интересно, могу собрать прошиву с ядром...
Ах да, ставилось вот это: 798MHz_Kernel_062A_Symbiosis_X.2.7z
SanchoNT
29.11.2011, 6:05
ДА ЛАДНО! Прошил 798 MHz - работает! Это просто прекрасно и невероятно! Только уже нашёл баг: камера запускается на столько быстро, что вспышка не успевает зарядится. В итоге значёк вспышки моргает и вспышка не работает.
Да, ребята, круто. У меня к сожалению тоже аккум убитый в хлам, он и на 399 Mhz уже держит очень-очень мало, хотел заказывать новый, но потом почему-то передумал, сейчас опять думаю, что новый аккум мне не помешал бы.
EXL: Ага, баг имеет место быть. У меня камера почти сломана, так что я этого не заметил
Programmer-tm(Мотофан.)
29.11.2011, 6:11
SanchoNT,
Ну я попробую, как оно на новом акб держит... и отпишусь.
EXL,
Из багов... он показывает 0 mhz
Я только не знаю, что это за частота или 133 или 266 или обе сразу
Ещё один баг или не баг, но к ext разделу нет доступа, но своп пашет... Или это только у меня такое произошло...
SanchoNT,
как можно проверить монтирование ext или перемонтировать его ручками?
EXL: Да, почему-то показывает 0 MHz, мне если честно лень в этом разбираться. Ядро просто для эксперимента собрано
А ext раздел может не работать, т.к ядро повторюсь, стандартно от прошивки 0DR, и все фс, активированные в собраных ядрах под ZE и Sym в нём отсутствуют. Добавлен только своп + разгон.
SanchoNT
29.11.2011, 6:25
Цитата(Programmer-tm(Мотофан.) @ 29.11.2011, 12:11)
SanchoNT,
как можно проверить монтирование ext или перемонтировать его ручками?
Команда mount выводит список всего смонтированного
mount -o remount /mmc/mmca2 перемонтировать
Только с этим ядром, прошитым на ZE, телефон к компу не подключается
Programmer-tm(Мотофан.)
29.11.2011, 6:30
SanchoNT,
Кстати да, я это то же хотел написать. Будем фиксить сие безобразие?
EXL: Вы сначала проверьте, стоит ли шкурка выделки?
Может быть при активном использовании аккума на 4 часа всего хватает
SanchoNT
29.11.2011, 6:34
Цитата(Programmer-tm(Мотофан.) @ 29.11.2011, 12:30)
SanchoNT,
Кстати да, я это то же хотел написать. Будем фиксить сие безобразие?
У нас просто ядро 2CR, а тут 0DR - оттуда и несовместимость.
С камерой видимо можно решить проблему только сделав задержку. При запуске камеры там по очереди два файла запускаются, вот между их запуском скорее всего нужно сделать задержку хотя бы в секунду.