Техническая поддержка пользователей > Тион, Тион-Про, Тион-Про v2, Сириус

Стабильность загрузки линукса

(1/5) > >>

ZVV1986:
Здравствуйте!

Вопрос по загрузке в следующем, есть плата Тион про2 рев3, с установленными u-boot, ядром и КФС (все взято с ЗАО-ЗЕО). Однако,  процесс загрузки часто останавливается из-за ошибки. Вот часть лога, принятого по UART:
NET: Registered protocol family 1
NET: Registered protocol family 17
NET: Registered protocol family 15
m41t00 0-0068: setting the system clock to 2060-09-09 08:37:47 (2861944667)
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x029c0000: 0xffff instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x029c0004: 0xffff instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x029c0008: 0xffff instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x029c000c: 0xffff instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x029c0010: 0xffff instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x029c0014: 0xffff instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x029c0018: 0xffff instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x029c001c: 0xffff instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x029c0020: 0xffff instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x029c0024: 0xffff instead
Further such events for this erase block will not be printed
VFS: Mounted root (jffs2 filesystem).
Freeing init memory: 124K
physmap-flash.0: block erase error: (status timeout)
Erase at 0x029c0000 failed immediately: errno -62
Internal error: Oops - bad syscall: 90073 [#1]
Modules linked in:
CPU: 0
PC is at 0xc078f008
LR is at 0x6274c
pc : [<c078f008>]    lr : [<0006274c>]    Not tainted
sp : be860d0c  ip * c078ef34  fp : c078ef30
r10: 00000000  r9 : c078f064  r8 : c078f064
r7 : 00000817 r3 : 00000000  r2 : c02b247c  r1 : c034ca08  r0 : 00000000
Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  Segment user
Control: C000717F
Table: 00794000  DAC: 00000015
Process mount (pid: 241, stack limit = 0xc078e250)
Stack: (0xbe860d0c to 0xc0790000)
0d00: No seek completeNo seek completeNo seek completebe860de8 0006274c 00000000 0018a804 0018affe
0d20: be860de8 00000000 0006294c 00000000 be860d10 00000000 00000000 00000000
0d40: 00000000 00000004 000b6dc8 00000000 00000016 00000001 40060183 0000ac3c
0d60: 40005028 0000ac3c 00000000 000bfc40 be860ec4 00000004 000b6dc8 40001a10
0d80: 0018d0c0 be860df4 be860f9c be860dd0 00000001 4000098c 0018d0b0 00000000
0da0: 00008420 be860de8 0018affe be860f9c be860dd0 be860ec4 00000001 00062e2c
0dc0: be860f80 00000000 0018c030 0018c040 0018aff8 0018affe 0018b003 0018b009
0de0: 00000000 00000000 0018a7f8 0018a802 0018a804 0018d0c0 00000000 00000000
0e00: 0018c018 0009d8dc 00000000 be860ec4 00000004 0000bb88 00000004 400ae2b0
0e20: 0000cfa8 0000ce58 be860f6c 00000000 0000cb90 be860ec4 0000d000 4007bf34
0e40: 00008034 00000004 00000020 00000005 00000005 00000006 00000003 00008034
0e60: 00000004 00000020 00000005 00000005 00000006 00001000 00000007 40000000
0e80: 00000008 00000000 00000009 0000cb90 00000000 000bf6fc 0000000b 00000000
0ea0: 0000000c 00000000 0000000d 00000000 0000000e 00000000 00092d38 40000ba0
0ec0: be860ec4 be860f80 be860f86 be860f89 be860f9c 00000000 3e860f9e be860fa8
0ee0: be860faf be860fba be860fdd be860feb 00000000 00000010 00000407 00000006
0f00: 00001000 00000011 00000064 00000003 00008034 00000004 00000020 00000005
0f20: 00000005 00000007 40000000 00000008 00000000 00000009 0000cb90 0000000b
0f40: 00000000 0000000c 00000000 0000000d 00000000 0000000e 00000000 00000017
0f60: 00000000 0000000f be860f7c 00000000 00000000 00000000 00000000 006c3476
0f80: 6e756f6d 6f2d0074 6d657200 746e756f 2c77722c 74616f6e 00656d69 5355002f
0fa0: 723d5245 00746f6f 454d4f48 54002f3d 3d4d5245 30317476 41500032 2f3d4854
0fc0: 2f727375 3a6e6962 6e69622f 73752f3a 62732f72 2f3a6e69 6e696273 45485300
0fe0: 2f3d4c4c 2f6e6962 50006873 2f3d4457 69622f00 6f6d2f6e 00746e75 00000000
1000: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
1020: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
1040: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000  и т.д.

Обычная загрузка выглядит так

NET: Registered protocol family 15
m41t00 0-0068: setting the system clock to 2060-09-09 08:36:22 (2861944582)
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x029c0000: 0xffff instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x029c0004: 0xffff instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x029c0008: 0xffff instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x029c000c: 0xffff instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x029c0010: 0xffff instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x029c0014: 0xffff instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x029c0018: 0xffff instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x029c001c: 0xffff instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x029c0020: 0xffff instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x029c0024: 0xffff instead
Further such events for this erase block will not be printed
VFS: Mounted root (jffs2 filesystem).
Freeing init memory: 124K
physmap-flash.0: block erase error: (status timeout)
Erase at 0x029c0000 failed immediately: errno -62
mmc_spi spi1.1: ASSUMING 3.2-3.4 V slot power
mmc_spi spi1.1: setup unsupported mode bits 4
mmc_spi spi1.1: can't change chip-select polarity
mmc0: error -22 whilst initialising SDIO card
mmc_spi spi1.1: SD/MMC host mmc0, no DMA, no WP, no poweroff
mmc_spi spi1.1: setup unsupported mode bits 4
mmc_spi spi1.1: can't change chip-select polarity
mmc0: error -22 whilst initialising SDIO card

Please press Enter to activate this console.


BusyBox v1.1.3 (2009.11.20-09:13+0000) Built-in shell (ash)
Enter 'help' for a list of built-in commands.

/ #

При стирании флеш из u-boot (команда erase) бывает некторые сектора не стираются (тайм ауты).

Собственно я предполагаю, что проблема получается по этой причине. Однако почему в некоторых случаях загрузка удачна, а в других нет. Что можно сделать, чтобы загрузка проходила всегда успешно (пусть с предупреждениями).

И ещё, устройство часто выключается путем выдергивания шнура питания из розетки.

asv:
> physmap-flash.0: block erase error: (status timeout)

Скорее всего, придётся заменить микросхемы Flash.
Можете передать нам этот Тион-Про2?


> И ещё, устройство часто выключается путем выдергивания шнура питания из розетки.

Запись во Flash при работе выполняется или она монтируется только для чтения?

ZVV1986:

--- Цитировать ---Можете передать нам этот Тион-Про2?
--- Конец цитаты ---

Скорее всего да. В командировке в Москве буду 10-11.


--- Цитировать ---Запись во Flash при работе выполняется или она монтируется только для чтения?
--- Конец цитаты ---

VFS: Mounted root (jffs2 filesystem). - это имеется ввиду?

При работе программа пишет в файл. Он располагается в /usr/bin/ .
Наверно всё потом сохраняется во флеш.

ZVV1986:
Ещё одна ситуация при загрузке ядра.


--- Цитировать ---m41t00 0-0068: setting the system clock to 2060-06-04 08:32:20 (2853563540)
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x029c0000: 0xffff instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x029c0004: 0xffff instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x029c0008: 0xffff instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x029c000c: 0xffff instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x029c0010: 0xffff instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x029c0014: 0xffff instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x029c0018: 0xffff instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x029c001c: 0xffff instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x029c0020: 0xffff instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x029c0024: 0xffff instead
Further such events for this erase block will not be printed
VFS: Mounted root (jffs2 filesystem).
Freeing init memory: 124K
physmap-flash.0: block erase error: (status timeout)
Erase at 0x029c0000 failed immediately: errno -62
Unable to handle kernel paging request at virtual address 736e6f63
pgd = c0790000
[736e6f63] *pgd=00000000
Internal error: Oops: 5 [#1]
Modules linked in:
CPU: 0
Unable to handle kernel paging request at virtual address 805c232c
pgd = c0790000
[805c232c] *pgd=00000000
Internal error: Oops: 5 [#2]
Modules linked in:
CPU: 0
Unable to handle kernel paging request at virtual address 805b8412
pgd = c0790000
[805b8412] *pgd=00000000
Internal error: Oops: 5 [#3]
Modules linked in:
CPU: 0
Unable to handle kernel paging request at virtual address 805b8412
pgd = c0790000
[805b8412] *pgd=00000000
Internal error: Oops: 5 [#4]
Modules linked in:
CPU: 0
Unable to handle kernel paging request at virtual address 805b8412
pgd = c0790000
[805b8412] *pgd=00000000
Internal error: Oops: 5 [#5]
Modules linked in:
CPU: 0
Unable to handle kernel paging request at virtual address 805b8412
pgd = c0790000
[805b8412] *pgd=00000000
Internal error: Oops: 5 [#6]
Modules linked in:
CPU: 0
Unable to handle kernel paging request at virtual address 805b8412
pgd = c0790000
[805b8412] *pgd=00000000
Internal error: Oops: 5 [#7]
Modules linked in:
CPU: 0
Unable to handle kernel paging r
--- Конец цитаты ---

Замечу, что версия линукса на этой плате - Linux version 2.6.20.21 (asv@phenom) (gcc version 4.1.1) #3 PREEMPT Fri Nov 13 11:06:38 MSK 2009.

Поскольку в распоряжении имеется ещё один Тион Про2 рев3. то пробовал тестировать и его. На нем используется другая версия загрузчика, ядра и, возможно, КФС (ничего не перешивалось после получения от ЗАО-ЗЕО). Ядро более поздней сборки (взял из лога)- Linux version 2.6.20.21 (asv@phenom) (gcc version 4.2.4 (Debian 4.2.4-6)) #1 PREEMPT Tue Mar 9 13:54:16 MSK 2010.
К тому же в логе указывается

--- Цитировать ---VFS: Mounted root (jffs2 filesystem) readonly.
--- Конец цитаты ---
Этот тион грузится стабильно! Ни разу за время экспериментов не было неудачной загрузки. Возникают вопросы где взять эти версии загрузчика, ядра и КФС? На сайте по ссылке " http://www.zao-zeo.ru/dokuwiki/doku.php/linux#различные_сборки_ядра " последнии версии кажется отсутствуют, т.к. я скачивал оттуда и получил версию " ... 11:06:38 MSK 2009". Возможно я пропустил нужную версию. Или последнии версии располагаются в другом месте? Хотелось бы тогда знать где оно.

Что надо сделать, чтобы монтировалась КФС толко для чтения -
--- Цитировать ---VFS: Mounted root (jffs2 filesystem) readonly.
--- Конец цитаты ---

ZVV1986:
Пока пробую переустановить загрузчик, ядро и КФС.

При стирании флеш из U-Boot получаю следующее (лог частично)

--- Цитировать ---U-Boot 1.3.3-svn894 (Mar  5 2010 - 12:14:38)

CPU:   Cirrus Logic EP9315 rev. E2
DRAM:  64 MB
Flash: 64 MB
Hit any key to stop autoboot:  0
$ ?
--- Конец цитаты ---

--- Цитировать ---$ protect off all
--- Конец цитаты ---

--- Цитировать ---$ erase all

Erase Flash Bank # 1
...Flash erase timeout at address 62cc0000 data 80808080
Flash erase timeout at address 62d00000 data 80808080
Flash erase timeout at address 62d40000 data 80808080
Flash erase timeout at address 62d80000 data 80808080
Flash erase timeout at address 62dc0000 data 80808080
Flash erase error at address 62e00000
.......................................................................... done
$ erase 62e00000 +1


. done
Erased 1 sectors
$ erase 62e00000 +1


. done
Erased 1 sectors
$ erase 62d00000 +1


. done
Erased 1 sectors

$ erase 62d00000 +1


. done
Erased 1 sectors
$ erase 62d40000 +1


. done
Erased 1 sectors
$ erase 62d80000 +1


. done
Erased 1 sectors
$ erase 62dc0000  +1


. done
Erased 1 sectors
$
--- Конец цитаты ---

Навигация

[0] Главная страница сообщений

[#] Следующая страница

Перейти к полной версии