Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru
Партнеры:
otladka.com.ua - г.Киев

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

User Info


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

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

Ник:
Пароль:

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

ОбновитьПодробнееВсегоВсего:3
Форум » starterkit.ru » Embedded Linux
repairman (Guest)
Добавлено 03.02.2009 12:31 Редактировалось 03.02.2009 12:31 Сообщение: 21
repairman (Guest)

Смотря до какого места загрузилась....

Если Вы увидели приглашение shell, а не сообщение о панике ядра - то rootfs у Вас все же загружена... Откуда она взялась можно гадать... Осталась от предыдущей загрузки, загрузилась из dataflash при запуске uboot, а Вы просто не заметили... Чудес не бывает... Одного ядра мало, 100%...

Не понял как связаны mmc и ethernet кабель.... mmc чудно форматируется, пишется и т.п. через стандартный кард-ридер за 200 руб... А кабель все-равно какой... У micrel'а auto-MDI/MDIX, он сам найдет верные пары в кабеле и переключится, если это нужно...

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Отредактированно repairman 03.02.2009 г. в 12:45:36
Спуститься к концу Подняться к началу
sasamy (Guest)
Добавлено 03.02.2009 13:48 Редактировалось 03.02.2009 13:48 Сообщение: 22
sasamy (Guest)

Цитата
Чудес не бывает...


Бывают :) Название этому чуду initramfs. Сжатый образ фс слинкован с ядром и представляют они единый файл. Очень удобно. Хотя это уже лирическое отступления а вообще в вашем случае repairman прав - ядро ничего само не копирует, этим занимается загрузчик и образ каким то образом все попал в то место где его ищет ядро.
Спуститься к концу Подняться к началу
Tyug (Guest)
Добавлено 03.02.2009 13:56 Редактировалось 03.02.2009 13:56 Сообщение: 23
Tyug (Guest)

Загрузилась как обычно как просто плату воткнуть в ком порт и включить ничего не делая.
Я предположил что команда bootm позволяет загружать rootfs с датафлэш по умолчанию, но потом попробовал грузить u-boot'ом свою rootfs (я доюбавил туда несколько бинарников), значит если бы u-boot грузил дефолтную rotfs то своих добавленных бинарников я бы не увидел.

А про mmc и кабель, я к тому что через кабель всё грузить в оперативку, чтоб флэшку не перетыкать.
Спуститься к концу Подняться к началу
repairman (Guest)
Добавлено 03.02.2009 14:23 Редактировалось 03.02.2009 14:23 Сообщение: 24
repairman (Guest)

Цитата

А про mmc и кабель, я к тому что через кабель всё грузить в оперативку, чтоб флэшку не перетыкать.


Текущая кофигурация платы сейчас подразумевает некую автономность... если эта автономность не нужна, то можно все построить совсем по другому... например, с NFS загружатся... без возни с mmc, dataflash, rootfs и пр.

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Отредактированно repairman 03.02.2009 г. в 14:25:57
Спуститься к концу Подняться к началу
Tyug (Guest)
Добавлено 04.02.2009 00:09 Редактировалось 04.02.2009 00:09 Сообщение: 25
Tyug (Guest)

При попытке подключения ethernet кабеля к плате и загрузке u-boot'ом пишет No link. Кабель у меня патч и видимо сетевуха на ноутбуке не умеет определять автоматом назначение проводков, либо кабель дохлый... При подключении сетевого кабеля от локальной сети плата начинает весело моргать лампочками а при подключении к ноуту ни ноут ни плата не реагириует
Спуститься к концу Подняться к началу
sasamy (Guest)
Добавлено 04.02.2009 00:48 Редактировалось 04.02.2009 00:48 Сообщение: 26
sasamy (Guest)

Я не парился по этому поводу - купил метр кабеля, два наконечника rj-45, зашел на пинаутс.ру, с одной стороны проводки запихал по левой схеме с другой по правой :) взял плоскую отвертку тонкую и аккуратно надавил на каждую из ламелей - получил нуль-хаб :)
Спуститься к концу Подняться к началу
Tyug (Guest)
Добавлено 05.02.2009 16:16 Редактировалось 05.02.2009 16:16 Сообщение: 27
Tyug (Guest)

sasamy, Вы писали
Цитата
Если речь об usb,mmc,sd флэше то в этом случае ядру передается параметр root=/dev/sda1, /dev/mmcblk0p1 например - это говорит ядру где нужно искать корневую фс и оно ее монтирует само.

Попробовал в конфиге ядра поставить
root=/dev/sda1 rw console=ttyS0, 115200 mem=32M
и
root=/dev/mmcblk0p1 rw console=ttyS0, 115200 mem=32M
Плата вывалилась в кернел паник
VFS: Cannot open root device "sda1"or unknown-block(2,0)
Видимо в ядре где то нужно включить поддержу драйвера at91_mci, по дефолту он грузится как модуль с файловой системы, значит и загрузиться не может раз он на файловой системе. Не могли бы вы подсказать куда копать, я полагаю его линковать с ядром?
Спуститься к концу Подняться к началу
sasamy (Guest)
Добавлено 05.02.2009 16:31 Редактировалось 05.02.2009 16:31 Сообщение: 28
sasamy (Guest)

Цитата
Видимо в ядре где то нужно включить поддержу драйвера at91_mci

Да - его нужно линковать статически. Об этом уже много раз тут говорили... Хотя если вы про sda1 - это usb flash - для нее at91_mci не нужен. Вообще с учетом этого
http://www.starterkit.ru/new/index.php?name=Forums&op=showtopic&id=223#1
это можно делать смело - раньше нужно было делать подгружаемым модулем для определения sd/mmc.
Спуститься к концу Подняться к началу
Tyug (Guest)
Добавлено 06.02.2009 00:05 Редактировалось 06.02.2009 00:05 Сообщение: 29
Tyug (Guest)

Да я и mmc и usb пробовал, везде вываливается с ошибкой аналогичной. Если с mmc понятно что она не должна загрузиться то с usb не очень, видимо где то какой то скрипт надо подправить, автомонтирования чтоли, что то такое мне кажется.
Спуститься к концу Подняться к началу
repairman (Guest)
Добавлено 06.02.2009 11:39 Редактировалось 06.02.2009 11:39 Сообщение: 30
repairman (Guest)

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

Обнаружение ядром SD/MMC с верной файловой системой и назначением раздела p1 - выглядит как-то так:

Код

...
TCP cubic registered
NET: Registered protocol family 17
mmc0: host does not support reading read-only switch. assuming write-enable.
mmc0: new SD card at address b368
mmcblk0: mmc0:b368 UD 968 MiB
mmcblk0: p1
IP-Config: Complete:
...


Обнаружение USB флешки - как-то так:
Код

...
usb 1-1: new full speed USB device using at91_ohci and address 2
usb 1-1: configuration #1 chosen from 1 choice
scsi 0:0:0:0: Direct-Access JetFlash TS1GJF168 0.00 PQ: 0 ANSI: 2
sd 0:0:0:0: [sda] 2048000 512-byte hardware sectors: (1.04 GB/1000 MiB)
sd 0:0:0:0: [sda] Write Protect is off
sd 0:0:0:0: [sda] Assuming drive cache: write through
sd 0:0:0:0: [sda] 2048000 512-byte hardware sectors: (1.04 GB/1000 MiB)
sd 0:0:0:0: [sda] Write Protect is off
sd 0:0:0:0: [sda] Assuming drive cache: write through
sda:<7>usb-storage: queuecommand called
sda1
sd 0:0:0:0: [sda] Attached SCSI removable disk
...


Иногда требуется задержка монтирования rootfs. Например, через параметр ядру rootdelay=5 .... заставляет ядро делать паузу 5 секунд перед монтированием rootfs... мне это еще не понадобилось....

В первом случае как рут ядру нужно указать /dev/mmcblk0p1, во втором /dev/sda1
Эксперименты с rootfs очень удобно проводить в QEMU...

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Отредактированно repairman 06.02.2009 г. в 12:04:08
Спуститься к концу Подняться к началу
Форум » starterkit.ru » Embedded Linux