Создание microSD-карты с образом/en: различия между версиями

Материал из Wiren Board
(Новая страница: «===Build together===»)
(Новая страница: «According to [http://eewiki.net/display/linuxonarm/iMX233-OLinuXino]»)
Строка 57: Строка 57:
===Build together===
===Build together===


Согласно [http://eewiki.net/display/linuxonarm/iMX233-OLinuXino]
According to [http://eewiki.net/display/linuxonarm/iMX233-OLinuXino]


* разбить флешку на два раздела
* разбить флешку на два раздела

Версия 13:06, 3 июня 2019

Другие языки:

Recording the finished image on the card

Selecting the desired image

  • Go to the finished images page in Github and select the desired image:
    • for Wiren Board 4 - name ends as _wb4
    • for Wiren Board Smart Home 3.5 - ends as _wb3
      • if the serial number of your Wiren Board Smart Home 3.5 is more than 300 - use the image with newwifi in the title
    • for WB rev. 2.8 - ends as _wb28
    The image will have an .dd extension, either .DD.gz, or img.zipper .dd, or .dd.gz, or img.zip
  • Unpack the archive
  • Follow the instructions for your operating system


For Windows

  • download a program to record images(for example, Win32DiskImager)
  • insert the microSD card into the reader
  • find out the letter under which it appeared (for example "F:")
  • ignore messages about the disk format before use, if such appear
  • make sure no other programs are using this card
  • in Win32DiskImager, select the unpacked map image, select the drive letter, and then click Write


For Linux

  • insert the microSD card into the reader
  • find out the name of the device corresponding to the map. This is usually /dev/mmcblk0 or /dev/sdX (where X is the letter). This command can help
    dmesg | tail
    Do not confuse the device name! Incorrectly specifying the name of the device, you will lose all data on your computer forever!
  • umount partitions of the map I remontiroval Linux automatically:
    • if the device is called / dev /mmcblk0, the partitions are called/dev /mmcblk0p1,/dev /mmcblk0p2, etc.
    • if the device is called / dev /sdb, the partitions are/dev /sdb1,/dev /sdb2, etc.
  • An example of a command:
    umount /dev/mmcblk0p1
  • flash the card:
    sudo dd if=sdcard.dd of=/dev/mmcblk0 bs=4M

, where "sdcard.dd" is path to the previously downloaded unzipped image file.

An example of the process:

wget https://github.com/contactless/wirenboard/releases/download/0.6-20140614/sdcard_20140614.img.zip
unzip sdcard_20140614.img.zip
umount /dev/mmcblk0p2
umount /dev/mmcblk0p1
sudo dd if=sdcard_20140614.img of=/dev/mmcblk0 bs=4M conv=fdatasync
sync


Creating an image in parts

Attention! This is a complex version of self-preparation of the image of the card. It is better to use the option described above.

Attention! On November 6, 2015 instruction below is also hopelessly outdated.

Build together

According to [1]

  • разбить флешку на два раздела
  • записать u-boot на первый раздел
  • создать фс на втором разделе
  • скопировать rootfs на второй раздел

Сначала надо выяснить имя устройства с флеш-картой. Воспользуйтесь поиском. Можно, к примеру, попробовать запустить gparted и посмотреть в нём. Устройство может быть /dev/sdb, а может выглядеть и как /dev/mmcblk0

Найдя устройство создаем переменную чтобы облегчить себе использование нижеследующих комманд

MYDISK="/dev/sdb"

Между кавычками пишем название своего устройства с флеш-картой.


Таблица разделов

Перед запуском убедитесь, что разделы на карточке не примонтированы.

Теперь с помощью скрипта создадим разделы на карте. [2]

Скачиваем скрипт:

wget [https://raw.github.com/contactless/wirenboard/master/image/create_partitions.sh]

Запускаем скрипт и указываем ему имя устройства с флеш-картой:

sudo bash create_partitions.sh $MYDISK


Загрузчик

См. Сборка U-Boot.

Готовый образ u-boot для записи в раздел: u-boot

Скачиваем образ

wget "https://github.com/contactless/wirenboard/blob/master/contrib/u-boot/u-boot.sb.cl25?raw=true" -O u-boot.sb

Теперь выясняем имена разделов на карте. Скрипт выше отработал и разделил карту на разделы, нам надо узнать название первого из этих разделов. Если название устройства microSD-карты имело вид /dev/sdX, то первый раздел будет иметь название /dev/sdX1. Если устройство называлось /dev/mmcblkX , то первый раздел - /dev/mmcblkXp1 (обратите внимание на p перед номером раздела).

Найдя имя первого раздела укажите его тут:

MYDISK1="/dev/sdb1"

Теперь заливаем образ раздела на карту

sudo dd if=u-boot.sb of=$MYDISK1 bs=512 seek=4


Создание фс

Находим название второго раздела на флешке и прописываем его в переменную

MYDISK2="/dev/sdb2"

rootfs станет названием этого раздела.

sudo mkfs.ext4 $MYDISK2 -L rootfs


Копирование образа на раздел

Готовый образ (включая ядро, dtbs, модули и прошивки): releases


См. также Сборка образа

wget https://github.com/contactless/wirenboard/releases/download/0.1/rootfs.tar.gz

Теперь надо примонтировать созданную файловую систему созданную нами ранее. Как это сделать в терминале?

По-умолчанию в Ubuntu она монтируется в /media/$USER/rootfs/. Найдите куда система смонтировалась на вашем компьютере.

Распаковываем образ на раздел:

 sudo tar xfpz rootfs.tar.gz -C /media/$USER/rootfs/


Отмонтируем файловую систему:

umount /media/user/rootfs


Пример

ОС Ubuntu, свежая SD-карта подключенная к встроенному считывателю и определяющаяся как /dev/mmcblk0. Репозиторий скачан, мы находимся в его корне.

Образ rootfs.tar.gz находится внутри папки rootfs.

cd image
sudo umount /dev/mmcblk0p1
sudo ./create_partitions.sh  /dev/mmcblk0
sudo dd if=../contrib/u-boot/u-boot.sb  of=/dev/mmcblk0p1 bs=512 seek=4
sudo ./create_fs.sh /dev/mmcblk0p2


# Ubuntu automount:
udisksctl mount -b /dev/mmcblk0p2

#extract rootfs
sudo tar xfpz ../rootfs/rootfs.tar.gz -C /media/$USER/rootfs/

umount /dev/mmcblk0p2


См. также Стандартный образ ФС.