Hi, I have not a problem with this. I just retest it on zcu104. my bootgen version is not capable to work with Image. It should be Image.bin.
Thanks, Michal On 20. 06. 19 12:38, Jean-Francois Dagenais wrote: > Hi Michal, all. > > (My previous mail contained screenshots which did not make it to the list for > all. Michal got it and responded however...) > >> On Jun 20, 2019, at 04:17, Michal Simek <[email protected]> wrote: >> >> can you send your bif file? >> > > Sure, here: > > the_ROM_image: > { > [bootloader, destination_cpu=a53-0] > /builds/yocto/mymachine/tmp/deploy/images/mymachine/fsbl-mymachine.elf > [destination_cpu=pmu] > /builds/yocto/mymachine/tmp/deploy/images/mymachine/pmu-firmware-mymachine.elf > [destination_cpu=a53-0, exception_level=el-3, trustzone] > /builds/yocto/mymachine/tmp/deploy/images/mymachine/arm-trusted-firmware.elf > [destination_cpu=a53-0, exception_level=el-2] > /builds/yocto/mymachine/tmp/deploy/images/mymachine/linux-boot-simple.elf > [load=0xff2000] > /builds/yocto/mymachine/tmp/deploy/images/mymachine/mymachine.dtb > [load=0x80000] > /builds/yocto/mymachine/tmp/deploy/images/mymachine/Image > } > > It is generated from xilinx-bootbin.bb, linux-boot-simple is the trampoline > code you provided. > > .section .text > .global _start > _start: > ldr x17, kernel_start > ldr x0, kernel_dts > mov x1, xzr > mov x2, xzr > mov x3, xzr > blr x17 > .balign 8 > kernel_start: > .dword __BOOT_LOAD_KERNEL_ADDRESS__ > kernel_dts: > .dword __BOOT_LOAD_DTB_ADDRESS__ > > I have this in my layer as > recipes-bsp/linux-boot-simple/files/linux-boot-simple.S, the two symbols at > the end are replaced by the recipe I made > (recipes-bsp/linux-boot-simple/linux-boot-simple.bb) > SUMMARY = "Simple Boot Loader for linux ARM Image file" > LICENSE = "GPLv2" > > SRC_URI += "file://linux-boot-simple.s" > > B = "${WORKDIR}/build" > > PACKAGE_ARCH = "${MACHINE_ARCH}" > > inherit xsct-tc > > do_configure() { > sed "s/__BOOT_LOAD_KERNEL_ADDRESS__/${BOOT_LOAD_KERNEL_ADDRESS}/" > ${WORKDIR}/${PN}.s > ${B}/${PN}.s > sed -i "s/__BOOT_LOAD_DTB_ADDRESS__/${BOOT_LOAD_DTB_ADDRESS}/" > ${B}/${PN}.s > } > > do_compile() { > aarch64-none-elf-gcc -nostartfiles -nodefaultlibs > -Wl,--build-id=none,-Ttext=${BOOT_LOAD_LINUX_BOOT_SIMPLE} ${PN}.s -o ${PN}.elf > } > > do_install[noexec] = "1" > > inherit deploy > > do_deploy() { > cp ${B}/linux-boot-simple.elf ${DEPLOYDIR} > } > addtask deploy before do_build after do_compile > > > And in my mymachine.conf: > > ... > BOOT_LOAD_DTB_ADDRESS = "0xff2000" > BOOT_LOAD_KERNEL_ADDRESS = "0x80000" > BOOT_LOAD_LINUX_BOOT_SIMPLE = "0x5F000" > > # override the auto addition of fpga, and add dtb, kernel image and an ATF to > linux trampoline to boot.bin: > BIF_PARTITION_ATTR_mymachine = "fsbl pmu atf linux-trampoline dtb kernel" > > BIF_PARTITION_ATTR[linux-trampoline] = > "destination_cpu=a53-0,exception_level=el-2" > BIF_PARTITION_IMAGE[linux-trampoline] = > "${DEPLOY_DIR_IMAGE}/linux-boot-simple.elf" > BIF_PARTITION_DEPENDS[linux-trampoline] = "linux-boot-simple:do_deploy" > > BIF_PARTITION_ATTR[dtb] := "load=${BOOT_LOAD_DTB_ADDRESS}" > BIF_PARTITION_IMAGE[dtb] = "${DEPLOY_DIR_IMAGE}/${MACHINE}.dtb" > BIF_PARTITION_DEPENDS[dtb] = "virtual/kernel:do_deploy" > > BIF_PARTITION_ATTR[kernel] := "load=${BOOT_LOAD_KERNEL_ADDRESS}" > BIF_PARTITION_IMAGE[kernel] = "${DEPLOY_DIR_IMAGE}/Image" > BIF_PARTITION_DEPENDS[kernel] = "virtual/kernel:do_deploy" > ... > > The missing BIF_PARTITION entries come from > meta-xilinx-tools/recipes-bsp/bootbin/machine-xilinx-zynqmp.inc > > >> On 19. 06. 19 22:27, Jean-Francois Dagenais wrote: >>> Hi Michal, guys, >>> >>> Any ideas Michal? I have been debugging this for 4 days and it doesn't >>> look like I'm moving ahead much. You made it sound so simple but it is >>> not so simple apparently... >>> >>> Since my last post below, I have hacked head.S to include >>> _inval_dcache_area so as to make the branch call nearer and it works. >>> (Which is weird in itself... but all I do now is stretching my >>> knowledge, so I'm having fun here!) >>> >>> I am able to reach start_kernel from main.c. Then things start getting >>> weird... >>> >>> Here's my debug boot log: >>> https://pastebin.com/QxA0AQfh >>> >>> This is where things stop making sense... >>> >>> I placed a few breakpoints in start_kernel after this line and I end up >>> stuck here: >>> > > So here were the screenshots of xsdk, anyone cares? > >>> >>> >>> Please help guys!! Or should I direct to linaro or linux-arm mailing lists? >>> >>> Here, "HELP" could just be a debugging technique I might use, a >>> configuration, a debug flag somewhere, etc. >>> >>> Thanks all! > > Thanks for your help Michal! > -- _______________________________________________ meta-xilinx mailing list [email protected] https://lists.yoctoproject.org/listinfo/meta-xilinx
