Mistake on this page? Email us

Writing and booting the disk image

This section contains instructions for writing the full disk image to a:

  • Warp7 device.
  • Raspberry Pi 3 device.

Warp7 devices

To write your disk image to the Warp7's flash device, you must first access the Warp7's serial console. To do this:

  1. Connect both the Warp7's USB socket (on the I/O board) and the Warp7's mass storage USB socket (on the CPU board) to your PC.

    You should now be able to see a USB TTY device, such as, /dev/ttyUSB0, on your PC.

  2. Connect to the Warp7's console using a command such as:

    minicom -D /dev/ttyUSB0
    

    Use the following settings:

    • Baud rate: 115200.
    • Encdoing: 8N1.
    • No hardware flow control (enabled by default).
  3. Check the current storage devices on your PC:

    ls -l /dev/disk/by-id/
    

    A list of devices displays. For example:

    total 0
    lrwxrwxrwx 1 root root  9 Mar 19 10:38 ata-Crucial_CT240M500SSD1_140709691C39 -> ../../sda
    lrwxrwxrwx 1 root root 10 Mar 19 10:38 ata-Crucial_CT240M500SSD1_140709691C39-part1 -> ../../sda1
    lrwxrwxrwx 1 root root 10 Mar 19 10:38 ata-Crucial_CT240M500SSD1_140709691C39-part2 -> ../../sda2
    lrwxrwxrwx 1 root root 10 Mar 19 10:38 ata-Crucial_CT240M500SSD1_140709691C39-part3 -> ../../sda3
    lrwxrwxrwx 1 root root  9 Mar 19 10:38 ata-HL-DT-ST_DVD+_-RW_GHB0N_K8RD9II5408 -> ../../sr0
    lrwxrwxrwx 1 root root  9 Mar 19 10:38 ata-ST1000DM003-1CH162_W1D2QL7A -> ../../sdb
    lrwxrwxrwx 1 root root 10 Mar 19 10:38 ata-ST1000DM003-1CH162_W1D2QL7A-part1 -> ../../sdb1
    lrwxrwxrwx 1 root root 10 Mar 19 10:38 ata-ST1000DM003-1CH162_W1D2QL7A-part2 -> ../../sdb2
    lrwxrwxrwx 1 root root 10 Mar 19 10:38 ata-ST1000DM003-1CH162_W1D2QL7A-part3 -> ../../sdb3
    lrwxrwxrwx 1 root root 10 Mar 19 10:38 ata-ST1000DM003-1CH162_W1D2QL7A-part4 -> ../../sdb4
    lrwxrwxrwx 1 root root 10 Mar 19 10:38 ata-ST1000DM003-1CH162_W1D2QL7A-part5 -> ../../sdb5
    

    You'll need to refer to this output in the following steps, so save it for reference.

  4. If you got a U-boot prompt on the device, continue to the next step.

    If you got an operating system boot (for example, Android), reboot the device until you get a U-boot prompt, and then press any key to prevent the operating system from booting again. Continue to the next step.

  5. To expose the Warp7's flash device to Linux as USB mass storage, in the U-boot prompt, enter:

    ums 0 mmc 0
    

    On the Warp7, you now see an ASCII-art "spinner". On your PC, you now see new storage devices:

    ls -l /dev/disk/by-id/
    

    In this example, the Warp7 is listed as usb-Linux_UMS_disk_0 (the partitions on the device are also shown):

    total 0
    lrwxrwxrwx 1 root root  9 Mar 19 10:38 ata-Crucial_CT240M500SSD1_140709691C39 -> ../../sda
    lrwxrwxrwx 1 root root 10 Mar 19 10:38 ata-Crucial_CT240M500SSD1_140709691C39-part1 -> ../../sda1
    lrwxrwxrwx 1 root root 10 Mar 19 10:38 ata-Crucial_CT240M500SSD1_140709691C39-part2 -> ../../sda2
    lrwxrwxrwx 1 root root 10 Mar 19 10:38 ata-Crucial_CT240M500SSD1_140709691C39-part3 -> ../../sda3
    lrwxrwxrwx 1 root root  9 Mar 19 10:38 ata-HL-DT-ST_DVD+_-RW_GHB0N_K8RD9II5408 -> ../../sr0
    lrwxrwxrwx 1 root root  9 Mar 19 10:38 ata-ST1000DM003-1CH162_W1D2QL7A -> ../../sdb
    lrwxrwxrwx 1 root root 10 Mar 19 10:38 ata-ST1000DM003-1CH162_W1D2QL7A-part1 -> ../../sdb1
    lrwxrwxrwx 1 root root 10 Mar 19 10:38 ata-ST1000DM003-1CH162_W1D2QL7A-part2 -> ../../sdb2
    lrwxrwxrwx 1 root root 10 Mar 19 10:38 ata-ST1000DM003-1CH162_W1D2QL7A-part3 -> ../../sdb3
    lrwxrwxrwx 1 root root 10 Mar 19 10:38 ata-ST1000DM003-1CH162_W1D2QL7A-part4 -> ../../sdb4
    lrwxrwxrwx 1 root root 10 Mar 19 10:38 ata-ST1000DM003-1CH162_W1D2QL7A-part5 -> ../../sdb5
    lrwxrwxrwx 1 root root  9 Mar 26 14:00 usb-Linux_UMS_disk_0-0:0 -> ../../sdc
    lrwxrwxrwx 1 root root 10 Mar 26 14:00 usb-Linux_UMS_disk_0-0:0-part1 -> ../../sdc1
    lrwxrwxrwx 1 root root 10 Mar 26 14:00 usb-Linux_UMS_disk_0-0:0-part2 -> ../../sdc2
    lrwxrwxrwx 1 root root 10 Mar 26 14:00 usb-Linux_UMS_disk_0-0:0-part3 -> ../../sdc3
    

    mbl-console-image-test-imx7s-warp-mbl.wic.gz is a full disk image, so it should be written to the whole flash device, not a partition.

    The device file for the whole flash device is the one without -part in the name (/dev/disk/by-id/usb-Linux_UMS_disk_0-0:0 in this example).

  6. Ensure that none of the Warp7's flash partitions are mounted (you may need to adjust the path depending on the name of the storage device):

    sudo umount /dev/disk/by-id/usb-Linux_UMS_disk_0-0:0-part*
    
  7. From a Linux prompt, write the disk image to the Warp7's flash device (replace <device-file-name> with the correct device file for the Warp7's flash device; in this example, it would be usb-Linux_UMS_disk_0-0:0):

    sudo bmaptool copy --nobmap /path/to/artifacts/machine/imx7s-warp-mbl/images/mbl-image-development/images/mbl-image-development-imx7s-warp-mbl.wic.gz /dev/disk/by-id/<device-file-name>
    

    This action may take some time.

    Tip: Use --nobmap for the initial flashing, to ensure your flash is set up correctly. On all subsequent flashings, you can use the --bmap option with a bmap file to speed up the process: sudo bmaptool copy --bmap /path/to/artifacts/machine/imx7s-warp-mbl/images/mbl-image-development/images/mbl-image-development-imx7s-warp-mbl.wic.bmap /path/to/artifacts/machine/imx7s-warp-mbl/images/mbl-image-development/images/mbl-image-development-imx7s-warp-mbl.wic.gz /dev/disk/by-id/<device-file-name>

  8. When bmaptool has finished, eject the device (replace <device-file-name> with the correct device file for the Warp7's flash device; in this example, it would be usb-Linux_UMS_disk_0-0:0):

    sudo eject /dev/disk/by-id/<device-file-name>
    
  9. On the Warp7's U-boot prompt, press Ctrl-C to exit USB mass storage mode.

  10. Reboot the Warp7:

    reset
    

    The device now boots into MBL.

Raspberry Pi 3 devices

  1. Connect a micro-SD card to your PC. You now see:

    • The SD card device file in /dev, probably as /dev/sdX for some letter X (for example, /dev/sdd).
    • Device files for its partitions. /dev/sdXN for the same letter X and some numbers N (for example, /dev/sdd1 and /dev/sdd2).

    In the commands below, replace /dev/sdX with the device file name for the SD card without a number at the end. You can use lsblk to identify the name of the SD card device.

  2. Ensure none of the micro-SD card's partitions are mounted (replace /dev/sdX as explained above):

    sudo umount /dev/sdX*
    
  3. Write the disk image to the SD card device - not a partition on it (replace /dev/sdX as explained above):

    sudo bmaptool copy --nobmap /path/to/artifacts/machine/raspberrypi3-mbl/images/mbl-image-development/images/mbl-image-development-raspberrypi3-mbl.wic.gz /dev/sdX
    

    This action may take some time.

    Tip: Use --nobmap for the initial flashing, to ensure your flash is set up correctly. On all subsequent flashings, you can use the --bmap option with a bmap file to speed up the process: sudo bmaptool copy --bmap /path/to/artifacts/machine/raspberrypi3-mbl/images/mbl-image-development/images/mbl-image-development-raspberrypi3-mbl.wic.bmap /path/to/artifacts/machine/raspberrypi3-mbl/images/mbl-image-development/images/mbl-image-development-raspberrypi3-mbl.wic.gz /dev/sdX

  4. When bmaptool has finished, eject the device:

    sudo eject /dev/sdX
    
  5. Detach the micro-SD card from your PC, and plug it into the Raspberry Pi 3.

  6. You need access to the device's console, so before powering it on, either:

    • Connect it to a monitor and keyboard (using its HDMI and USB sockets).
    • Connect it to your PC. For example, if you're using a C232HD-DDHSP-0 cable, use this pin numbering reference and connect USB-UART colored wires:
      • Grounds wire (usually black) to pin 06.
      • Tx wire (usually yellow) to pin 08.
      • Rx wire (usually orange) to pin 10.

    Connect the other end of the C232HD-DDHSP-0 cable to the USB port on your PC.

    The cable's TX and RX are used to communicate with the board.

  7. After connecting the Raspberry Pi 3, from your PC, run the following command to connect to the device's serial console:

    minicom -D /dev/ttyUSB0
    

    Use the following settings:

    • Baud rate: 115200.
    • Encoding: 8N1.
    • No hardware flow control (enabled by default).
  8. Connect the Raspberry Pi 3's micro-USB socket to a USB power supply.

    The device now boots into MBL.

Logging in to MBL

To log in to MBL, wait for a login prompt, and then enter the username root. You will not be prompted for a password.

Important Information for this Arm website

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies. If you are not happy with the use of these cookies, please review our Cookie Policy to learn how they can be disabled. By disabling cookies, some features of the site will not work.