Ник:
Пароль:

Контакты

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

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

User Info


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

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

Ник:
Пароль:

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

ОбновитьПодробнееВсегоВсего:4
Форум » starterkit.ru » Отладочные платы » SK-MAT91SAM9G45/M10
загрузка с SD и Kernel panic
buletz
Добавлено 05.12.2011 01:52
0
Сообщение: 1
buletz
3

Пункты: 5920
Регистрация: 16.11.2011
Пол: Мужчина
Пытаюсь запустить плату с SD карточки с отключенным NAND (отключен джампером), однако возникли проблемы.

1. "Заводской" вариант:

Если на SD флешку залить файлы из папки
\SK-MAT91SAM9G45\Images\SD_boot\
которая идет в комплекте с платой SK-MAT91SAM9G45
то плата стартует ОК, однако почему-то в safe mode:

Код
System loaded in safe mode (rootfs in memory).


ВОПРОС: это нормально? Почему она стартует в safe режиме, а не в нормальном?

2. Вариант "пробуем сами"

Хочу запустить плату с HDMI. Согласно инструкции надо пересобрать ядро с дровами для HDMI.

За основу берем тот конфиг ядра который лежит изначально в VMWare образе, запускаем make_menuconfig,
добавляем дрова HDMI.
- запускаем build_system.
Полученные файлы копируем поверх старых на SD:

mat91_sd.bin
rootfs_mat9g45.tgz
zlinux

Вставляем карточку в плату, жмем резет, загрузка прекращается со следующими строчками:

Код
UBIFS error (pid 1): ubifs_get_sb: cannot open "ubi0:nandfs", error -19
VFS: Cannot open root device "ubi0:nandfs" or unknown-block(0,0)
Please append a correct "root=" boot option; here are the available partitions:
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
[<c002f504>] (unwind_backtrace+0x0/0xf4) from [<c003b860>] (panic+0x58/0x1b0)
[<c003b860>] (panic+0x58/0x1b0) from [<c0008f18>] (mount_block_root+0x104/0x2ac)
[<c0008f18>] (mount_block_root+0x104/0x2ac) from [<c0009208>] (prepare_namespace+0xdc/0x1cc)
[<c0009208>] (prepare_namespace+0xdc/0x1cc) from [<c0008934>] (kernel_init+0x104/0x14c)


Посоветуйте, с чего начать диагностику? Уже 3 дня ломаю голову
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 05.12.2011 02:27 Сообщение: 2
sasamy
4.71

Пункты: 83540
Регистрация: 14.08.2009
Цитата

Если на SD флешку залить файлы из папки
\SK-MAT91SAM9G45\Images\SD_boot\
которая идет в комплекте с платой SK-MAT91SAM9G45
то плата стартует ОК, однако почему-то в safe mode:


Слова safe mode в данном случае роли не играют, размер ядра как можете увидеть 5,8 М - это ядро + корневая фс (initramfs), так что это нормально, замените at91_sd.bin своим ядром и будет так как вам нужно (только переименуйте в at91_sd.bin)

Цитата

Вставляем карточку в плату, жмем резет, загрузка прекращается со следующими строчками:

[code]UBIFS error (pid 1): ubifs_get_sb: cannot open "ubi0:nandfs", error -19
VFS: Cannot open root device "ubi0:nandfs" or unknown-block(0,0)


Если вы грузитесь с SD то размыкаете перемычку NAND_CS, внимание вопрос - где ядро должно искать nand flash если у нее отключен CS :) Впринципе можно сразу как появятся первые сообщения от ядра быстро замкнуть ее, но второй вопрос возникает - зачем грузиться с SD а корневую держать в NAND ?
Так что вам нужно вернуться сюда
Цитата

За основу берем тот конфиг ядра который лежит изначально в VMWare образе, запускаем make_menuconfig,
добавляем дрова HDMI.


и изменить командную строку, чтобы указать в качестве корневой фс раздел с SD.
Спуститься к концу Подняться к началу
Персональная информация
buletz
Добавлено 07.12.2011 00:18 Редактировалось 07.12.2011 00:18 Сообщение: 3
buletz
3

Пункты: 5920
Регистрация: 16.11.2011
Пол: Мужчина
спасибо за подсказки стартовал с SD успешно.
делал так:

1. в make_menuconfig выставил
Код
console=ttyS0,115200 rw rootwait root=/dev/mmcblk0p2 rootfstype=ext2

запустил make_kernel и собрал ядро* (см. замечание по этому поводу ниже в п.3)

2. отформатил флешку:
- первая партиция FAT32
туда залил BOOT.BIN и mat91_sd.bin
- вторая партиция EXT2
туда залил rootfs_mat9g45.tgz и распаковал в корне

всё, плата стартует с отключенным NANDом с SD карточкой успешно.


3. Замечание по поводу сборки make_kernel:

в vmware образе который мы скачали с фтп изготовителя как приложение к плате MAT91SAM9G45, по умолчанию выставлен путь:

Код
printenv PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

Соответственно make_kernel не работает и выдает ошибку
./make_kernel: line 9: arm-none-linux-gnueabi-objcopy: command not found

Проблема решается добавлением в путь нужной папки, так:
Код
PATH=$PATH:"/usr/local/cross-gcc/arm-2007q1/bin"
export PATH
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Отладочные платы » SK-MAT91SAM9G45/M10