ЗАО «ЗЭО»

Пожалуйста, войдите или зарегистрируйтесь.

Расширенный поиск  

Новости:

Автор Тема: Неверный образ скрипта в u-boot(проверен в линуксе)  (Прочитано 10969 раз)

0 Пользователей и 1 Гость просматривают эту тему.

BaRaGoZ

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 12

Добрый день, меня зовут Вячеслав!
Столкнулся с проблемой: хочу поставить на плату Тион Про2  линукс, поставил сначала образ загрузчика u-boot(взял с вашего сайта), все встало отлично, затем пытаюсь из приведенного на вашем сайте скрипта(refl-linux) сделать образ(urefl-linux), для продолжения установки линукса, так вот под линуксом командой make (находясь в дирректории с refl-linux и остальными 3мя файлами скриптов), которая использует приведенный вами makefile, создаю все образы, командой mkimage -l urefl-linux проверяю образ, вот распечатка:
/////////////////////////////////////////////////////////////////////////
0;baragoz@debian: /home/scriptsbaragoz@debian:/home/scripts$ mkimage -l urefl-linux
Image Name:   Re-flash Linux script for EP93xx
Created:      Fri Dec 25 20:16:16 2009
Image Type:   ARM Linux Script (uncompressed)
Data Size:    872 Bytes = 0.85 kB = 0.00 MB
Load Address: 0x00000000
Entry Point:  0x00000000
Contents:
   Image 0:      864 Bytes =    0 kB = 0 MB
///////////////////////////////////////////////////////////////////////////
Затем закачиваю этот образ на тион про2 через tftpboot 0x0 ipserver:urefl-linux
вызываю команду iminfo 0x0, он говорит, что образ неверный, в чем может быть причина...
 
                                                         Заранее спасибо!
Записан

asv

  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 1405

Приложите к сообщению этот образ.
Записан

BaRaGoZ

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 12

Здравствуйте, прикладываю образ...
Записан

BaRaGoZ

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 12

На всякий случай изначальный скрипт еще... Изменил только одну строчку, в сравнении с изначальным скриптом:
setenv bootargs 'console=ttyAM0,57600n8 root=/dev/mtdblock2 rootfstype=jffs2 video=ep93xxfb:vout=1,vmode=18'
Записан

asv

  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 1405

Ваш скрипт у меня работает, выполните тест памяти (mtest) и приведите лог с
включением команд tftpboot и iminfo.

$ tftpboot 0x0 10.42.42.199:urefl-linux_prob
TFTP from server 10.42.42.199; our IP address is 10.42.42.201
Filename 'urefl-linux_prob'
Load address: 0x0
Loading: |
done
Bytes transferred = 936 (3a8 hex)

$ iminfo 0x0

## Checking Image at 00000000 ...
   Legacy image found
   Image Name:   Re-flash Linux script for EP93xx
   Image Type:   ARM Linux Script (uncompressed)
   Data Size:    872 Bytes =  0.9 kB
   Load Address: 00000000
   Entry Point:  00000000
   Contents:
      Image 0: 864 Bytes =  0.8 kB
   Verifying Checksum ... OK

$ autoscr 0x0
## Executing script at 00000000
Записан

BaRaGoZ

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 12

здравствуйте, запустил mtest, подождал 41 итерацию, тестирование так и не завершилось... вот лог:
U-Boot 1.3.3-svn602 (Jun 17 2009 - 17:59:21)

CPU:   Cirrus Logic EP9315 rev. E2
DRAM:  64 MB
Flash: 64 MB
In:    serial
Out:   serial
Err:   serial
Hit any key to stop autoboot:  0
$ mtest
Testing 00000000 ... 01ffffff:
Iteration:     41
///////////////////////////////////////////////////////////////
Затем попробовал загрузить и проверить urefl-linux, все прошло нормально, на удивление, единственное отличие с прошлыми попытками: отключил разьем с SD картой...

Потом столкнулся со следующей проблемой: запускаю команду run reflash, но после этого загрузка операциооной систекмы не происходит, вот лог run reflash и последующей попытки загрузки:
$ run reflash             
Re-flashing...             
Un-Protect Flash Bank # 1                         
................................................................................                                                                               
................................................................................                                                                               
................................................................................                                                                               
................... done                       
TFTP from server 192.168.0.254; our IP address is 192.168.0.253                                                               
Filename 'uImage_linux'                       
Load address: 0x0                 
Loading: /         
done   
Bytes transferred = 1764972 (1aee6c hex)                                       
Bad address format                 
Copy to Flash... Flash not Erased                                 
TFTP from server 192.168.0.254; our IP address is 192.168.0.253                                                               
Filename 'disk'               
Load address: 0x0                 
Loading: /         
done   
Bytes transferred = 10564753 (a13491 hex)                                         
Bad address format                 
Copy to Flash... Flash not Erased                                 
Saving Environment to Flash...                             
. done
Un-Protected 1 sectors
Erasing Flash...
. done
Erased 1 sectors
Writing to Flash... done
. done
Protected 1 sectors
Re-flash done
$

U-Boot 1.3.3-svn602 (Jun 17 2009 - 17:59:21)

CPU:   Cirrus Logic EP9315 rev. E2
DRAM:  64 MB
Flash: 64 MB
In:    serial
Out:   serial
Err:   serial
Hit any key to stop autoboot:  0
Copy ramdisk to RAM...
Wrong Image Format for bootm command
ERROR: can't get kernel image!
$
////////////////////////////////////////////////////////////////////////////
Я так понимаю, что bad address format сообщение не совсем "здоровое", если не сложно, подскажите что делать далее...
Записан

asv

  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 1405

> подождал 41 итерацию, тестирование так и не завершилось

Можно считать, что оно завершилось после пары итераций.


> единственное отличие с прошлыми попытками: отключил разьем с SD картой...

Если опять соединить, то симптомы повторяются?


> Bad address format ... Flash not Erased

Видими проблема при стирании, попробуйте стереть область для образа ядра командами:
protect off all
erase 60080000 +1764972


Записан

BaRaGoZ

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 12


Если опять соединить, то симптомы повторяются?

Да симптомы повторились, НО ТОЛЬКО С ЭТОЙ карточкой, с другой все нормально+эта карта работала в винде, после установки ОС, с картой тоже все загружается!


Видими проблема при стирании, попробуйте стереть область для образа ядра...
Проделал эту операцию, сообщение не убралось Bad address format ... Flash not Erased, но ОС встала!

Теперь борюсь с тач скрином(не работает) и USB, флешку хочу примонтировать, а она похоже даже в /dev не появляется...
Записан

asv

  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 1405

> сообщение не убралось Bad address format ... Flash not Erased, но ОС встала!

Это очень плохо, так как вы записываете поверх не стёртого блока и результат получите отличный от оригинала.


> Да симптомы повторились, НО ТОЛЬКО С ЭТОЙ карточкой,

Покажите лог с карточкой.


> Теперь борюсь с тач скрином(не работает) и USB, флешку хочу примонтировать, а она похоже даже в /dev не появляется...

Если вы записали uramdisk_bb1.8.2_opie.gz, то для ts см. http://www.zao-zeo.ru/dokuwiki/doku.php/linux#сенсорный_экран

USB (как и остальные устройства в /dev не "появляются" (так как именно в этой КФС нет udev или аналога), а создаются командой mknod (по сообщениям ядра, sysfs, /proc/devices).
Записан

BaRaGoZ

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 12

>Это очень плохо, так как вы записываете поверх не стёртого блока и результат получите отличный от оригинала.
Может стоит попробовать вообще флешку полностью стереть? И все заново сделать? Если да, то подскажите как это сделать.
>Ну лог с карточкой небольшой, закачиваю образ как обычно, закачка проходит в 0х0, а потом:
$ iminfo 0x0

## Checking Image at 00000000 ...
Unknown image format!

С флешкой разобрался, примонтировал, спасибо... А насчет тача видимо таже ситуация что и тут:
http://www.zao-zeo.ru/forum/index.php?topic=126.0, во всяком случае хочу попробовать все советы из топика применить! Да и не так это важно для меня, я вообще линукс ставлю, чтобы попробовать "поиграться" с GPIO и др. перефирией, под виндой не получилось, а драйвер писать не хотелось... Еще раз спасибо за ответы.
Записан

BaRaGoZ

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 12

Оказывается карта стояла на блокировке!!! Снял блокировку и все стало нормально!!! Не знаю как это связано, но факт есть факт...Видимо что то из разряда "поплясать с бубном"...
Записан

asv

  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 1405

> Может стоит попробовать вообще флешку полностью стереть? И все заново сделать?

У вас следующее выполняется без сообщений об ошибках?
protect off all
erase 60080000 +1764972

После чего в 60080000 должны быть 0xff (команда md).
Записан

BaRaGoZ

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 12

Добрый день, сделал как вы говорили, вот лог:
//////////////////////////////////////////////////////////////
$ protect off all                 
Un-Protect Flash Bank # 1                         
................................................................................                                                                               
................................................................................                                                                               
................................................................................                                                                               
................... done                       
$ erase 60080000 +1764972                         

................................................................................                                                                               
.............. done                   
Erased 94 sectors                 
$ md   
Usage:     
md      - memory display                       

$ md 60080         
60080000: ffffffff ffffffff ffffffff ffffffff    ................                                                                 
60080010: ffffffff ffffffff ffffffff ffffffff    ................                                                                 
60080020: ffffffff ffffffff ffffffff ffffffff    ................                                                                 
60080030: ffffffff ffffffff ffffffff ffffffff    ................                                                                 
60080040: ffffffff ffffffff ffffffff ffffffff    ................                                                                 
60080050: ffffffff ffffffff ffffffff ffffffff    ................                                                                 
60080060: ffffffff ffffffff ffffffff ffffffff    ................                                                                 
60080070: ffffffff ffffffff ffffffff ffffffff    .....                                                   
60080080: ffffffff ffffffff ffffffff ffffffff    ................                                                                 
60080090: ffffffff ffffffff ffffffff ffffffff    ................                                                                 
600800a0: ffffffff ffffffff ffffffff ffffffff    ................                                                                 
600800b0: ffffffff ffffffff ffffffff ffffffff    ................                                                                 
600800c0: ffffffff ffffffff ffffffff ffffffff    ................                                                                 
600800d0: ffffffff ffffffff ffffffff ffffffff    ................                                                                 
600800e0: ffffffff ffffffff ffffffff ffffffff    ................                                                                 
600800f0: ffffffff ffffffff ffffffff ffffffff    .....                                                   
$ run reflash             
Re-flashing...             
Un-Protect Flash Bank # 1                         
................................................................................                                                                               
................................................................................                                                                               
................................................................................                                                                               
................... done                       
TFTP from server 192.168.0.254; our IP address is 192.168.0.253                                                               
Filename 'uImage_linux'                       
Load address: 0x0                 
Loading: |         
done   
Bytes transferred = 1764972 (1aee6c hex)                                       
Bad address format                 
Copy to Flash.             
TFTP from server 192.168.0.254; our IP address is 192.168.0.253                                                               
Filename 'disk'               
Load address: 0x0                 
Loading: |         
done   
Bytes transferred = 10564753 (a13491 hex)                                         
Bad address format                 
Copy to Flash... done                     
Legacy Image at 60080000:                         
   Image Name:   Linux 2.6.20.21
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    1764908 Bytes =  1.7 MB
   Load Address: 00008000
   Entry Point:  00008000
   Verifying Checksum ... OK
Legacy Image at 60300000:
   Image Name:   Ramdisk with OPIE
   Image Type:   ARM Linux RAMDisk Image (gzip compressed)
   Data Size:    10564689 Bytes = 10.1 MB
   Load Address: 00800000
   Entry Point:  00800000
   Verifying Checksum ... OK
Saving Environment to Flash...
. done
Un-Protected 1 sectors
Erasing Flash...
. done
Erased 1 sectors
Writing to Flash... done
. done
Protected 1 sectors
Re-flash done
$
//////////////////////////////////////////////////////////////////////////////////
Записан

asv

  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 1405

Покажите ещё вывод printenv и вывод version в U-Boot.
При сообщении "Bad address format" стирание в erase не выполняется (в скрипте), но вручную -- всё нормально стирается.
Скорее всего или первый, или второй аргументы не могут быть распознаны как шестнадцатеричные числа.
Записан

BaRaGoZ

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 12

Логи printenv и version:
$ printenv         
bootdelay=1h tables co
baudrate=57600lished 2048 bi
ethaddr=0E:00:00:EA:18:F0                         
bootfile="uImage"reno registered 
mtdparts=mtdparts=flash:512k(u-boot)ro,2560k(kernel)ro,-(fs)no cpio magic); looks like an initrd                       
partition=nor0,2               
kern_fladdr=60080000
Freeing initrd mem
rd_fladdr=60300000                 
kern_flash=tftpboot ${fileaddr} ${kern_file}; erase ${kern_fladdr} +${filesize};
 cp.b ${fileaddr} ${kern_fladdr} ${filesize}
rd_flash=tftpboot ${fileaddr} ${rd_file}; erase ${rd_fladdr} +${filesize}; cp.b
${fileaddr} ${rd_fladdr} ${filesize}; setenv rd_size ${filesize}
bootcmd=echo Copy ramdisk to RAM...; cp.b ${rd_fladdr} ${rd_addr} ${rd_size}; bo
otm ${kern_fladdr} ${rd_addr}
reflash=echo Re-flashing...; protect off all; run kern_flash; run rd_flash; imls
; saveenv; echo Re-flash done
kern_file=uImage_linux
rd_file=disk
bootargs=console=ttyAM0,57600n8 root=/dev/ram0 video=ep93xxfb:vout=1,vmode=18
filesize=A13491
fileaddr=0
gatewayip=10.42.42.1
netmask=255.255.255.0
ipaddr=192.168.0.253
serverip=192.168.0.254
rd_size=A13491

Environment size: 945/262140 bytes
$ version

U-Boot 1.3.3-svn602 (Jun 17 2009 - 17:59:21)
$
Записан