arm64¶
Artifacts:
└── arm64 ├── lmp-factory-image-qemuarm64-secureboot.wic.gz └── flash.bin
Booting in QEMU¶
Important
These instructions require QEMU 5.2 or later.
List available Targets and decide on which to boot:
Make a directory for the artifacts and
cd
into it:mkdir -p lmp-qemu/arm64 cd lmp-qemu/arm64
Download the artifacts needed for arm64, replacing
<target_number>
with the target you would like to boot:# Download and extract the Factory image fioctl targets artifacts <target_number> qemuarm64-secureboot/lmp-factory-image-qemuarm64-secureboot.wic.gz | gunzip > lmp-factory-image-qemuarm64-secureboot.wic # Download ATF + OP-TEE + U-Boot binary fioctl targets artifacts <target_number> qemuarm64-secureboot/flash.bin > flash.bin
The directory tree should now look like this:
lmp-qemu/ └── arm64 ├── lmp-factory-image-qemuarm64-secureboot.wic └── flash.bin
Run the QEMU script below against the artifacts inside of
lmp-qemu/
. You can save this asrun.sh
inside the directory for convenience.
Note
The QEMU CLI passes the necessary flags and parameters to the appropriate qemu-system command. This includes path to the image, CPU, network, and other device information. For specifics, consult QEMU’s Documentation.
Booting Graphically¶
In order to boot QEMU with an OpenGL capable virtual GPU (required for Wayland/Weston), add the following flags to the QEMU CLI:
-display gtk,gl=on -device virtio-gpu-pci
Do not copy the -nographic
flag at the end of the QEMU CLI below.
QEMU CLI¶
qemu-system-aarch64 -m 1024 -cpu cortex-a57 -no-acpi -bios flash.bin \
-device virtio-net-device,netdev=net0,mac=52:54:00:12:35:02 -device virtio-serial-device \
-drive id=disk0,file=lmp-factory-image-qemuarm64-secureboot.wic,if=none,format=raw \
-device virtio-blk-device,drive=disk0 -netdev user,id=net0,hostfwd=tcp::2222-:22 \
-object rng-random,filename=/dev/urandom,id=rng0 -device virtio-rng-pci,rng=rng0 \
-chardev null,id=virtcon -machine virt,secure=on -nographic
Demo¶
Click to Play
Tip
You can register your device by following the steps from Register your device.