Добрый день !
Извините за простейший вопрос, я только начинаю разбираться с Linux.
Имеется указанная в теме плата. Передо мной она побывала у коллеги, который перенастроил U-Boot, в результате теперь плата не грузится (сразу после покупки все было нормально).
Если хочешь вернуть плату к состоянию только что купленной, то на диске в комплекте, по идее, имеются собранные бинарники u-boot и ядра с пришитым к нему rootfs. Залей их через sam-ba и дело с концом. Весь процесс описан в мануале.
Так, давай по порядку.
Диск который шёл в комплекте имеется?
Manual оттуда прочитан?
Если нету диска, или в мануале не можешь ничего найти про SAM-BA качаешь это: http://starterkit.ru/html/doc/Manual_SK-AT91SAM9260-SIMXXX.pdf
Читаешь раздел номер 7 до полного просветления, там всё просто. Хоть дока по AT91SAM9260, но принцип тот же.
В данный момент у тебя ниченго не грузится, ибо параметры ядра выставлены для загрузки корневой файловой системы по NFS. Весь вопрос в том используется ли штатное ядро с прицепленым rootfs, либо кастомное.
Попробуй bootargs тупо сменить на
Диск есть. Мануала конкретно для этой платы там нет. Есть несколько мануалов от АТМЕЛа. Толку от них в тысячу раз меньше, чем от того мануала, что упомянули вы (на самом деле, я нашел и прочитал его еще вчера вечером). Неужели разработчику платы так трудно было написать нечто подобное именно для этой платы ? Ну да ладно ...
Прочитана куча мануалов, изучен форум на этом сайте и проч. Ничего не помогает. В вашем мануале мне не все понятно, посему еще разбираюсь.
Пробовал починить плату, следуя вот этому руководству:
Все проходит нормально, но проблема не решается. Такое впечатление, что эти настройки хранятся в Dataflash, на которую мои действия не влияют. Косвенным подтверждением этой теории служит тот факт, что при ее отключении (удалении перемычки J7) Linux все же загружается, поскольку U-Boot не может прочитать заведомо некорректные настройки. Продолжаю разбираться, спасибо за советы ...
Ух, ды зачем же тебе с наскоку Debian?
Если U-Boot не сможет прочесть область U-Boot Env, то он использует настройки по-умолчанию.
И из объяснения выше не понятно ничего. Что не работает конкретно? И вообще, логи загрузки в студию.
Первая приведённая ссылка описывает восстановление загрузчика в nand, а не в dataflash, с которого плата грузится по умолчанию.
DRAM: 64 MB
NAND: NAND device: Manufacturer ID: 0xec, Chip ID: 0xda ( NAND 256MiB 3,3V 8-bit)
NAND: Pagesize: 2048, Blocksize: 128K, OOBsize: 64
256 MiB
DataFlash:AT45DB321
Nb pages: 8192
Page Size: 528
Size= 4325376 bytes
Logical address: 0xC0000000
Area 0: C0000000 to C0003FFF (RO)
Area 1: C0004000 to C0007FFF
Area 2: C0008000 to C0037FFF (RO)
Area 3: C0038000 to C041FFFF
In: serial
Out: serial
Err: serial
KS8721 PHY Detected
ETH: 100M Full Duplex.
End of Autonegociation
Hit any key to stop autoboot: 0
## Booting image at 20400000 ...
Image Name: Linux Kernel Image
Image Type: ARM Linux Kernel Image (gzip compressed)
Data Size: 1422822 Bytes = 1.4 MB
Load Address: 20008000
Entry Point: 20008000
Verifying Checksum ... OK
Uncompressing Kernel Image ... OK
kovigor, ну здесь всё весьма очевидно.
Так как ты провернул процедуру восстанволения для NAND-а, а не для DataFlash, то ты и видишь всё как было.
Камни серии AT91 ищут загрузчик в следующем порядке:
1. DataFlash на CS0
2. DataFlash на CS1
3. NAND Flash
4. Запускает встроенный в процессор загрузчик RomBoot
Твои варианты действий:
1. Отключить Dataflash, что б загрузка пошла с NAND
2. Просто затри DataFlash через SAM-BA
3. Залей правильные образы bootstrap, u-boot и ядра на DataFlash
перед тем, как тереть и шить имеет смысл попробовать обойтись малой кровью..
включаем плату, останавливаем Uboot далее в консоли пишем
синтаксис можно уточнить командой help и доками по Uboot
потом контрольное
убеждаемся, что переменная прописалась правильно и сохраняем
далее кнопка Reset и смотрим аргументы ядра при загрузке
по идеи, если больше ничего не трогалось в системе, то ядро должно подхватить рутовую и отработать приглашение login