Ник:
Пароль:

Контакты

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-AT91SAM9G45/M10
kernel + rootfs на usb flash
atmega
Добавлено 03.02.2011 12:34 Редактировалось 03.02.2011 12:37
0
Сообщение: 1
atmega
0

Пункты: 1055
Регистрация: 16.01.2011
Пол: Мужчина
Из: Пермь
Как и сказал Jury093, создаю отдельную тему под этот вопрос...
Итак, нужно ядро и корневую ФС записать на юсб-флешку (первый раздел - под ядро, второй - под ФС, оба ext2), и загружаться с нее.

Что я сделал:

Сначала нужно включить поддержку ext2 в У-буте. В файле /home/user/src/u-boot-2010.09/include/configs/at91sam9m10g45ek.h раскомментировал строчку #define CONFIG_CMD_EXT2 1.
Далее запустил в папке /home/user/src/u-boot-2010.09/ запустил скрипт make_config, а затем make_bin.
Обновил У-бут на плате по тфтп.
Далее прерываю загрузку платы, захожу в У-бут.
(ядро лежит в первом разделе флешки, которая видится как USB device 0 при вводе команды usb dev).
В У-буте ввожу usb reset; ext2load usb 0:1 70400000 zlinux; bootm 70400000.
И пошло-поехало… Ядро грузится:
Loading file "zlinux" from usb device 0:1 (usbda1)
В конце концов, ядро загружается, распаковывается, цепляет корневуху на втором разделе флешки и все нормально работает.
Что меня смутило? То, что на строчке Loading file "zlinux" from usb device 0:1 (usbda1) У-бут «висит» достаточно долго (загрузка НАМНОГО дольше, чем если грузить ядро из нанда). При этом флешка отчаянно мигает. Весьма странно… Файл-то всего занимает 2 Мб. Нормальна ли колоссальная задержка при чтении? Чем она может быть вызвана?

З.Ы. Скорей всего, все дело в медленной работе самого У-бута с ext2... Если я прав, то можно ли как-то грузить ядро с юсб-флешки, не привязываясь к какой-либо ФС?
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 03.02.2011 12:46 Сообщение: 2
Jury093
4.5

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

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

Цитата
З.Ы. Скорей всего, все дело в медленной работе самого У-бута с ext2... Если я прав, то можно ли как-то грузить ядро с юсб-флешки, не привязываясь к какой-либо ФС?

видимо попробовать задействовать команду usbboot
с утра порылся в сорцах, пробежался по инету - как-то очень туманно.. связано с неким словом raw, но как это сделать, пока не придумал..
на сайте юбута есть невнятный тред тыц

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

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

более вероятно, что затык при работе с USB. видимо используется какой-то режим, предположим трансфер мелкими пакетами..
повторил все написанное в первом сообщение - ядро грузилось секунд 20 (2.4МБ) с саташного винчестера..

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 03.02.2011 14:17 Сообщение: 4
Jury093
4.5

Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
хм.. а вот фигушки..
включил поддержку FAT
нарезал на винте раздел, отформатировал под vfat
положил ядро
Код
U-Boot> fatload usb 0 70400000 zlinux
reading zlinux

2402849 bytes read

~5 секунд на загрузку

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

Пункты: 1055
Регистрация: 16.01.2011
Пол: Мужчина
Из: Пермь
У меня как-то все не так безоблачно: с ext2 раздела ядро грузится где-то 1 мин 5 с... С fat32 раздела уже гораздо быстрее (~ 7 с). Но есть одно "но"
В общем, с fat'ом у меня облом на ВМ с Дебианом. Через GParted нельзя отформатировать под fat. Через командную строку mkfs.vfat /dev/sda1 ругается (mkfs.vfat: command not found). При этом mkfs.ext2 /dev/sda1 все делает нормально.
Решил флешку поэтому отформатировать в Виндовс (задал фат32), потом распаковал корневую ФС, залил в папку /boot флешки файл ядра.
Добавил в У-бут поддержку fat, подкрутил bootargs, ядро с флешки загрузилось, но вот... Процесс загрузки всей системы обрывается в конце на этом :
Код
Waiting for root device /dev/sda1...
usb 1-2: new high speed USB device using atmel-ehci and address 2
scsi0 : usb-storage 1-2:1.0
scsi 0:0:0:0: Direct-Access JetFlash TS128MJF2B 2.00 PQ: 0 ANSI: 2
sd 0:0:0:0: [sda] 255232 512-byte logical blocks: (130 MB/124 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] Assuming drive cache: write through
sda: sda1
sd 0:0:0:0: [sda] Assuming drive cache: write through
sd 0:0:0:0: [sda] Attached SCSI removable disk
VFS: Mounted root (vfat filesystem) on device 8:1.
Freeing init memory: 132K
Kernel panic - not syncing: No init found. Try passing init= option to kernel. See Linux Documentation/init.txt for guidance.
[<c002f504>] (unwind_backtrace+0x0/0xf4) from [<c003b860>] (panic+0x58/0x1b0)
[<c003b860>] (panic+0x58/0x1b0) from [<c0029580>] (init_post+0x94/0xb4)
[<c0029580>] (init_post+0x94/0xb4) from [<c0008938>] (kernel_init+0x108/0x14c)
[<c0008938>] (kernel_init+0x108/0x14c) from [<c002ae10>] (kernel_thread_exit+0x0/0x8)

Перекомпилировал ядро с опцией MSDOS fs support (хотя должно работать и без этого, т.к. раньше система читала/писала на фат32 флешку, отформатированную в Виндовс, правда, эта флешка монтировалась к корневой ФС).
У-бут взял ядро с флешки, но процесс запуска всей системы опять оборвался в конце, выдав те же самые сообщения.
Тут дело в том, что отформатированный через Виндовс под фат32 раздел в принципе не возьмется ядром при старте... Или же причина в ином?
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 03.02.2011 23:45 Сообщение: 6
Jury093
4.5

Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
хм.. очень много букоф.. поделим интеграл на части..
1. первое простейшее, что приходит в голову - под линуксом пилите флешку посредством fdisk на два primary, первый раздел под размер ядра или больше, второй все остальное, у первого меняете тем же fdisk тип партиции (я ставил кажется 0x0e). Выход с сохранением. потом форматируете второй раздел под Ext2/Ext3. Потом суете флешку в Уындовз и форматируете первый раздел в FAT16.. результатом хлопот будет пиленная на два раздела флешечка:
sda1 (vfat) туда складываете ядро
sda2 (ext2) сюда распаковываете свою рутовую
2. вариант сложнее - выясните в каком пакете вашего дистрибутива линукса водится mkfs.vfat (для дебьяна это тыц
) и поставьте его, тогда не надо будет напрягать уындовз
и кстати:
Цитата
Перекомпилировал ядро с опцией MSDOS fs support

проконтролируйте командой mount как монтируется этот раздел..
3. раскладывать рутовую под раздел FAT/FAT32 плохая идея, сим-линки и права пойдут по женской линии..

hint штатными средствами Windows нельзя распилить флешку, только единый том..

зы в вышеприведенном логе не хватает цитирования строки загрузки

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
Valentinus
Добавлено 04.02.2011 07:23 Редактировалось 04.02.2011 07:24 Сообщение: 7
Valentinus
4

Пункты: 2138
Регистрация: 23.01.2010
Пол: Мужчина
извините что встреваю с неумным вопросом: а почему такая скорость высокая скорость загрузки (5-7 сек)? потому что там USB-HiSpeed который в отличие от USB1.0 (в платах с 9260 и XE512) быстрее даже чем NAND? а скорость загрузки с SD-карты на этой плате тоже будет такой высокой?
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 04.02.2011 08:52 Сообщение: 8
Jury093
4.5

Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
это высокая?! да оно тупит по-черному.. в юбуте слоеный пирог выдранных кусков из линукса и усеченных драйверов работы с железом. зачастую по принципу - заработало и достаточно..
вот как юбут видит железяку:
Код
U-Boot> usb tree

Device Tree:
1 Hub (12 Mb/s, 0mA)
| OHCI Root Hub
|
+-2 Mass Storage (12 Mb/s, 2mA)
| JMicron USB to ATA/ATAPI Bridge 070915BB0B00

это не High это Full speed режим, Hi включается в линухе..
не забываем что речь о 9g45 а это 400МГц против 9260/хе512 с 200..
о скорости загрузки с SD могут сказать Саша или Павел, мне пока неведомо..

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
atmega
Добавлено 04.02.2011 12:06 Редактировалось 04.02.2011 12:10 Сообщение: 9
atmega
0

Пункты: 1055
Регистрация: 16.01.2011
Пол: Мужчина
Из: Пермь
Цитата
а почему такая скорость высокая скорость загрузки (5-7 сек)?

Речь идет только о скорости загрузки ядра У-бутом с носителя в оперативку, т.е. 7 с проходят до того момента, когда появятся сообщения:
Код
2149195 bytes read
## Booting kernel from Legacy Image at 70400000 ...

Даже учитывая это, скорость достаточно низка...

Цитата
потому что там USB-HiSpeed который в отличие от USB1.0 (в платах с 9260 и XE512) быстрее даже чем NAND?

У меня скорость загрузки с нанда все-таки выше (в У-буте нет HighSpeed)

Цитата
а скорость загрузки с SD-карты на этой плате тоже будет такой высокой?

не пробовал еще загружаться с SD
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 04.02.2011 15:38 Сообщение: 10
Jury093
4.5

Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
наверно здесь уместно написать:
попробовал проверить скорость чтения с U-Boot из SD карточки - субъективно одинаково получилось
что с первого раздела (vfat)
что со второго раздела (ext2)
бинарник считался одинаково шустро
т.о. пока осталась невыясненной аномально низкая скорость USB-EXT2..

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Отладочные платы » SK-AT91SAM9G45/M10