Jump to content

    

Поселение на ARM ОС Linux

А галку "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

Edited by stas17

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

Производитель проца: 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

Share this post


Link to post
Share on other sites

после сборки ядра надо дать команду

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

это так у мну.

Share this post


Link to post
Share on other sites
Проще сказать "make uImage".

после НГ попробую, ну я описал как делал я, 100% работает

Share this post


Link to post
Share on other sites

Используя то, что задал при конфигурации ядра (при установке галки "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

?

если да, то так тот же результат...

Edited by stas17

Share this post


Link to post
Share on other sites

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

 

Кто-нибудь может, что-нибудь посоветовать?

Share this post


Link to post
Share on other sites

У вас mtdblock, а пытается монитровать ext2 и vfat. На mtd устройствах обычно что-то вроде yaffs или jffs2 живет. Попытайтесь грузить rootfs с карточки или по сети.

Share this post


Link to post
Share on other sites

и я не пойму, почему пытается монтировать ext2 vfat, потому что:

u-boot>printenv

rootfstype=jffs2

 

Share this post


Link to post
Share on other sites

Может у вас в ядре отсутствует поддержка, или поддержка этих файловых систем собрана в виде модуля.

Покажите вывод printenv в uboot

Share this post


Link to post
Share on other sites
и я не пойму, почему пытается монтировать ext2 vfat, потому что:

u-boot>printenv

rootfstype=jffs2

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

Share this post


Link to post
Share on other sites

при конфигурировании ядра я включил поддержку этих файловыйх систем и 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

Edited by stas17

Share this post


Link to post
Share on other sites

Попробуйте явно указать rootfstype в bootargs:

setenv bootargs console=ttyS0,115200 root=/dev/mtdblock0 mtdparts=at91_nand:-(root) rw rootfstype=jffs2

 

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

 

 

 

 

Share this post


Link to post
Share on other sites

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

Edited by stas17

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this