.. _getting-started-up2: Getting started guide for UP2 board ################################### Hardware setup ************** The `UP Squared board `_ (UP2) is an x86 maker board based on the Intel Apollo Lake platform. The UP boards are used in IoT applications, industrial automation, digital signage, and more. The UP2 features Intel `Celeron N3550 `_ and Intel `Pentium N4200 `_ SoCs. Both have been confirmed to work with ACRN. Connecting to the serial port ============================= The UP2 board has two serial ports. The following figure shows the UP2 board's 40-pin HAT connector we'll be using as documented in the `UP2 Datasheet `_. .. image:: images/the-bottom-side-of-UP2-board.png :align: center We'll access the serial port through the I/O pins in the 40-pin HAT connector using a `USB TTL serial cable `_, and show how to connect a serial port with ``PL2303TA USB to TTL serial cable`` for example: .. image:: images/USB-to-TTL-serial-cable.png :align: center Connect pin 6 (``Ground``), pin 8 (``UART_TXD``) and pin 10 (``UART_RXD``) of the HAT connector to respectively the ``GND``, ``RX`` and ``TX`` pins of your USB serial cable. Plug the USB TTL serial cable into your PC and use a console emulation tool such as ``minicom`` or ``putty`` to communicate with the UP2 board for debugging. .. image:: images/the-connection-of-serial-port.png :align: center Software setup ************** Setting up the ACRN hypervisor (and associated components) on the UP2 board is no different than other hardware platforms so please follow the instructions provided in the :ref:`getting-started-apl-nuc`, with the additional information below. There are a few parameters specific to the UP2 board that differ from what is referenced in the :ref:`getting-started-apl-nuc` section: 1. Serial Port settings #. Storage device name You will need to keep these in mind in a few places: * When mounting the EFI System Partition (ESP) .. code-block:: none # mount /dev/mmcblk0p1 /mnt * When adjusting the ``acrn.conf`` file * Set the ``root=`` parameter using the ``PARTUUID`` or device name directly * When configuring the EFI firmware to boot the ACRN hypervisor by default .. code-block:: none # efibootmgr -c -l "\EFI\acrn\acrn.efi" -d /dev/mmcblk0 -p 1 -L "ACRN Hypervisor" \ -u "bootloader=\EFI\org.clearlinux\bootloaderx64.efi uart=bdf@0:18.1 vuart=ttyS1@irq5" UP2 serial port setting ======================= The serial port (ttyS1) in the 40-pin HAT connector is located at ``serial PCI BDF 0:18.1``. You can check this from the ``lspci`` output from the initial Clearlinux installation. Also you can use ``dmesg | grep tty`` to get its IRQ infomation for vuart setting; and update SOS bootargs ``console=ttyS1`` in acrn.conf to match with vuart setting. .. code-block:: none # lspci | grep UART 00:18.0 . Series HSUART Controller #1 (rev 0b) 00:18.1 . Series HSUART Controller #2 (rev 0b) # dmesg | grep tty dw-apb-uart.8: ttyS0 at MMIO 0x91524000 (irq = 4, base_baud = 115200) is a 16550A dw-apb-uart.9: ttyS1 at MMIO 0x91522000 (irq = 5, base_baud = 115200) is a 16550A The second entry associated with ``00:18.1 @irq5`` is the one on the 40-pin HAT connector. UP2 block device ================ The UP2 board has an on-board eMMC device. The device name to be used throughout the :ref:`getting_started` therefore is ``/dev/mmcblk0`` (and ``/dev/mmcblk0pX`` for any partition). The UUID of the partition ``/dev/mmcblk0p3`` can be found by .. code-block:: none # blkid /dev/mmcblk .. note:: You can also use the device name directly, e.g.: ``root=/dev/mmcblk0p3`` Running the hypervisor ********************** Now that the hypervisor and Service OS have been installed on your UP2 board, you can proceed with the rest of the instructions in the :ref:`getting-started-apl-nuc` and install the User OS (UOS).