LINUX.ORG.RU

Сборка ядра для ведроида

 ,


0

3

Привет всем! Вообщем, стянул с гугла ядро для msm такой же версии, как и на телефоне (2.6.x). Стянул с телефона /proc/config.gz Скомпилировал zImage, собрал boot.img и залил обратно. Но при при включении всё мёртво висит. Пробовал прописывать в ините монтирование раздела и запись в файл для теста - фиг, не доходит. Яхз почему.

Но ядро всё же запускается и немного работает! Пробовал играться с настройками USB.

.config с телефона: http://dumpz.org/611285/

Текущий конфиг: http://dumpz.org/611284/

Пробовал g_serial использовать для дебага, прописал в cmdline console=ttySG0 - но ПК не определяет ничего:

[48126.093130] hid-generic 0003:1F53:F006.000B: hiddev0,hidraw2: USB HID v1.10 Device [SK telesys, Incorporated SK telesys Android Phone K5] on usb-0000:00:02.1-7/input0

Хз как дебажить. Так вот, в чём моя криворукость? ЧЯДНТ?



Последнее исправление: Azq2 (всего исправлений: 1)

Чем кросскомпилял? Бут разлочен? g_serial для дебага не особенно удобен, так как нет ни earlyprintk, ни лога загрузчика. Есть возможность подпаяться к физическому уарту?

ncrmnt ★★★★★
()

стянул с гугла ядродля msm такой же версии, каки на телефоне (2.6.x)

вангую специфичные патчи на дефолтном ядре устройства и их отсутствие в гугловском.

daemonpnz ★★★★★
()
Ответ на: комментарий от ncrmnt

GCC Linaro и андроидовским тулчайном. Конечно всё там разлочено, хоть весь нанд нулями заполняй. Знать бы где он, физический uart) Мне бы хотя бы g_serial заставить работать. Я понятия не имею, почему он не работает. Компилирую его статически, прописываю console=ttyGS0

Azq2
() автор топика

ну, начнем с того, что ты перепутал в своем же посте дефолтный конфиг и конфиг с телефона

g_serial не будет работать, он грузится очень поздно, после всех устройств. на msm клоки и pinmux делаются через RPC, RPC привязан к версии AMSS (фирмварь на ARM9).

Ищи исходники ядра для своего девайса. Или придется портировать все board-specific (для начала - файл board-*.c с настройкой памяти и gpio) в это дерево.

Если хочется потратить время на возню с msm и портирование на новое ядро - посмотри в сторону ram_console драйвера. В файле борды прописываешь адрес такой же, как в дефолтном ядре, и после ребута смотришь /proc/last_kmsg. Но раз в дефолтном её у тебя нет - используешь mmap или еще что-нибудь такое. Я настоятельно рекомендую не связываться - msm падает от любой ошибки в rpc и настройке периферии.

Если хочешь начать - ищи адреса памяти в dmesg и смотри gpio в debugfs, и начинай с того, чтобы скопировать код какой-то борды (у тебя в конфиге вообще ни одной не выбрано). дальше можешь либо патчить msm_fb, чтобы он не инициализировал ничего, либо взять любой простой фреймбуфера и прописать адрес статично (у нас в htc-linux/xanadux был какой-то драйвер https://gitorious.org/linux-on-qualcomm-s-msm/linux-msm/blobs/htc-msm-2.6.27/...).

alexst
()
Ответ на: комментарий от alexst

Если взять ядро от девайса с такой же материнкой - должно же заработать хоть как-то?) Ну теоретически :D Сейчас проверю практически.

Azq2
() автор топика
Ответ на: комментарий от Azq2

Не должно. Общего у них только процессор. А подключение периферии и разводка питания уникальна для каждой модели. Ну, с конфигом от нексуса какого-нибудь на таком же процессоре (8x55) может и запустится и упадет в панику, если версия AMSS совпадет, но не более. В твоём варианте - не запустится, там тупо не выбрано ни одной машины (mach_xxx) - потому что старый конфиг выбирает этот K5, а в новом ядре его нет - и по дефолту ничего нет.

Если исходников ядра оригинального нет - есть два пути. Первый - посмотреть в sysfs, какие gpio управляют питанием карты памяти, и портировать это в новое ядро - хотя бы загрузиться. Второй - выкинуть нафиг это барахло и купить нексус (в котором UART выведен на microusb)

alexst
()
Ответ на: комментарий от alexst

Эх, совсем я ламер. Как узнать версию AMSS? На счёт UART. Может там какие-то перемычки в microusb нужны? Гуглил - там какой-то резюк между двумя пинами стоит. Может не работает у меня из-за его отсутствия? Или всё равно?

Azq2
() автор топика
Ответ на: комментарий от Azq2

Версию AMSS - в «about» версия радио. UART, как я знаю, только в нексусах есть (и других самсунгах). Надо резистор на 523к или 619к (вроде один заставляет выводить консоль бутлодера, а другой - только ядра)

alexst
()
Ответ на: комментарий от Azq2

я не про USB, а про обычный последовательный порт на пятаках.

ncrmnt ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.