Ник:
Пароль:

Контакты

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 » Отладочные платы » SK-iMX53
Сборка ядра
misha
Добавлено 17.10.2013 00:10 Редактировалось 17.10.2013 04:33
0
Сообщение: 1
misha
5

Пункты: 1208
Регистрация: 20.02.2013
Из: СПб
Здравствуйте.
Понадобилось пересобрать ядро после изменения настроек IOMUX. Настройки изменил, пытаюсь собирать ядро скриптами build.sh и build_with_nand_rootfs. Все вроде проходит нормально, но на выходе получаю образ размером 9.2 МБ! Исходный образ (uImage, который лежал в папке user/tftp) занимал всего 2 МБ. Т.е. почему-то у меня всегда собирается образ для safe-mode, который содержит в себе rootfs. Естественно, при попытке загрузиться через u-boot->run tftp_boot я получаю работающую систему, но с чистой минимальной FS. А настоящая FS оказывается примонтированной к /mnt/nand.

Как сделать нормальный образ?
Спасибо.

UPD. после непонятных манипуляций и подстановки конфига sk_imx535_nandboot_defconfig образ стал нормальным, но в нем не работает CAN. При обращении пишет "Cannot find device "can0"". В menuconfig'е в разделе Networking support соответствующие пункты отмечены.

UPD2. Проблема решилась заменой буквы M на * в пункте FlexCAN. Правда, почему-то с первого раза она не ставилась.
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 17.10.2013 11:43 Сообщение: 2
Jury093
4.5

Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
т.е. а вас CAN собирался драйвером (*.ko) и не подгружался в системе - или файл не перенесся в рутовую или просто не скомпилировался

Цитата
UPD2. Проблема решилась заменой буквы M на * в пункте FlexCAN. Правда, почему-то с первого раза она не ставилась.

в зависимости, от того как прописано в местном Kconfig - пункт меню может выбираться в последовательности [ ]->[M]->[*]
где:
первое - отключено
второе - сборка отдельныи модулем
третье - встроенно в ядро

есть вариант - без выбора модуля и тыпы..

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
misha
Добавлено 17.10.2013 16:13 Сообщение: 3
misha
5

Пункты: 1208
Регистрация: 20.02.2013
Из: СПб
Кстати, в инструкции к плате (Manual_SK-iMX53_V3) написано, что для пересборки системы надо запускать build.sh. При этом в нем используется конфиг imx5_updater_defconfig, который лично у меня вообще не собирался, как не собирался и imx5_defconfig. Собрать получилось только через build_with_nand_rootfs и menuconfig_nand, который в мануале назван menuconfig.sh.

Еще странная нелогичная система с переписыванием содержимого .config в /arch/arm/configs/xxx_defconfig после завершения программы настройки. Раз он называется defconfig, логично предположить, что он хранит только настройки по умолчанию - ан нет, туда пишутся все последние изменения. И в случае чего к настройкам по умолчанию уже не вернуться.
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 17.10.2013 18:47 Сообщение: 4
Jury093
4.5

Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
Кстати, в инструкции к плате (Manual_SK-iMX53_V3) написано, что для пересборки системы надо запускать build.sh. При этом в нем используется конфиг imx5_updater_defconfig, который лично у меня вообще не собирался, как не собирался и imx5_defconfig. Собрать получилось только через build_with_nand_rootfs и menuconfig_nand, который в мануале назван menuconfig.sh.

такое, к сожалению, иногда бывает..
после отладки генерится мануал с одними именами скриптов, потом скрипт меняет название, а в мане нет..
китов много, скриптов еще больше - за всем сложно уследить..
у меня привычка выработалась - смотреть содержимое критичных скриптов перед запуском..

Цитата
Еще странная нелогичная система с переписыванием содержимого .config в /arch/arm/configs/xxx_defconfig после завершения программы настройки. Раз он называется defconfig, логично предположить, что он хранит только настройки по умолчанию - ан нет, туда пишутся все последние изменения. И в случае чего к настройкам по умолчанию уже не вернуться.

хм.. даже не знаю, что сказать..
в моем понимании, механика такая:
берем исходники ядра, говорим
make bla-bla_defconfig
этим все настройки сбрасываются под bla-bla_defconfig
после make menuconfig конфигурация прописывается в .config
если .config уже существовал, то он копируется в .config.old
но чтобы затирать _defconfig.. такого не должно быть в принципе, имхо..

ЗЫ между make и bla-bla необходимо добавить ARCH= и CROSS_COMPILE= - у меня это в настройках шелла..

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
misha
Добавлено 17.10.2013 20:47 Редактировалось 17.10.2013 20:48 Сообщение: 5
misha
5

Пункты: 1208
Регистрация: 20.02.2013
Из: СПб
Цитата

у меня привычка выработалась - смотреть содержимое критичных скриптов перед запуском..


понятно, что это все не проблема для тех, кто уже в теме. Просто я делал это первый раз и из-за такой фигни потратил несколько лишних часов, чтобы во всем разобраться.


Цитата
но чтобы затирать _defconfig.. такого не должно быть в принципе, имхо..


Вот файл menuconfig_nand, см. последнюю строчку:
Код
#!/bin/sh
make ARCH=arm sk_imx535_nandboot_defconfig
sed -i '/CONFIG_CMDLINE=/d' ./.config
make ARCH=arm menuconfig
cp ./.config ./arch/arm/configs/sk_imx535_nandboot_defconfig
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 17.10.2013 21:31 Сообщение: 6
Jury093
4.5

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

может несколько жестоко звучит, но, имхо, так к лучшему..
я сам стремлюсь и тут регулярно советую - помимо заводских бинарников надо самому пройти всю цепочку генерации (из исходников) файлов системы..
смысл очень простой - приобретется навык по модификации системы под свои нужды и задачи..

Цитата
cp ./.config ./arch/arm/configs/sk_imx535_nandboot_defconfig


видимо, остался отладочный вариант сборочного скрипта, нигде такого не встречал..

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
lexx666
Добавлено 18.10.2013 10:27 Редактировалось 18.10.2013 10:32 Сообщение: 7
lexx666
3.83

Пункты: 11780
Регистрация: 28.07.2011
Пол: Мужчина
Из: Барнаул
мои скрипты на основе imx6q, для imx53 думаю аналогично

build.sh
Цитата
#!/bin/sh
cross_compile=/opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/arm-fsl-linux-gnueabi-
make -j6 ARCH=arm CROSS_COMPILE=$cross_compile uImage
cp arch/arm/boot/uImage uImage


menuconfig.sh
Цитата
#!/bin/sh
cross_compile=/opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/arm-fsl-linux-gnueabi-
make ARCH=arm menuconfig CROSS_COMPILE=$cross_compile


module_install.sh
Цитата

#!/bin/sh
cross_compile=/opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/arm-fsl-linux-gnueabi-
rm modules -r
make -j4 ARCH=arm CROSS_COMPILE=$cross_compile INSTALL_MOD_PATH=modules modules
make -j4 ARCH=arm CROSS_COMPILE=$cross_compile INSTALL_MOD_PATH=modules modules_install


clean.sh
Цитата
#!/bin/bash
cross_compile=/opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/arm-fsl-linux-gnueabi-
make ARCH=arm CROSS_COMPILE=$cross_compile clean


Для safe_mode лично у меня есть другой config...
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Отладочные платы » SK-iMX53