> Il giorno 23 mar 2017, alle ore 01:55, Stefano Stabellini > <sstabell...@kernel.org> ha scritto: > > On Thu, 23 Mar 2017, Luca Miccio wrote: >>> Il giorno 23 mar 2017, alle ore 01:27, Stefano Stabellini >>> <sstabell...@kernel.org> ha scritto: >>> >>> On Thu, 23 Mar 2017, Luca Miccio wrote: >>>> Hi Stefano and Julien, >>>> >>>>> Il giorno 22 mar 2017, alle ore 22:38, Stefano Stabellini >>>>> <sstabell...@kernel.org> ha scritto: >>>>> >>>>> Hi Luca, >>>>> >>>>> please don't use HTML emails. >>>>> >>>>> >>>> Sorry for that. >>>> >>>>> On Wed, 22 Mar 2017, Julien Grall wrote: >>>>>> On 22/03/2017 19:45, Luca Miccio wrote: >>>>>>> Hi Stefano, >>>>>> >>>>>> Hello Luca, >>>>>> >>>>>>> aarch64-linux-gnu-gcc -DCNTFRQ=0x01800000-DUART_BASE=0x1c090000 >>>>>>> -DSYSREGS_BASE=0x1c010000 -DGIC_DIST_BASE=0x2c001000 >>>>>>> -DGIC_CPU_BASE=0x2c002000 -c -o boot.xen.o boot.S -DXEN >>>>>>> aarch64-linux-gnu-gcc -DPHYS_OFFSET=0x80000000 -DMBOX_OFFSET=0xfff8 >>>>>>> -DBOOT=boot.xen.o -DXEN_OFFSET=0xA00000 -DKERNEL_OFFSET=0x80000 >>>>>>> -DFDT_OFFSET=0x08000000 -DFS_OFFSET=0x10000000 -DXEN=Xen -DKERNEL=Image >>>>>>> -DFILESYSTEM=filesystem.cpio.gz -E -P -C -o model.xen.lds model.lds.S >>>>>>> aarch64-linux-gnu-gcc -DCNTFRQ=0x01800000-DUART_BASE=0x1c090000 >>>>>>> -DSYSREGS_BASE=0x1c010000 -DGIC_DIST_BASE=0x2c001000 >>>>>>> -DGIC_CPU_BASE=0x2c002000 -c -o boot.o boot.S >>>>>>> aarch64-linux-gnu-gcc -DPHYS_OFFSET=0x80000000 -DMBOX_OFFSET=0xfff8 >>>>>>> -DBOOT=boot.o -DKERNEL_OFFSET=0x80000 -DFDT_OFFSET=0x08000000 >>>>>>> -DFS_OFFSET=0x10000000 -DKERNEL=Image -DFILESYSTEM=filesystem.cpio.gz -E >>>>>>> -P -C -o model.lds model.lds.S >>>>>>> aarch64-linux-gnu-ld -o xen-system.axf --script=model.xen.lds >>>>>>> aarch64-linux-gnu-ld: section .xen LMA >>>>>>> [0000000080a00000,0000000080ac814f] overlaps section .kernel LMA >>>>>>> [0000000080080000,0000000080f009ff] >>>>>>> Makefile:78: set di istruzioni per l'obiettivo "xen-system.axf" non >>>>>>> riuscito >>>>>>> make: *** [xen-system.axf] Errore 1\ >>>>>>> >>>>>>> Clearly there is a problem with the offset of xen section but i can't >>>>>>> figure out how to solve it. >>>>>> >>>>>> I would recommend to use the latest version of bootwrapper which is now >>>>>> including support for Xen. I haven't yet updated the wiki with the runes >>>>>> but here a quick summary of the step I am using: >>>>>> >>>>>> * Building bootwrapper >>>>>> >>>>>> 42sh> git clone >>>>>> git://git.kernel.org/pub/scm/linux/kernel/git/mark/boot-wrapper-aarch64.git >>>>>> 42sh> autoreconf -i >>>>>> 42sh> ./configure --host=aarch64-linux-gnu >>>>>> --with-kernel-dir=<kernel-dir> --with-dtb=<dtb> \ >>>>>> --with-cmdline="console=hvc0 earlycon=pl011,0x1c090000 root=/dev/vda rw" >>>>>> --enable-psci \ >>>>>> --with-xen-cmdline="dtuart=serial0 console=dtuart no-bootscrub >>>>>> dom0_mem=512M" \ >>>>>> --with-xen=<xen-bin> --with-cpu-ids=0,1,2,3 >>>>>> 42sh> make >>>>>> >>>>>> Where: >>>>>> * <kernel-dir> is the path to the kernel repository >>>>>> * <dtb> is the path to the device-tree. I am using the one shipped with >>>>>> Linux >>>>>> in arch/arm64/boot/dts/arm/foundation-armv8.dtbs >>>>>> It will be built if you did make all in Linux >>>>>> * <xen-bin> is the path to Xen binary (xen/xen in the repo) >>>>>> >>>>>> * Command line for the foundation model >>>>>> 42sh> Foundation_Platform --image=<image> --block-device=<rootfs> >>>>>> --cores=4 >>>>>> >>>>>> Where: >>>>>> * <image> is the path to xen-system.axf produced by bootwrapper >>>>>> * <rootfs> is the patch to your rootfs >>>>>> >>>>>> Let me know if you need more details. >>>>> >>>>> Thanks Julien, I successfully booted Xen and Linux following these >>>>> steps. I quickly updated the wiki. >>>>> >>>>> Luca, I took me a while to figure out that for root=/dev/vda to work >>>>> properly, Linux requires not just all the filesystem and virtio options >>>>> enabled in the kernel config, but also CONFIG_VIRTIO_MMIO=y. With that, >>>>> you should be able to boot Xen, Linux and mount the root filesystem. If >>>>> you download one of the Ubuntu arm64 cloud images, the root device will >>>>> be /dev/vda1. >>>> >>>> First of all, thank you for your help. >>>> >>>> I think that i keep on doing somenthing wrong because now the bootwrapper >>>> produces >>>> with no errors the xen-system.axf with the configuration that Julien >>>> provided. >>>> But when i launch the emulator it simply stops at: >>>> (XEN) Bringing up CPU1 >>>> >>>> To help you understand, this is what i have done: >>>> - First i compiled the xen source with the following command: >>>> $ make dist-xen XEN_TARGET_ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- >>>> CONFIG_EARLY_PRINT=fastmodel >>>> ( I am using the staging branch) >>>> >>>> - Get the linux source with git: >>>> $ git clone >>>> git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git >>>> >>>> -Checkout on the v4.4 branch >>>> >>>> - Follow the steps described in the blog and, as you said, i set in my >>>> .config file: >>>> CONFIG_VIRTIO=y >>>> CONFIG_VIRTIO_MMIO=y >>>> CONFIG_VIRTIO_BLK=y >>>> I also checked all the filesystem and virtio options. >>>> >>>> - Compile the linux kernel with the toolchain: >>>> $ make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- all (to get also the >>>> .dtb file) >>>> >>>> - Configured the bootwrapper with the command that Julian wrote and then >>>> launched the >>>> foundation model with the simple command: >>>> $ Foundation_Platform --image=/path/to/the/xen-system.axf >>>> --block-device=xenial-server-cloudimg-arm64.img --cores=4 >>> >>> Try removing --cores=4, does it work? >>> >> I have already tried this option with no results > > The problem is that no matter the --cores=4 option, the device tree > (foundation-v8.dtb) has 4 cpu cores by default. It also says that the > "enable-method" is "spin-table". At the same time Julien wrote to pass > --enable-psci to the bootwrapper, which is a different way to start > secondary cpus. I am guessing that is the problem. I suggest to change > boot method to psci, to do that you need to modify the dts (device tree > source), see the attached patch for Linux. Then you can rebuild the dtb > (device tree binary) with: > > make dtbs > > Finally rebuild again the bootwrapper and run the model with --cores 4. > > For me, that works. Great way to get familiar with device tree ;-)
I tried also this method but i had the same error. So i came up with the idea of removing the psci method from the configure and also from the dtsi file that i have changed. With this configuration the model booted up correctly, even if the process took about 10 minutes. Just for my personal knowledge: it is normal that the boot is very slow? Is the rootfs that i’m using? Thank you for your response, Luca > >>>> The image was downloaded at : >>>> https://cloud-images.ubuntu.com/releases/16.04/release/ >>>> <https://cloud-images.ubuntu.com/releases/16.04/release/> >>>> >>>> But, as I said, the emulator blocks at boot. I tried different rootfs >>>> images and i have configured the root device >>>> properly to /dev/vda1. >>>> >>>> Maybe my kernel configuration is wrong? > <1.txt>
_______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org https://lists.xen.org/xen-devel