1NXP i.MX 8M Plus Evaluation Kit (``imx8mp-evk``) 2================================================ 3 4The ``imx8mp-evk`` machine models the i.MX 8M Plus Evaluation Kit, based on an 5i.MX 8M Plus SoC. 6 7Supported devices 8----------------- 9 10The ``imx8mp-evk`` machine implements the following devices: 11 12 * Up to 4 Cortex-A53 cores 13 * Generic Interrupt Controller (GICv3) 14 * 4 UARTs 15 16Boot options 17------------ 18 19The ``imx8mp-evk`` machine can start a Linux kernel directly using the standard 20``-kernel`` functionality. 21 22Direct Linux Kernel Boot 23'''''''''''''''''''''''' 24 25Probably the easiest way to get started with a whole Linux system on the machine 26is to generate an image with Buildroot. Version 2024.11.1 is tested at the time 27of writing and involves two steps. First run the following commands in the 28toplevel directory of the Buildroot source tree: 29 30.. code-block:: bash 31 32 $ echo "BR2_TARGET_ROOTFS_CPIO=y" >> configs/freescale_imx8mpevk_defconfig 33 $ make freescale_imx8mpevk_defconfig 34 $ make 35 36Once finished successfully there is an ``output/image`` subfolder. Navigate into 37it and patch the device tree with the following commands which will remove the 38``cpu-idle-states`` properties from CPU nodes: 39 40.. code-block:: bash 41 42 $ dtc imx8mp-evk.dtb | sed '/cpu-idle-states/d' > imx8mp-evk-patched.dts 43 $ dtc imx8mp-evk-patched.dts -o imx8mp-evk-patched.dtb 44 45Now that everything is prepared the machine can be started as follows: 46 47.. code-block:: bash 48 49 $ qemu-system-aarch64 -M imx8mp-evk -smp 4 -m 3G \ 50 -display none -serial null -serial stdio \ 51 -kernel Image \ 52 -dtb imx8mp-evk-patched.dtb \ 53 -initrd rootfs.cpio \ 54 -append "root=/dev/ram" 55