|
|
  |
Поселение на ARM ОС Linux, Плата AT91SAM9M10G45-EK |
|
|
|
Dec 24 2010, 11:47
|
Участник

Группа: Участник
Сообщений: 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
|
|
|
|
|
Dec 24 2010, 15:50
|
Участник

Группа: Участник
Сообщений: 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
|
|
|
|
|
Dec 27 2010, 06:25
|
Участник

Группа: Участник
Сообщений: 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 это так у мну.
|
|
|
|
|
Dec 30 2010, 05:16
|
Участник

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

|
Цитата(Dron_Gus @ Dec 28 2010, 10:53)  Проще сказать "make uImage". после НГ попробую, ну я описал как делал я, 100% работает
|
|
|
|
|
Jan 10 2011, 07:52
|
Участник

Группа: Участник
Сообщений: 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
|
|
|
|
|
Jan 18 2011, 13:58
|
Участник

Группа: Участник
Сообщений: 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)
Кто-нибудь может, что-нибудь посоветовать?
|
|
|
|
|
Jan 19 2011, 08:47
|
Участник

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

|
и я не пойму, почему пытается монтировать ext2 vfat, потому что: u-boot>printenv rootfstype=jffs2
|
|
|
|
|
Jan 19 2011, 10:52
|
Участник

Группа: Участник
Сообщений: 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
|
|
|
|
|
Jan 19 2011, 11:42
|
Участник

Группа: Участник
Сообщений: 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
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|