Образ для снятия дампа разделов eMMC контроллера Wiren Board

Материал из Wiren Board

(разн.) ← Предыдущая | Подтверждённая версия (разн.) | Текущая версия (разн.) | Следующая → (разн.)

Это черновик страницы. Последняя правка сделана 28.06.2024 пользователем A.Ksenofontov.

Описание

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

Также с помощью этого образа можно прошить контроллер релизом wb-2204 с удалением всех данных.

Подготовка карты памяти

Размер карты памяти надо выбрать так, чтобы все файлы на контроллере в неё точно поместились. Чтобы сохранить данные с чистого контроллера достаточно будет 2 Гбайтной карты памяти, рекомендуем взять от 16 Гбайт и выше.

Загрузите образ для своей версии контроллера:

  • Wiren Board 7.x — wb7_recovery_microsd.img
  • Wiren Board 6 — в разработке

Далее следуйте инструкциям для своей операционной системы.

Linux

Внимательно выберите имя карты памяти для записи! Если ошибётесь, потеряете информацию на другом диске.

  1. Откройте консоль в папке с файлом образа.
  2. Важно правильно определить путь к карте памяти:
    • Не вставляя накопитель, выполните команду lsblk:
    ~# lsblk
    NAME         MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    mmcblk0      179:0    0  7.1G  0 disk
    |-mmcblk0p1  179:1    0   16M  0 part
    |-mmcblk0p2  179:2    0    1G  0 part /
    |-mmcblk0p3  179:3    0    1G  0 part
    |-mmcblk0p4  179:4    0    1K  0 part
    |-mmcblk0p5  179:5    0  256M  0 part [SWAP]
    `-mmcblk0p6  179:6    0  4.8G  0 part /mnt/data
    mmcblk0boot0 179:8    0   16M  1 disk
    mmcblk0boot1 179:16   0   16M  1 disk
    
    • Вставьте карту памяти в компьютер и снова выполните команду lsblk:
    ~# lsblk
    NAME         MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    sda            8:0    1 14.5G  0 disk
    `-sda1         8:1    1 14.5G  0 part
    mmcblk0      179:0    0  7.1G  0 disk
    |-mmcblk0p1  179:1    0   16M  0 part
    |-mmcblk0p2  179:2    0    1G  0 part /
    |-mmcblk0p3  179:3    0    1G  0 part
    |-mmcblk0p4  179:4    0    1K  0 part
    |-mmcblk0p5  179:5    0  256M  0 part [SWAP]
    `-mmcblk0p6  179:6    0  4.8G  0 part /mnt/data
    mmcblk0boot0 179:8    0   16M  1 disk
    mmcblk0boot1 179:16   0   16M  1 disk
    
    У нас появилось новое устройство с именем sda и емкостью 14.5G — это наша карта памяти.
  3. Запишите образ на карту памяти, указывайте имя устройства без цифр:
    sudo dd if=wb7_recovery_microsd.img of=/dev/sda bs=1M conv=fsync status=progress
    
    в примере мы записываем образ wb7_recovery_microsd.img на карту памяти с именем /dev/sda

Windows

Для записи образа на microSD в операционной системе Windows нужно использовать сторонее ПО, например Rufus.

Откройте программу, выберите в строке устройство microSD, куда нужно записать образ, нажмите Выбрать и укажите путь до образа системы. Нажмите Старт.

По завершении записи на microSD надпись Готов будет подсвечена зелёным цветом.

Окно программы Rufus

Снятие дампа и архивирование файлов

Во время процедуры контроллер загрузится с карты памяти MicroSD и будет на протяжении процесса копирования файла негромко попискивать зуммером. Для удобства рекомендуем подключить Debug Console, чтобы контролировать процесс.

  1. Выключите контроллер.
  2. Вставьте сбоку в разъём карту памяти MicroSD.
  3. Включите контроллер.
  4. Контроллер начнёт грузиться, потом перейдёт в режим сбора дампов и файлов. Вам надо просто подождать, выглядеть в Debug Console это будет примерно так:
    ------------Hello from WirenBoard recovery dumper!---------------
    
    [    4.859504] EXT4-fs (mmcblk1p3): mounting ext2 file system using the ext4 subsystem
    [    4.875233] EXT4-fs (mmcblk1p3): mounted filesystem without journal. Opts: (null)
    Allocated partition to all free space!
    ---- Press & hold FW button to confirm Factoryreset from safe builtin FIT; Do nothing to dump files from WB
    
    ---- Backing up emmc beginning
    [    8.831155] random: crng init done
    ++++ Done
    
    ---- Backing up mmcblk0p1
    ++++ Done
    
    ---- Backing up mmcblk0p3
    ++++ Done
    
    ---- Backing up mmcblk0p4
    ++++ Done
    
    ---- Backing up mmcblk0p5
    ++++ Done
    
    ---- Backing up all files
    [   26.214179] EXT4-fs (mmcblk0p2): recovery complete
    [   26.219562] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
    [   27.141322] EXT4-fs (mmcblk0p6): recovery complete
    [   27.146571] EXT4-fs (mmcblk0p6): mounted filesystem with ordered data mode. Opts: (null)
    [   33.758785] vcc-gmac-phy: disabling
    [   33.762672] dc5ldo: disabling
    [   33.766712] dldo4: disabling
    ++++ Done
    ------ OKAY
    
    
    BusyBox v1.30.1 (Debian 1:1.30.1-6+b3) built-in shell (ash)
    Enter 'help' for a list of built-in commands.
    
    sh: can't access tty; job control turned off
    ~ #
    
  5. В конце контроллер издаст серию из трёх сигналов и выключит зуммер, а индикатор будет мигать зелёным.

В процессе пустой раздел на карте памяти займёт всё свободное пространство и на него будут записаны снятые дампы и архив с файлами. Размер архива с данными зависит от размера файлов на контроллере.

File dumps.png

Windows

Так как ОС Windows не поддерживает разметку загрузочной microSD, для доступа к файлам необходимо использовать стороннее ПО, например Ext2Fsd.

После её установки, откройте программу Ext2 Volume Manager, дамп системы контроллера Wirenboard будет на последнем разделе microSD, с файловой системой exFAT. Для его подключения откройте контекстное меню этого раздела и нажмите Assign Drive Letter. Откройте Проводник — Этот Компьютер — dump (F:)(буква может быть любая).

Прошивка с удалением данных

Для удобства рекомендуем подключить Debug Console, чтобы контролировать процесс.

  1. Выключите контроллер.
  2. Вставьте сбоку в разъём карту памяти MicroSD.
  3. Зажмите кнопку FW на контроллере.
  4. Включите контроллер.
  5. Контроллер начнёт грузиться, и издаст длинный сигнал и ещё пять коротких подтверждающих переход к процессу сброса.
  6. Отпустите кнопку.
  7. Процесс сброса занимает 2 минуты.
  8. Дождитесь полного сброса контроллера, прозвучит три коротких сигнала, выглядеть в Debug Console это будет примерно так:
------------Hello from WirenBoard recovery dumper!---------------

[    3.694080] EXT4-fs (mmcblk1p3): mounted filesystem 6cc70e37-1fe7-4dd7-add4-2818a67edbd1 r/w without journal. Quota mode: none.
---- Allocated partition to all free space!
---- Press & hold FW button to confirm Factoryreset from safe builtin FIT; Do nothing to dump files from WB
---- FR confirmed!
[   22.868420] EXT4-fs (mmcblk0p6): mounted filesystem 4cd271f9-5477-47cb-a2f0-d55ea214bb08 r/w with ordered data mode. Quota mode: none.
[   33.756648] dcdc4: disabling
[   40.584245] EXT4-fs (mmcblk0p2): mounted filesystem a0353133-9963-42af-8d18-08d39d11fbf8 r/w with ordered data mode. Quota mode: none.
[   44.097969] EXT4-fs (mmcblk0p2): unmounting filesystem a0353133-9963-42af-8d18-08d39d11fbf8.
[   44.138675] EXT4-fs (mmcblk0p2): mounted filesystem a0353133-9963-42af-8d18-08d39d11fbf8 r/w with ordered data mode. Quota mode: none.
[   67.457976] random: crng init done
[   76.648572] loop0: detected capacity change from 0 to 32768
[   76.676595] loop0: detected capacity change from 32768 to 24576
[   76.689418] EXT4-fs (loop0): mounted filesystem 17e93c7e-413f-437b-90fb-19cdba5ef4e5 ro without journal. Quota mode: none.
[   76.709599] EXT4-fs (loop0): unmounting filesystem 17e93c7e-413f-437b-90fb-19cdba5ef4e5.
[   82.538911] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /soc/spi@5011000/wbec@0/status
[   82.549579] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /soc/spi@5011000/status
[   82.559581] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /i2c_wbec/status
[   82.608897] wbec-pwrkey wbec-pwrkey.5.auto: wbec_pwrkey_remove function
[   82.648019] gpio-231 (sda): enforced open drain please flag it properly in DT/ACPI DSDT/board file
[   82.657020] gpio-232 (scl): enforced open drain please flag it properly in DT/ACPI DSDT/board file
[   82.666268] i2c-gpio i2c_wbec: using lines 231 (SDA) and 232 (SCL)
[   86.926316] sun6i-spi 5011000.spi: Failed to request TX DMA channel
[   86.932614] sun6i-spi 5011000.spi: Failed to request RX DMA channel
[   86.940023] wbec-adc wbec-adc.1.auto: DMA mask not set
[   86.945656] wbec-gpio wbec-gpio.2.auto: DMA mask not set
[   86.951504] wbec-watchdog wbec-watchdog.3.auto: DMA mask not set
[   86.957947] wbec-rtc wbec-rtc.4.auto: DMA mask not set
[   86.963938] wbec-rtc wbec-rtc.4.auto: registered as rtc1
[   86.969497] wbec-pwrkey wbec-pwrkey.5.auto: DMA mask not set
[   86.975291] input: wbec pwrkey as /devices/platform/soc/5011000.spi/spi_master/spi0/spi0.0/wbec-pwrkey.5.auto/input/input1
[   86.986788] wbec-power wbec-power.6.auto: DMA mask not set
[   86.992596] wbec spi0.0: WBEC device added
[   87.039926] /dev/mmcblk0p6: Can't open blockdev
[   88.009023] EXT4-fs (mmcblk0p2): unmounting filesystem a0353133-9963-42af-8d18-08d39d11fbf8.
++++ FR done!
[   88.057700] /dev/mmcblk0p6: Can't open blockdev
---- Factory FIT was untouched
------ OKAY


BusyBox v1.30.1 (Debian 1:1.30.1-6+b3) built-in shell (ash)
Enter 'help' for a list of built-in commands.

sh: can't access tty; job control turned off