четверг, 30 июня 2016 г.

Дамп загрузчика сетевого накопителя Freecom SilverStore NAS



Сетевой накопитель Freecom SilverStore NAS построен на базе SoC Marvell Feroceon 88F6282 rev A1 работающей на частоте 1000Mhz, название на материнской плате HNC-N2 LE.

Системная плата

На плате также установлены:

  • один чип оперативки размером 128 MB (Samsung K4B1G1646G, есть место под распайку второго)
  • NAND флеш 128MB (Samsung K9F1G08U0D)
  • USB 3.0 контроллер D720200F1
  • Ethernet контроллер Marvell 88E1318
  • Контроллер вентилятора ADT7473

Распиновка разъема консоли

Разделы в NAND-flash:

  • uboot 0x0-0xA0000
  • param 0xA0000-0xE0000
  • preroot 0xE0000-0x360000
  • rootfs 0x6E0000-0x7DC0000
  • misc 0x7DC0000-0x8000000

Переменная окружения bootcmd загрузчика при каждом запуске устройства инициализируется в заводское состояние (за что отдельное "спасибо" производителю), что значительно усложняет запуск собственной ОС на устройстве. Она содержит следующие команды:

nand reset; nand read.e 0x800000 0x00100000 0x00199800; check_crc32 PrEr; nand reset; nand read.e 0x40000 0x00380000 0x00380800; check_crc32 KrNl; setenv bootargs $(console) $(bootargs_root);  bootm 0x40000;

Поскольку у меня в устройстве полетел раздел preroot, его образа отдельно нет и фирменная утилита его восстанавливать отказывается, решил на всякий случай сдампить загрузчик NAS, возможно он кому-то пригодится для оживления убитого девайса.

Дамп загрузчика можно скачать здесь.

Для того чтобы запустить убитое устройство необходимо подсоединиться к его последовательной консоли с помощью USB-UART кабеля и воспользоваться утилитой kwboot, ее можно скачать здесь.
Далее запустить утилиту командой:

sudo ./kwboot -p -t /dev/ttyUSB0 -b ./SilverStore_u_boot_dump.bin

И после этого включить питание устройства кнопкой.


References:

1. Booting Kirkwood devices

Комментариев нет:

Отправить комментарий