реклама на сайте
подробности

 
 
4 страниц V  < 1 2 3 4 >  
Reply to this topicStart new topic
> Поселение на ARM ОС Linux, Плата AT91SAM9M10G45-EK
stas17
сообщение Dec 24 2010, 11:47
Сообщение #16


Участник
*

Группа: Участник
Сообщений: 66
Регистрация: 13-07-10
Пользователь №: 58 427



Цитата(Dron_Gus @ Dec 23 2010, 21:59) *
А галку "Always use the default kernel command string" Вы поставили? Иначе используется то, что передает u-boot (это, кстати, правильней). Плюс у некоторых архитектур/машин есть параметр "UART to use for low-level messages". Если код машины, переданный у-бутом и код в ядре не совпадают, вероятно, что сообщение об этом вывалится именно в этот порт.


нет, галочку я там не ставил, поскольку сам задал эти параметры...


вот эту информацию получаю командой printenv
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

Сообщение отредактировал stas17 - Dec 24 2010, 13:03
Go to the top of the page
 
+Quote Post
Dron_Gus
сообщение Dec 24 2010, 14:49
Сообщение #17


Профессионал
*****

Группа: Свой
Сообщений: 1 202
Регистрация: 9-01-05
Из: Санкт-Петербург
Пользователь №: 1 861



Или Вы что-то путаете или Вы неясно выражаетесь. Если вы хотите ВСЕГДА использовать строку, что задали при конфигурации ядра, то галка "Always use the default kernel command string" должна стоять. Если хотите использовать то, что передает у-бут, то галки быть не должно.


--------------------
Если сверху смотреть, то сбоку кажется, что снизу ничего не видно.
Go to the top of the page
 
+Quote Post
~phase
сообщение Dec 24 2010, 15:50
Сообщение #18


Участник
*

Группа: Участник
Сообщений: 53
Регистрация: 24-06-07
Из: ukraine
Пользователь №: 28 658



Производитель проца: atmel?
все собираеться на ура от и до... linux4sam есть такой сайтик, там есть step-by-step описание что и куда надо писать. даже если не atmel, то процедура такая же, только адресация поменяться FLASH/RAM etc.
Для начала надо знать что за проц, а дальше уж и поговорить... а то это все гадание на кофейной гуще.
В двух словах:
Load Address: 70008000 <- это адресс RAM
Entry Point: 70008000 <- это точка входа в ядро (обычно совпадает с адресом загрузки)
Вопрос номер 1, ваши адресса для RAM?

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

Аааааа вот оно at91_nand:-(root) rw... AT91SAM... понятно. после сборки ядра его надо обернуть в формат понятный для u-boot. шас не вспомню, дома.. если не горит или мож еще кто подскажет, а так то до понедельника, в понедельник могу рассказать и показать. можешь в аську стукнуть, она есть в профиле, ну только с понедельника.
BR
Go to the top of the page
 
+Quote Post
~phase
сообщение Dec 27 2010, 06:25
Сообщение #19


Участник
*

Группа: Участник
Сообщений: 53
Регистрация: 24-06-07
Из: ukraine
Пользователь №: 28 658



после сборки ядра надо дать команду
mkimage -A arm -O linux -C none -T kernel -a 20008000 -e 20008000 -n linux-2.6 -d arch/arm/boot/zImage uImage
это так у мну.
Go to the top of the page
 
+Quote Post
Dron_Gus
сообщение Dec 28 2010, 05:53
Сообщение #20


Профессионал
*****

Группа: Свой
Сообщений: 1 202
Регистрация: 9-01-05
Из: Санкт-Петербург
Пользователь №: 1 861



Проще сказать "make uImage".


--------------------
Если сверху смотреть, то сбоку кажется, что снизу ничего не видно.
Go to the top of the page
 
+Quote Post
~phase
сообщение Dec 30 2010, 05:16
Сообщение #21


Участник
*

Группа: Участник
Сообщений: 53
Регистрация: 24-06-07
Из: ukraine
Пользователь №: 28 658



Цитата(Dron_Gus @ Dec 28 2010, 10:53) *
Проще сказать "make uImage".

после НГ попробую, ну я описал как делал я, 100% работает
Go to the top of the page
 
+Quote Post
stas17
сообщение Jan 10 2011, 07:52
Сообщение #22


Участник
*

Группа: Участник
Сообщений: 66
Регистрация: 13-07-10
Пользователь №: 58 427



Используя то, что задал при конфигурации ядра (при установке галки "Always use the default kernel command string") или то, что передает у-бут, результат одинаковый

Starting kernel ...

Uncompressing Linux... done, booting the kernel.
и все.
А если для создания uImage использовать команду:

mkimage -A arm -O linux -C none -T kernel -a 20008000 -e 20008000 -n linux-2.6 -d arch/arm/boot/zImage uImage

А адрес 20008000 это:
Load Address: 70008000
Entry Point: 70008000
?
если да, то так тот же результат...

Сообщение отредактировал stas17 - Jan 10 2011, 08:08
Go to the top of the page
 
+Quote Post
stas17
сообщение Jan 18 2011, 13:58
Сообщение #23


Участник
*

Группа: Участник
Сообщений: 66
Регистрация: 13-07-10
Пользователь №: 58 427



Проблема была решена при переходе на ядро 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)

Кто-нибудь может, что-нибудь посоветовать?
Go to the top of the page
 
+Quote Post
kurtis
сообщение Jan 18 2011, 15:17
Сообщение #24


Местный
***

Группа: Свой
Сообщений: 466
Регистрация: 21-06-05
Пользователь №: 6 205



У вас mtdblock, а пытается монитровать ext2 и vfat. На mtd устройствах обычно что-то вроде yaffs или jffs2 живет. Попытайтесь грузить rootfs с карточки или по сети.
Go to the top of the page
 
+Quote Post
stas17
сообщение Jan 19 2011, 08:47
Сообщение #25


Участник
*

Группа: Участник
Сообщений: 66
Регистрация: 13-07-10
Пользователь №: 58 427



и я не пойму, почему пытается монтировать ext2 vfat, потому что:
u-boot>printenv
rootfstype=jffs2
Go to the top of the page
 
+Quote Post
kurtis
сообщение Jan 19 2011, 10:01
Сообщение #26


Местный
***

Группа: Свой
Сообщений: 466
Регистрация: 21-06-05
Пользователь №: 6 205



Может у вас в ядре отсутствует поддержка, или поддержка этих файловых систем собрана в виде модуля.
Покажите вывод printenv в uboot
Go to the top of the page
 
+Quote Post
mdmitry
сообщение Jan 19 2011, 10:34
Сообщение #27


Начинающий профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 25-10-06
Из: СПб
Пользователь №: 21 648



Цитата(stas17 @ Jan 19 2011, 11:47) *
и я не пойму, почему пытается монтировать ext2 vfat, потому что:
u-boot>printenv
rootfstype=jffs2

По моим воспоминаниям для поддержки jffs2 требуется ядро, собранное со встроенной поддержкой, а не в виде модуля. При старте ещё нет смонтированной ФС и брать модули не откуда. Чтобы включить поддержку jffs2 надо не в одном месте в настройках ядра включать поддержку MTD.


--------------------
Наука изощряет ум; ученье вострит память. Козьма Прутков
Go to the top of the page
 
+Quote Post
stas17
сообщение Jan 19 2011, 10:52
Сообщение #28


Участник
*

Группа: Участник
Сообщений: 66
Регистрация: 13-07-10
Пользователь №: 58 427



при конфигурировании ядра я включил поддержку этих файловыйх систем и MTD(и ядро полностью без модулей)...
Вот, что дает команда printenv:

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

Сообщение отредактировал stas17 - Jan 19 2011, 10:53
Go to the top of the page
 
+Quote Post
kurtis
сообщение Jan 19 2011, 11:27
Сообщение #29


Местный
***

Группа: Свой
Сообщений: 466
Регистрация: 21-06-05
Пользователь №: 6 205



Попробуйте явно указать rootfstype в bootargs:
setenv bootargs console=ttyS0,115200 root=/dev/mtdblock0 mtdparts=at91_nand:-(root) rw rootfstype=jffs2

Еще можно откатиться на стабильную версию и посмотреть какие параметры реально передаются в ядро (содержимое /proc/cmdline)



Go to the top of the page
 
+Quote Post
stas17
сообщение Jan 19 2011, 11:42
Сообщение #30


Участник
*

Группа: Участник
Сообщений: 66
Регистрация: 13-07-10
Пользователь №: 58 427



Clocks: CPU 400 MHz, master 133 MHz, main 12.000 MHz byte written : 0x18c0 Bytesstop autoboot: 0ersi
-I
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 32512..nd : 8 --- status : 0)
-I- End of appl
-
-I- WRITE at offset: 0x167e
Kernel command line: console=ttyS0,115200 root=/dev/mtdblock0 mtdparts=at91_nandage (uncompressed)


вот это сообщение я вижу, когда загружаю ядро и ФС производителя


спасибо, сейчас попробую явно указать rootfstype

Сообщение отредактировал stas17 - Jan 19 2011, 11:52
Go to the top of the page
 
+Quote Post

4 страниц V  < 1 2 3 4 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th June 2025 - 19:21
Рейтинг@Mail.ru


Страница сгенерированна за 0.01464 секунд с 7
ELECTRONIX ©2004-2016