Свежие комментарии
    Благодарности: денежное общество и мойка авто

    Создаем образы дисков в Linux и Windows с помощью dd .

    Для записи образов дисков используют в Windows используют Win32DiskImager, обычно образы делают размером со всю карту памяти, в то время как данных на карте памяти 10-20% от размера SD карты, смысл ждать записи пустого места и потом загружать на файлобменники пустое место нелогично. В статье рассмотрим как уменьшить размер образа.

    Подготовка SD карты (уменьшаем размер раздела).

    Для того чтобы уменьшить размера образа и этот образ далее можно было записать на SD карту для использования надо уменьшить рабочие разделы на карте памяти, я меняю разделы с помощью gparted

    Если у Вас операционная система Linux, то установить и запустить gparted у Вас не составить труда, если у Вас Windows то необходимо скачать LiveCD на официальном сайте.

    Загружаемся с Live CD и запускаем gparted, программа должна быть запущена с правами суперпользователя, я запускаю консоль, потом ввожу команду

    sudo gparted

    Выбираем диск с которым будем работать, у меня это диск /dev/sdb (7.5 ГиБ), на SD карту установлена DietPI для OrangePi PC и имеет 2 раздела BOOT и linux, у меня уже размер уменьшен, уменьшать мы будем раздел linux, для этого сначала надо отмонтировать этот раздел, нажимаем правой кнопкой мыши на разделе в основном окне где список разделов и в выпадающем меню выбираем Отмонтировать

    Далее опять нажимаем на название раздела и выбираем пункт меню Изменить размер/Переместить

    меняем раздел уменьшая его так, чтобы оставалось ещё свободное место ,если при изменении выдаст ошибку, то делаем раздел побольше.

    Нажимаем на кнопку Изменить размер или переместить

    Но раздел у нас ещё не изменен, для выполнения изменения раздела надо нажать на кнопку

    в появившимся диалоге нажать кнопку Применить

    На этом изменение раздела завершено.

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

    Смотрим последний сектор, это число надо умножить на 0,5 и разделить на 1024 и полученное число округлить до ближайшего большего целого у меня получилось число 2621.

    Создаем образ SD карты.

    Linux

    Для начала надо узнать какой раздел имеет SD карта командой df -h

     

    df -h
    Файл.система            Размер Использовано  Дост Использовано% Cмонтировано в
    udev                      959M            0  959M            0% /dev
    tmpfs                     195M         5,7M  190M            3% /run
    /dev/sda5                  37G         8,3G   27G           24% /
    tmpfs                     975M         214M  762M           22% /dev/shm
    tmpfs                     5,0M         4,0K  5,0M            1% /run/lock
    tmpfs                     975M            0  975M            0% /sys/fs/cgroup
    /dev/sda6                 189G         169G   11G           94% /home
    tmpfs                     195M          44K  195M            1% /run/user/1000
    /home/immortal/.Private   189G         169G   11G           94% /home/immortal
    /dev/sdd1                 7,5G         7,4G  124M           99% /media/immortal/D4C0-E1C8

    Теперь делаем образ нашей карты памяти командой в консоли

    dd of=./image.img if=/dev/sdd bs=1M count=2700

    где:
    of=./image.img — куда сохраняем образ
    if=/dev/sdd — наша флэшка
    bs=1M — размер блока
    count=2700 — кол-во блоков (если не задать то вся карта памяти)

    У меня взят размер больший чем конец второго раздела который в прошлом разделе мы считали и получили 2621.

    Дожидаемся окончания и образ готов, для выкладывания Вашего образа в интернет рекомендую его архивировать.

    Windows.

    Для операционной системы Windows так же есть программа dd, качаем с сайта windows версию,

    распаковываем на диск, я распаковал в директорию c:\dd, запускаем командную строку cmd и переходим в директорию c:\dd

    переход на уровень вверх командой

    cd ..

    переход в каталог dd

    cd dd

    Нам надо выяснить как в программе будет называться наша SD карта, для этого выполняем команду

    dd --list

    Получим вот такой вывод:

    spoiler

    C:\dd>dd —list
    rawwrite dd for windows version 0.6beta3.
    Written by John Newbigin <jn@it.swin.edu.au>
    This program is covered by terms of the GPL Version 2.

    Win32 Available Volume Information
    \\.\Volume{9d07ee41-7f51-11e6-8a54-806d6172696f}\
    link to \\?\Device\HarddiskVolume1
    fixed media
    Mounted on \\.\c:

    \\.\Volume{9d07ee42-7f51-11e6-8a54-806d6172696f}\
    link to \\?\Device\HarddiskVolume2
    fixed media
    Mounted on \\.\e:

    \\.\Volume{9d07ee40-7f51-11e6-8a54-806d6172696f}\
    link to \\?\Device\CdRom0
    CD-ROM
    Mounted on \\.\f:

    \\.\Volume{9d07ee43-7f51-11e6-8a54-806d6172696f}\
    link to \\?\Device\Harddisk1\DP(1)0-0+7
    removeable media
    Mounted on \\.\g:

    \\.\Volume{65631e9b-e16a-11e6-a6fc-3c970e836769}\
    link to \\?\Device\Harddisk2\DP(1)0-0+11
    removeable media
    Mounted on \\.\h:
    NT Block Device Objects
    \\?\Device\CdRom0
    size is 2147483647 bytes
    \\?\Device\Harddisk0\Partition0
    link to \\?\Device\Harddisk0\DR0
    Fixed hard disk media. Block size = 512
    size is 320072933376 bytes
    \\?\Device\Harddisk0\Partition1
    link to \\?\Device\HarddiskVolume1
    \\?\Device\Harddisk0\Partition2
    link to \\?\Device\HarddiskVolume2
    Fixed hard disk media. Block size = 512
    size is 1391460352 bytes
    \\?\Device\Harddisk0\Partition3
    link to \\?\Device\HarddiskVolume3
    Fixed hard disk media. Block size = 512
    size is 3999268864 bytes
    \\?\Device\Harddisk0\Partition4
    link to \\?\Device\HarddiskVolume4
    Fixed hard disk media. Block size = 512
    size is 14998831104 bytes
    \\?\Device\Harddisk0\Partition5
    link to \\?\Device\HarddiskVolume5
    Fixed hard disk media. Block size = 512
    size is 29318184960 bytes
    \\?\Device\Harddisk1\Partition0
    link to \\?\Device\Harddisk1\DR6
    \\?\Device\Harddisk1\Partition1
    link to \\?\Device\Harddisk1\DP(1)0-0+7
    \\?\Device\Harddisk2\Partition0
    link to \\?\Device\Harddisk2\DR16
    Removable media other than floppy. Block size = 512
    size is 8053063680 bytes
    \\?\Device\Harddisk2\Partition1
    link to \\?\Device\Harddisk2\DP(1)0-0+11
    Removable media other than floppy. Block size = 512
    size is 67108864 bytes

    Virtual input devices
    /dev/zero (null data)
    /dev/random (pseudo-random data)
    — (standard input)

    Virtual output devices
    — (standard output)
    /dev/null (discard the data)

    C:\dd>

    У меня SD карта имеет 2 раздела один из которых fat32, естественно в Windows не видно раздела Linux, поэтому если у Вас SD карта имеет только раздел Linux, то возможно имя диска выделенное красным которое я получил Вы не увидите, для этого есть ниже информация о диске которую можно использовать, она выделена синим цветом.

    \\?\Device\Harddisk2\Partition0
    link to \\?\Device\Harddisk2\DR16
    Removable media other than floppy. Block size = 512
    size is 8053063680 bytes
    \\?\Device\Harddisk2\Partition1
    link to \\?\Device\Harddisk2\DP(1)0-0+11
    Removable media other than floppy. Block size = 512
    size is 67108864 bytes

    как раз размер раздела \\?\Device\Harddisk2\Partition0 равен размеру моей SD карты, в прочем Вы можете сначала выполнить команду dd —list без вставленной SD карты, а потом со вставленной SD картой.

    В качестве имени нашей SD карты можно использовать любое, выделенное в статье красным или синим.

    теперь выполняем команду:

    dd if=\\?\Device\Harddisk2\Partition0 of=image.img bs=1M count=2700 --size --progress

    где:
    of=image.img — имя файла образа, будет создан в папке с программой dd
    if=\\?\Device\Harddisk2\Partition0 — наша флэшка (можно \\.\Volume{65631e9b-e16a-11e6-a6fc-3c970e836769})
    bs=1M — размер блока
    count=2700 — кол-во блоков (если не задать то вся карта памяти)

    ну и два последних флага для того, чтобы во время создания образа видеть прогресс.

    У меня взят размер больший чем конец второго раздела который в первом разделе статьи мы считали и получили 2621.

    Дожидаемся окончания и образ готов, для выкладывания Вашего образа в интернет рекомендую его архивировать.

    Создаем образ nand-флэш

    Предполагается, что на Вашем raspberry, Cubieboard, OrangePi и т.п. установлена Linux в nand (emmc), а следовательно там имеется программа dd.

    1. загружаем Linux которая установлена в nand
    2. подключаем к нашему raspberry, Cubieboard, OrangePi и т.п. USB флэшку с свободным местом большим размера nand
    3. подключаемся по ssh, из Windows можно использовать программу putty
    4. создаем дирректорию
    mkdir /tmp/disk

    5. монтируем флэшку
    mount /dev/sda1 /tmp/disk

    6. создаем образ из nand
    dd of=/tmp/disk/image.img if=/dev/nand

    где /dev/nand это nand диск в cubienoard2, на других платах может отличаться.

    Записываем образ обратно на SD карту.

    Записать образ можно как с помощью программы dd, так и в windows программой ImageWriter или  Win32DiskImager

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

    Поделиться в соц. сетях

    Опубликовать в Facebook
    Опубликовать в Google Buzz
    Опубликовать в Google Plus
    Опубликовать в LiveJournal
    Опубликовать в Мой Мир
    Опубликовать в Одноклассники
    Опубликовать в Яндекс

    Комментарии закрыты.