Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru

Способы оплаты

User Info


Добро пожаловать,
Guest

Регистрация или входРегистрация или вход
Потеряли пароль?Потеряли пароль?

Ник:
Пароль:

ПользователейПользователей:1
Поисковых ботовПоисковых ботов:3
ГостейГостей:1

ОбновитьПодробнееВсегоВсего:5
Форум » starterkit.ru » Embedded Linux
Требуется помощь... Где определена machine id?
kos
Добавлено 08.05.2014 22:18
0
Сообщение: 1
kos
0

Пункты: 2049
Регистрация: 04.04.2014
Ради спортивного интереса и повышения квалификации решел скомпилировать ядро из исходных кодов. Ядро 3.8.8 Конфиг взял от той сборки которая прилагается к моей плате sk-imx6s-dimm. Но я дро не хочет грузится ругаясь на неправильный machine id. По какой причине так происходи я выяснил. но вот где подставить правильный номер я не могу найти.
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 08.05.2014 23:36 Сообщение: 2
Jury093
4.5

Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
Но я дро не хочет грузится ругаясь на неправильный machine id. По какой причине так происходи я выяснил. но вот где подставить правильный номер я не могу найти.

для начала надо дефконфиг засетапить, типа:
make ARCH=arm что-то-там-imx_defconfig
конфиги лежат в arch/arm/configs

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
kos
Добавлено 09.05.2014 00:08 Сообщение: 3
kos
0

Пункты: 2049
Регистрация: 04.04.2014
Цитата
Цитата
Но я дро не хочет грузится ругаясь на неправильный machine id. По какой причине так происходи я выяснил. но вот где подставить правильный номер я не могу найти.

для начала надо дефконфиг засетапить, типа:
make ARCH=arm что-то-там-imx_defconfig
конфиги лежат в arch/arm/configs


Я это сделал.. Но Starting kernel.. И тишина. Изначально я брал конфиг от рабочей версии. Ну и сообственно внес туда всего одно изменение. Это что б ядро печатало что происходит. Пишет что не совпадает номер. Когда номер принудительно подставил в инклюде то грузится отказалось вовсе.
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 09.05.2014 00:22 Сообщение: 4
Jury093
4.5

Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
Я это сделал.. Но Starting kernel.. И тишина. Изначально я брал конфиг от рабочей версии. Ну и сообственно внес туда всего одно изменение. Это что б ядро печатало что происходит. Пишет что не совпадает номер. Когда номер принудительно подставил в инклюде то грузится отказалось вовсе.

ну я так с ходу всего и не вспомню..
формально machid хранятся в списке:
arch/arm/tools/mach-types
надо привести к общему номеру, то что дает u-boot и то, что знает ядро..
в теории можно заблокировать проверку в ядре, но я для imx этого не делал..

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
kos
Добавлено 09.05.2014 00:31 Сообщение: 5
kos
0

Пункты: 2049
Регистрация: 04.04.2014
Цитата
Цитата
Я это сделал.. Но Starting kernel.. И тишина. Изначально я брал конфиг от рабочей версии. Ну и сообственно внес туда всего одно изменение. Это что б ядро печатало что происходит. Пишет что не совпадает номер. Когда номер принудительно подставил в инклюде то грузится отказалось вовсе.

ну я так с ходу всего и не вспомню..
формально machid хранятся в списке:
arch/arm/tools/mach-types
надо привести к общему номеру, то что дает u-boot и то, что знает ядро..
в теории можно заблокировать проверку в ядре, но я для imx этого не делал..


U-Boot 2013.10 (Dec 11 2013 - 01:28:29)

CPU: Freescale i.MX6SOLO rev1.1 at 792 MHz
Reset cause: WDOG
Board: Starterkit
DRAM: 512 MiB
Setup enet clock OK
MMC: FSL_SDHC: 0, FSL_SDHC: 1
*** Warning - bad CRC, using default environment

In: serial
Out: serial
Err: serial
Net: FEC
Hit any key to stop autoboot: 0
mmc0(part 0) is current device
8464088 bytes read in 492 ms (16.4 MiB/s)
## Booting kernel from Legacy Image at 12000000 ...
Image Name: Linux
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 8464024 Bytes = 8.1 MiB
Load Address: 10008000
Entry Point: 10008000
Verifying Checksum ... OK
Loading Kernel Image ... OK

Starting kernel ...


Error: unrecognized/unsupported machine ID (r1 = 0x00000eb9).

Available machine support:

ID (hex) NAME
ffffffff Freescale i.MX6 Quad (Device Tree)
ffffffff ARM-Versatile Express
000008e0 ARM-Versatile Express

Please check your kernel config and/or bootloader.


U-Boot 2013.10 (Dec 11 2013 - 01:28:29)

CPU: Freescale i.MX6SOLO rev1.1 at 792 MHz
Reset cause: WDOG
Board: Starterkit
DRAM: 512 MiB
Setup enet clock OK
MMC: FSL_SDHC: 0, FSL_SDHC: 1
*** Warning - bad CRC, using default environment

In: serial
Out: serial
Err: serial
Net: FEC
Hit any key to stop autoboot: 0
mmc0(part 0) is current device
8464088 bytes read in 492 ms (16.4 MiB/s)
## Booting kernel from Legacy Image at 12000000 ...
Image Name: Linux
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 8464024 Bytes = 8.1 MiB
Load Address: 10008000
Entry Point: 10008000
Verifying Checksum ... OK
Loading Kernel Image ... OK

Starting kernel ...


Error: unrecognized/unsupported machine ID (r1 = 0x00000eb9).

Available machine support:

ID (hex) NAME
ffffffff Freescale i.MX6 Quad (Device Tree)
ffffffff ARM-Versatile Express
000008e0 ARM-Versatile Express

Please check your kernel config and/or bootloader.

Это то что оно выдает.. Вообщем-то я пытался обхитрить ядро. просто изменив одну цифру на другую но это не привело к желаемому результату. Ядро ничего не сказало по повисло тоже.

Возможно оно просто не смогло найти драйвере. Не уверен что я их правильно положил. Я их не заменил а просто положи рядом по аналогичному пути
Например если предыдущее ядро было 3.2.1/что-то там/ то новые я поло жил по 3.8.8/что-то там/ не знаю насколько это корректно..
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 09.05.2014 00:41 Сообщение: 6
Jury093
4.5

Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
вот это выдал юбут для ядра:
Цитата
Error: unrecognized/unsupported machine ID (r1 = 0x00000eb9).

а вот это понимает ядро:
Код
ID (hex) NAME
ffffffff Freescale i.MX6 Quad (Device Tree)
ffffffff ARM-Versatile Express
000008e0 ARM-Versatile Express

надо или в dts правильно описать номер
или разбираться с defconfig

если я правильно помню ритуал:
make bububu_defconfig
make menuconfig (выход с записью)
потом подменяем .config (файл с точкой в начале имени)
еще раз make menuconfig (выход с записью)

после make добавить ARCH=arm если это не прописано в шелле..

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
kos
Добавлено 09.05.2014 00:53 Сообщение: 7
kos
0

Пункты: 2049
Регистрация: 04.04.2014
Цитата
вот это выдал юбут для ядра:
[quote]Error: unrecognized/unsupported machine ID (r1 = 0x00000eb9).

а вот это понимает ядро:
Код
ID (hex) NAME
ffffffff Freescale i.MX6 Quad (Device Tree)
ffffffff ARM-Versatile Express
000008e0 ARM-Versatile Express

надо или в dts правильно описать номер
или разбираться с defconfig
[/quote]

А что такое dst?
[/quote]
если я правильно помню ритуал:
make bububu_defconfig
make menuconfig (выход с записью)
потом подменяем .config (файл с точкой в начале имени)
еще раз make menuconfig (выход с записью)

после make добавить ARCH=arm если это не прописано в шелле..[/quote]

собственно так и делал..
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 09.05.2014 01:07 Сообщение: 8
Jury093
4.5

Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
собственно так и делал..

ничего пока добавить не могу - ищите где ошиблись..
смотрим в hola_pc_defconfig:
Код
CONFIG_MACH_MX6Q_SABRELITE=y

потом в mach-types
Код
mx6q_sabrelite MACH_MX6Q_SABRELITE MX6Q_SABRELITE 3769

переведите 3769 в хекс, получите EB9

разумеется в .config тоже есть строка:
Код
CONFIG_MACH_MX6Q_SABRELITE=y


dts - device tree system(structure?), новомодная хрень конфигурирования ядер, по счастью еще не касался..

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
kos
Добавлено 09.05.2014 01:54 Сообщение: 9
kos
0

Пункты: 2049
Регистрация: 04.04.2014
Цитата
[quote]собственно так и делал..

ничего пока добавить не могу - ищите где ошиблись..
смотрим в hola_pc_defconfig:
Код
CONFIG_MACH_MX6Q_SABRELITE=y

потом в mach-types
Код
mx6q_sabrelite MACH_MX6Q_SABRELITE MX6Q_SABRELITE 3769

переведите 3769 в хекс, получите EB9

разумеется в .config тоже есть строка:
Код
CONFIG_MACH_MX6Q_SABRELITE=y


dts - device tree system(structure?), новомодная хрень конфигурирования ядер, по счастью еще не касался..[/quote]

Все верно! Это я раскопал. Уперся я в другое..
Делаю так..
1) копирую конфиг рабочий системы в директорию нового ядра.
2) делаю make menuconfig ничего не меня.
3).config меняется на диске. (становится меньше.) Если просто запустить make то начинаются вопросы и опять таки меняется конфиг.
Пытаюсь разобраться с dts. СПасибо за идею.
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 09.05.2014 02:05 Сообщение: 10
Jury093
4.5

Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
1) копирую конфиг рабочий системы в директорию нового ядра.
2) делаю make menuconfig ничего не меня.
3).config меняется на диске. (становится меньше.) Если просто запустить make то начинаются вопросы и опять таки меняется конфиг.

всё, в СПб почти 2 ночи..
попробуйте в консоли где запускаете сборку сказать
Код
export ARCH=arm

иначе по пункту №3 смахивает на конфигуратор исборку под х86 архитектуру..

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Embedded Linux