Описание Medi@link ML9700

Обсуждение Medi@link ML9700 (SMP8655)

Moderator: Модераторы

Re: Описание Medi@link ML9700

Postby Ganz on Sun Apr 15, 2012 21:17

Gennadyi wrote:
bombur wrote:
Ganz wrote:я воспользовался инструкцией http://www.sigmaplayer.com/articles/kb_show.php?id=7
к сожалению затык.

Лог показывает, что для этого девайса нужна своя версия загрузочного образа SATA, и наши "Sigma_Yamon_ok" не подходят. Для того чтобы сделать загрузочный образ, нужны соответствующие куски (дампы) прошивки от ML9700.


оно ! http://medialinktv.net/
http://medialinktv.net/uploads/patchmg.bin

Спасибо за файлы.
Чего то образ не работает, я правильно понял что все это добро надо разложить по следующим смещениям ?
sigmblk0: 10000000 00000000 "NAND" 0
sigmblk1: 00080000 00000000 "ZBOOT" 0
sigmblk2: 00040000 00080000 "YAMON" 0
sigmblk3: 00f00000 000c0000 "LINUX" 0
Ganz
 
Posts: 7
Joined: Thu Apr 12, 2012 14:35

Re: Описание Medi@link ML9700

Postby Gennadyi on Tue Apr 17, 2012 12:14

Ganz wrote:Чего то образ не работает, я правильно понял что все это добро надо разложить по следующим смещениям ?
sigmblk0: 10000000 00000000 "NAND" 0
sigmblk1: 00080000 00000000 "ZBOOT" 0
sigmblk2: 00040000 00080000 "YAMON" 0
sigmblk3: 00f00000 000c0000 "LINUX" 0

как собирали образ и какие изменения делали в переменных xenv ?
Code: Select all
Tango3 Bootup from SATA HDD

Tango3 Bootup from SATA HDD
Overview
Preparing the SATA HDD
Image Organization
Writing the Images to Disk
Try It Out!

Overview
Tango3 has the capability of booting from a SATA HDD. You may wish to review Xos2SecureBoot, which details the boot-up process independent of the device used to store the images. In short, xboot2 starts up xos2, which in turn runs xmboot (stage0 bootloader). While xboot2 resides in the ROM, and xos2 and xmboot are stored in the serial flash, the ZXENV and ezboot (stage1 bootloader) and stage2 are stored elsewhere. xmboot has the ability to read from a SATA HDD to load the ZXENV and ezboot, which in turn can read from the SATA to load and run stage2.


Preparing the SATA HDD
First, you must create a bootable partition. You can use fdisk to view, create or delete partitions, as well as toggle the bootable attribute on a partition.

Once you have a bootable partition, keep in mind which one it is. For the examples that follow, we assume you set partition#1 to be bootable.



Image Organization
The layout of the images is fashioned similar to the NAND flash. On NAND flash, there is a difference between physical address and logical address, due to the need for NAND formatting and management of bad blocks, and wear-leveling. From a software point-of-view, there is a physical address space set aside for four physical blocks, spanning [0x00000000 - 0x00080000], with 0x20000 bytes for each block. Each of these physical blocks can contain a ZXENV and a stage1 bootloader (ezboot). This is illustrated below:

|<----phyblocks---->|<----NAND format & mgmt--->| <-- PHYSICAL ADDRESS ...
+----+----+----+----+---------------------------+
|  0 |  1 |  2 |  3 |                           |   
+----+----+----+----+---------------------------+
0x0               0x80000
Other physical locations are used for NAND flash formatting (superblocks, management blocks, data blocks), and are not addressed directly via physical address, but instead it goes through the Sigma NAND flash driver via logical addressing. The driver then translates these logical addresses for the user into the actual physical address. The default offsets of the boot containers that follow are illustrated below:

LOGICAL ADDRESS --> |<--z.boot2-->|<--z.boot0-->|<------z.boot1------>|
                    +-------------+-------------+---------------------+
                    |             |    YAMON    |       Linux         |
                    +-------------+-------------+---------------------+
                    0x0         0x80000       0xc0000
For SATA, there is no such thing as a management layer, but to maintain compatibility with the NAND flash image organization, we still have to distinguish a "physical" address from a "logical" address, since the phyblocks cannot be allowed to sit in the same space occupied by logical address 0x0 (that is where z.boot2, or boot container#2, should reside). There is no actual file system in play here. Hence, for SATA, we organize the data like this:

                    |<----phyblocks---->|<---z.boot2--->|<---z.boot0--->|<-------z.boot1------->|
                    +----+----+----+----+---------------+---------------+-----------------------+
                    |  0 |  1 |  2 |  3 |               |     YAMON     |         Linux         |
                    +----+----+----+----+---------------+---------------+-----------------------+
Physical:          0x0               0x80000         0x100000          0x140000
Logical:           N/A---------------->|0x0           0x80000           0xc0000
When writing the images to the SATA, use the physical addresses given in the diagram above. xmboot (stage0 bootloader, see XmBootFlow for more information on xmboot) will access the SATA using the "physical" address portion to get the ZXENV and ezboot (stage1 bootloader) image. Once ezboot is up and running, it will read from the "logical" address portion to look for xmaterial or imaterial, and to boot the final stage2 (either YAMON, Linux, WinCE or some other Operating System).



Writing the Images to Disk
Note: The default ZXENV configuration for Sigma Reference boards does not enable stage1 booting from SATA. You should double-check to make sure that the ZXENV you intend to write to the SATA HDD will attempt to use SATA. You can check for the key z.bootdev_order (see XenvGuide for more information).

Because there is no file system, we just use the dd program to write the images to the appropriate offsets within a SATA HDD partition. For example, say our SATA HDD is recognized as /dev/sda, and that we have created partition 1 and set it as bootable. Suppose we also have images in a directory called /images/ that we wish to write to the drive. Then to write these images to the SATA HDD (substitute your actual board ID for <BOARD_ID> below):
CAUTION: Be sure that you set the output file to /dev/sda1, or whichever partition you want to use, but not to /dev/sda! This would wipe out your MBR.


$ cd /images/
$ dd if=phyblock0-0x20000padded.<BOARD_ID> of=/dev/sda1 bs=1K
$ dd if=zbimage-yamon-xload of=/dev/sda1 bs=1K seek=1024
$ dd if=zbimage-linux-xload of=/dev/sda1 bs=1K seek=1280
$ sync


Try It Out!
After the images have been written, you can try it out. Plug the SATA HDD to one of a Tango3 board's SATA ports, and then power up. In order to test booting from SATA, you must prevent the board from booting off of NAND flash. If your board has a NAND flash with valid images on it, you need to either short out the data pins (so that the reading of the data from the NAND is garbled), or erase the first four phyblocks on your NAND flash, or just plain remove the NAND flash chip from the board. Once you have done any of these, power up the board and as it boots up, pay attention to the messages printed on the UART. You should see a line like this:

xmboot booted from devtype: 2, chipsel: 0
If you see that the devtype it booted from is 2, that means it booted from SATA and you know that xmboot worked. Next, just below that printout you might see:

Explicit boot order specified:
  0x20 : devtype=2, CS=0
  0x21 : devtype=2, CS=1
That would indicate to ezboot that it should attempt to boot the last stage from SATA. If you do not see that at all, that is OK. It just means that ezboot will still try SATA, but it may also try NAND and SPI NOR flash as well if it cannot succeed in finding stage2 on SATA. On the other hand, if you see something like this:

Explicit boot order specified:
  0x00 : devtype=0, CS=0
  0x01 : devtype=0, CS=1
Then it is not going to work because ezboot is going to try to boot from NAND flash, which is not what you want.

If all goes well, you will have booted up from the SATA HDD. Congratulations!

Gennadyi
Moderator
 
Posts: 941
Joined: Mon Nov 01, 2004 16:43

Re: Описание Medi@link ML9700

Postby Ganz on Tue Apr 17, 2012 19:10

сразу скажу я это делаю первый раз :oops:
я xenv не правил, не знал. создал раздел, после MBR, в начало раздела zboot потом yamon потом linux. не заработало. потом нашел кусочек инструкции
( http://www.sigmaplayer.com/viewtopic.ph ... &sk=t&sd=a ) того что вы мне запостили целиком, разложил по смещениям которые указаны в инструкции - 0x80000, 0xc0000 и тп тоже не заработало. напало уныние :)
вот вы прислали полную инструкцию, возник вопрос как править xenv? он расположен в начале zboot ? с этим разобрался (где и как править ясно)
вопрос в другом что править в xenv?
Ganz
 
Posts: 7
Joined: Thu Apr 12, 2012 14:35

Re: Описание Medi@link ML9700

Postby Gennadyi on Wed Apr 18, 2012 14:41

Ganz wrote:сразу скажу я это делаю первый раз :oops:
я xenv не правил, не знал. создал раздел, после MBR, в начало раздела zboot потом yamon потом linux. не заработало. потом нашел кусочек инструкции
( viewtopic.php?f=28&t=2245&st=0&sk=t&sd=a ) того что вы мне запостили целиком, разложил по смещениям которые указаны в инструкции - 0x80000, 0xc0000 и тп тоже не заработало. напало уныние :)
вот вы прислали полную инструкцию, возник вопрос как править xenv? он расположен в начале zboot ? с этим разобрался (где и как править ясно)
вопрос в другом что править в xenv?

я сам ни разу не собирал образ :(, пользовался результатами чужого труда
править xenv можно утилитой xenv.exe
Code: Select all
   *** SigmaPlayer Project представляет ***
   XENV - Утилита для работы с блоками XENV прошивок для плееров на базе чипов SMP86xx.
   Версия 1.00 (27.05.2010)
   (c) bombur, 2010. http://www.sigmaplayer.com

!Внимание!
Использование результатов работы этой программы может нанести вред вашему плееру.
Автор программы и проект SigmaPlayer не несут никакой ответственности за любые последствия, вызванные
работой этой программы. Используйте программу только на свой страх и риск.

!Внимание!
Использование этой программы требует определённой квалификации и не рекомендуется для обычных пользовалей
плееров.
------------------------------------------------------------------

Примеры использования:

ПРИМЕР 1
1) записываем список всех ключей и их значений в текстовый файл env_dump.txt
   "xenv phyblock0-0x20000padded.957-E1.bin > env_dump.txt"
2) копируем наш XENV в новый файл
   "copy phyblock0-0x20000padded.957-E1.bin new.bin"
3) редактируем файл env_dump.txt
4) обновляем новый XENV из текстового файла env_dump.txt
   "xenv new.bin env_dump.txt"
5) изменяем значение двух ключей в новом XENV
   "xenv new.bin x.boot=0x00005800 a.board_id='947-E2'"
6) файл new.bin теперь содержит изменённые значения ключей

***
Всего хорошего,
bombur.

P.S. По всем вопросам пишите на форум www.sigmaplayer.com
Gennadyi
Moderator
 
Posts: 941
Joined: Mon Nov 01, 2004 16:43

Re: Описание Medi@link ML9700

Postby Ganz on Thu Apr 19, 2012 21:08

Ну короче я написал бомбуру, может откликнется . буду сам еще ковырять.....
нашел интересную штуку, ноги на флешки не надо замыкать можно просто снять перемычку которая рядом с житагом
в принципе могу спаять микруху и зашить на программаторе, только шить нечего в нее :) повожусь, если ничего не родится буду в германию посылать ......

чего то редактора я не нашел на сайте
Ganz
 
Posts: 7
Joined: Thu Apr 12, 2012 14:35

Re: Описание Medi@link ML9700

Postby justason on Mon Apr 23, 2012 00:01

Я скачал доку с самого МИПСа про ЯМОН. И там ничего не говорится про нажимание "0" для входа в консоль ямона. Хотя упоминается в нескольких местах сочетание "CTRL-C" может его подергать?

Еще: на сайте pristavka.de смотри тему http://www.pristavka.de/index.php?topic=9501.0 там пробегал архив 667, в котором был правленый cramfsck для имеджей от медиялинка

dd if=patchmg_V6.bin of=patchmg_V6.bin.cramfs bs=56 skip=1
./cramfsck -vx ./patchmg_V6.bin.cramfs.files patchmg_V6.bin.cramfs

В папке будут ямон, збут и ядро линукса.

Может поможет...
justason
 
Posts: 10
Joined: Mon Jun 28, 2010 08:37

Re: Описание Medi@link ML9700

Postby Ganz on Sat Apr 28, 2012 08:41

Да вроде Gennadyi выложил куски (бут, ямон, линь) плюс я скачал с ульки, Sanja9 выкладывал, инструкцию по реанимации через ямон, там тоже были куски нужные.
Проблема в том что даже разложив по нужным смещениям все это дело, с винта не грузится. Высказали мнение , что надо править XENV? но я думаю что там еще надо что то править помимо установок XENV.
Ganz
 
Posts: 7
Joined: Thu Apr 12, 2012 14:35

Re: Описание Medi@link ML9700

Postby Gennadyi on Sat Apr 28, 2012 18:02

Ganz wrote:Да вроде Gennadyi выложил куски (бут, ямон, линь) плюс я скачал с ульки, Sanja9 выкладывал, инструкцию по реанимации через ямон, там тоже были куски нужные.
Проблема в том что даже разложив по нужным смещениям все это дело, с винта не грузится. Высказали мнение , что надо править XENV? но я думаю что там еще надо что то править помимо установок XENV.

постотрите xenv в других образвх для загрузки с HDD и сравните

ориентровочно здесь
Code: Select all
l.cs0_part1_offset = 0x00000000
l.cs0_part1_size = 0x00080000
l.cs0_part2_offset = 0x00080000
l.cs0_part2_size = 0x00040000
z.bootdev_order = 0x4140
z.boot0 = 0x0080000
z.boot1 = 0x0000000
z.default_boot = 0
a.sata_channel_cfg = 0x0000c057

x.ddr.verbose = 0x00000001
z.verbose = 0x00000001
z.interactive_boot_idx_sel = 0x00000001
z.splashscreen_enabled = 0x00000001
z.default_boot = 0x00000000
a.linux_cmd = "console=ttyS0 mem=200M"

Gennadyi
Moderator
 
Posts: 941
Joined: Mon Nov 01, 2004 16:43

Re: Описание Medi@link ML9700

Postby justason on Wed Jun 13, 2012 11:09

Не могу войти в Ямон.

Подключился 115200/8/None/RTSCTS (на 38400 кракозяблики) жму 0, Ctrl-C, esc, space, enter - без толку: Продолжает загрузку...
justason
 
Posts: 10
Joined: Mon Jun 28, 2010 08:37

Re: Описание Medi@link ML9700

Postby Gennadyi on Wed Jun 13, 2012 12:23

justason wrote:Не могу войти в Ямон.

Подключился 115200/8/None/RTSCTS (на 38400 кракозяблики) жму 0, Ctrl-C, esc, space, enter - без толку: Продолжает загрузку...

покажите лог консоли,
в Putty есть Special Command > Break , попробуйте ее
или грузитесь с HDD
Gennadyi
Moderator
 
Posts: 941
Joined: Mon Nov 01, 2004 16:43

PreviousNext

Return to Medi@link ML9700

Who is online

Users browsing this forum: Web crawler and 0 guests