On 08/12/17 00:22, Brijesh Singh wrote: > > > On 08/09/2017 12:56 PM, Laszlo Ersek wrote: > >>> >>> Sure, I will make the necessary changes in VirtioMmioDeviceLib and try >>> do the build test but I don't have aarch64 platform to verify at the >>> runtime. >> >> Actually, dependent on your GNU/Linux distribution, it is pretty easy to >> do on x86_64 too. It comes together from two parts: >> >> (1) installing an aarch64 cross compiler >> (2) installing qemu-system-aarch64 (from source or distro package), >> and then either using it directly (from the cmdline) or with the >> libvirt toolstack >> >> The only "real" difference is that it's going to use TCG and not KVM >> (software emulation rather than hardware virtualization), so it will be >> slower, but that's not really a problem if you only care about your VM >> until the firmware boots the OS :) >> >> On Fedora, the cross-compiler (and cross-binutils) packages are built >> from the following SRPMs: >> >> https://koji.fedoraproject.org/koji/buildinfo?buildID=921790 >> https://koji.fedoraproject.org/koji/buildinfo?buildID=912429 >> >> ("cross-gcc", "cross-binutils") >> >> Linaro distributes distro-independent cross compilers: >> >> http://www.linaro.org/downloads/ >> >> Build instructions for ArmVirtQemu, and usage hints for the QEMU command >> line, can be found in the Linaro Wiki: >> >> https://wiki.linaro.org/LEG/UEFIforQEMU > > v2 is almost ready for review, I have made all the necessary changes in > VirtioMmioDeviceLib and it builds fine for aarch64 but I am having trouble > booting the qemu-aarch64 in general. On serial console I see the UEFI debug > messages but it never reaches to UEFI shell. > > I have been following the steps from > https://wiki.linaro.org/LEG/UEFIforQEMU > > qemu-system-aarch64 \ > -m 1024 \ > -cpu cortex-a57 \ > -M virt \ > -bios QEMU_EFI.fd \ > -serial stdio > > I tried this steps with and without my patches and it resulted in the same. > It seems like I am missing something in the qemu cli, do I need to pass > special dtb file or something similar ?
The above command line is not right ("-bios"). Please scroll down the wiki page, to the section heading saying "Using persistent UEFI variables". There it explains how to pad the images and how to use two -pflash options. ... Perhaps even that part of the article is a bit out-of-date now. Basically, today ArmVirtQemu should be used the same way as OVMF, except for the padding. The build produces two files: - QEMU_EFI.fd (fw binary) - QEMU_VARS.fd (varstore template) Each should be padded to 64MiB with zeros at the end (write a small script for that), then use them with two pflash drives similarly to OVMF. Thanks! Laszlo > P.S: the wiki talks about a prebuilt qcow2 image but the link is dead, > instead > I downloaded a qcow2 file from Ubuntu repo. > > -Brijesh _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel