Ник:
Пароль:

Контакты

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 » Embedded Linux
U-boot Запуск ядра.
alexsy
Добавлено 13.08.2010 15:33
0
Сообщение: 1
alexsy
0

Пункты: 65
Регистрация: 17.02.2010
Запускаю так :
U-Boot> tftpboot 21000000 uImage
macb0: Starting autonegotiation...
macb0: Autonegotiation complete
macb0: link up, 100Mbps full-duplex (lpa: 0x45e1)
Using macb0 device
TFTP from server 192.168.1.209; our IP address is 192.168.1.210
Filename 'uImage'.
Load address: 0x21000000
Loading: #################################################################
####################
done
Bytes transferred = 1243512 (12f978 hex)
U-Boot> bootm 21000000
## Booting kernel from Legacy Image at 21000000 ...
Image Name: Linux-2.6.31.13
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 1243448 Bytes = 1.2 MiB
Load Address: 20008000
Entry Point: 20008000
Verifying Checksum ... OK
Loading Kernel Image ... OK
OK

Starting kernel ...

Uncompressing Linux................................................................................ done, booting the kernel.

И всё

Кто чёнибуть подскажет U-Boot собирал сам.
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 13.08.2010 19:23 Сообщение: 2
sasamy
4.71

Пункты: 83542
Регистрация: 14.08.2009
Тут причин много может быть мне кажется несовпадает machine id в загрузчике и в ядре, тоесть либо ядро сконфигурировано не для той платы либо в u-boot не та плата выбрана. Загрузчиком ядра этот идентификатор передается в регистре и ядро его потом сравнимает со своим значением. В общем случае неважно что там - главное чтобы они совпали :)
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 13.08.2010 19:47 Сообщение: 3
sasamy
4.71

Пункты: 83542
Регистрация: 14.08.2009
Еще возможно в ядре не тот порт сконфигурирован для отладочных сообщений - нужно dbgu.
Спуститься к концу Подняться к началу
Персональная информация
alexsy
Добавлено 16.08.2010 10:06 Сообщение: 4
alexsy
0

Пункты: 65
Регистрация: 17.02.2010
Цитата
Тут причин много может быть мне кажется несовпадает machine id в загрузчике и в ядре, тоесть либо ядро сконфигурировано не для той платы либо в u-boot не та плата выбрана. Загрузчиком ядра этот идентификатор передается в регистре и ядро его потом сравнимает со своим значением. В общем случае неважно что там - главное чтобы они совпали :)


Большое спасибо!! Это помогло.
Спуститься к концу Подняться к началу
Персональная информация
scorpion
Добавлено 12.01.2011 15:55 Редактировалось 12.01.2011 18:03 Сообщение: 5
scorpion
0

Пункты: 610
Регистрация: 12.01.2011
Привет. У меня похожая проблема:

U-Boot 1.3.4 (Dec 9 2010 - 13:13:36

DRAM: 128 MBstrap...
NAND: No NAND device found!!!Launcher Project --
0 MiB
DataFlash:AT45DB321G45-EK
Nb pages: 8192ed: Jan 19 2010
Page Size: 528
Size= 4325376 bytes--|------------|---
Logical address: 0xC0000000
Area 0: C0000000 to C00041FF (RO) Bootstrap Free | Live | Dirty |
Area 1: C0004200 to C00083FF Environment----------|--------|--------|--------|
Area 2: C0008400 to C0041FFF (RO) U-Boot
| 0 | 561 | 0 | 56
Area 3: C0042000 to C0251FFF Kernel
*** Warning - bad CRC, using default environment

In: serial
Out: serial
Err: serial
Net: macb0
macb0: Starting autonegotiation...
macb0: Autonegotiation timed out (status=0x7849)
macb0: link down (status: 0x7849)
Hit any key to stop autoboot: 0
## Booting kernel from Legacy Image at 22000000 ...
Image Name: Linux-2.6.36-my
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 2020144 Bytes = 1.9 MB
Load Address: 70008000
Entry Point: 70008000
Verifying Checksum ... OK
Loading Kernel Image ... OK
OK

Starting kernel ...

Uncompressing Linux... done, booting the kernel.

в строке параметров загрузки Default kernel command string:

bootargs=console=ttyS0,115200

Machine ID тоже вроде одинаковые...

Смущает немного, что при сборке я получаю файл uImage, а ядро производителя называется uImage.bin, или это неважно?

помогите, пожалуйста, разобраться в этом....
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 12.01.2011 18:09 Сообщение: 6
Jury093
4.5

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

а чего так скромно - как партизан на допросе..
железо, АРМ, начальные параметры, как собирали, строка загрузки ядра, т.б. судя по:
Цитата
DRAM: 128 MBstrap...

железо явно не местное..

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
scorpion
Добавлено 12.01.2011 18:23 Сообщение: 7
scorpion
0

Пункты: 610
Регистрация: 12.01.2011
Плата AT91SAM9M10G45-EK


U-Boot> printenv
bootargs=console=ttyS0,115200 root=/dev/mtdblock0 mtdparts=at91_nand:-(root) rw
rootfstype=jffs2
bootcmd=cp.b 0xC0042000 0x22000000 0x210000; bootm
bootdelay=3
baudrate=115200
ethact=macb0

Environment size: 189/16892 bytes
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 12.01.2011 18:57 Сообщение: 8
Jury093
4.5

Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
первое что бросается в глаза (правда к вечеру глаза уже не те)
что-то не так с памятью
Цитата
## Booting kernel from Legacy Image at 22000000 ...
..
Load Address: 70008000

куда физически подключена память?
попробуйте руками из юбута
Код
cp.b 0xC0042000 0x70400000 0x210000
bootm 70400000

и еще, не знаю насколько это сейчас важно, я дописываю в командную строку размер памяти. в вашем случае mem=128M

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
scorpion
Добавлено 13.01.2011 13:39 Редактировалось 13.01.2011 13:42 Сообщение: 9
scorpion
0

Пункты: 610
Регистрация: 12.01.2011
"что-то не так с памятью"

а что Вас смущает?
0x22000000 = адрес загрузки образ ядра
Load Address: 70008000 <- это адресс RAM
Entry Point: 70008000 <- это точка входа в ядро (обычно совпадает с адресом загрузки)
если я правильно понял..


"куда физически подключена память?
попробуйте руками из юбута"
Код

cp.b 0xC0042000 0x70400000 0x210000
bootm 70400000

Как Вы получили 0x70400000?
Спуститься к концу Подняться к началу
Персональная информация
scorpion
Добавлено 18.01.2011 16:58 Сообщение: 10
scorpion
0

Пункты: 610
Регистрация: 12.01.2011
Проблема была решена при переходе на ядро 2.6.37.
Попытался загрузится с файловой системой с linux4sam получил сообщение:

RAMDISK: Couldn't find valid RAM disk image starting at 0.
List of all partitions:
1f00 65536 mtdblock0 (driver?)
1f01 196608 mtdblock1 (driver?)
No filesystem could mount root, tried: ext2 vfat
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(1,0)

Кто-нибудь может, что-нибудь посоветовать?
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Embedded Linux