Ради спортивного интереса и повышения квалификации решел скомпилировать ядро из исходных кодов. Ядро 3.8.8 Конфиг взял от той сборки которая прилагается к моей плате sk-imx6s-dimm. Но я дро не хочет грузится ругаясь на неправильный machine id. По какой причине так происходи я выяснил. но вот где подставить правильный номер я не могу найти.
Я это сделал.. Но Starting kernel.. И тишина. Изначально я брал конфиг от рабочей версии. Ну и сообственно внес туда всего одно изменение. Это что б ядро печатало что происходит. Пишет что не совпадает номер. Когда номер принудительно подставил в инклюде то грузится отказалось вовсе.
Я это сделал.. Но Starting kernel.. И тишина. Изначально я брал конфиг от рабочей версии. Ну и сообственно внес туда всего одно изменение. Это что б ядро печатало что происходит. Пишет что не совпадает номер. Когда номер принудительно подставил в инклюде то грузится отказалось вовсе.
ну я так с ходу всего и не вспомню..
формально machid хранятся в списке: arch/arm/tools/mach-types
надо привести к общему номеру, то что дает u-boot и то, что знает ядро..
в теории можно заблокировать проверку в ядре, но я для imx этого не делал..
Я это сделал.. Но 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/что-то там/ не знаю насколько это корректно..
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 если это не прописано в шелле..
вот это выдал юбут для ядра:
[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]
dts - device tree system(structure?), новомодная хрень конфигурирования ядер, по счастью еще не касался..[/quote]
Все верно! Это я раскопал. Уперся я в другое..
Делаю так..
1) копирую конфиг рабочий системы в директорию нового ядра.
2) делаю make menuconfig ничего не меня.
3).config меняется на диске. (становится меньше.) Если просто запустить make то начинаются вопросы и опять таки меняется конфиг.
Пытаюсь разобраться с dts. СПасибо за идею.
1) копирую конфиг рабочий системы в директорию нового ядра.
2) делаю make menuconfig ничего не меня.
3).config меняется на диске. (становится меньше.) Если просто запустить make то начинаются вопросы и опять таки меняется конфиг.
всё, в СПб почти 2 ночи..
попробуйте в консоли где запускаете сборку сказать
export ARCH=arm
иначе по пункту №3 смахивает на конфигуратор исборку под х86 архитектуру..