---> uboot-script-gen assumes that the memory range specified by
MEMORY_START-MEMORY_END is valid and correct.

Actually Chuck chose 0 as MEMORY_START and 0x800000 as MEMORY_END and these
are stable values,they don't change. If you ask me to calculate those
values,it means that we need to compute these values. I imagine that to
calculate these values is not easy.

---> To debug this kind of issues please post the size of all the binaries
specified in the imagebuilder config file

I imagine that I should also calculate those values. And again,I see a
complication.

I'm realizing that the method used by Chuck is easier because he uses
stable values. In the end,there aren't any calculations to do and since I'm
looking for an easier method,not a more complicated one,I think that
Chuck's method is good as is.

On Tue, Nov 14, 2023 at 11:51 PM Stefano Stabellini <[email protected]>
wrote:

> Hi Mario,
>
> It is difficult to know how to change uboot-script-gen if we don't know
> why it is currently going wrong.
>
> uboot-script-gen assumes that the memory range specified by
> MEMORY_START-MEMORY_END is valid and correct.
>
> So if you specified a valid and correct memory range in your config file
> (0x41e00000-0x60000000) why is it failing?
>
> The only thing uboot-script-gen does is choosing aligned addresses
> within the MEMORY_START-MEMORY_END range. The addresses are supposed not
> to overlap (meaning the initrd will not overwrite part of the kernel
> when loaded). If the issue is a bug in uboot-script-gen, such as the
> generated addresses overlap or they are not aligned, then we can fix the
> alignment or overlap bug. To debug this kind of issues please post:
> - the imagebuilder config file
> - the generate boot.source script
> - the size of all the binaries specified in the imagebuilder config file
>
> On the other hand if 0x41e00000-0x60000000 is not a safe memory range to
> use, then you need to specify a different memory range.
>
> Cheers,
>
> Stefano
>
>
>
> On Mon, 13 Nov 2023, Mario Marietto wrote:
> > Hello.
> >
> > I'm trying to find an easier way to the problem that you can read here :
> >
> >
> https://github.com/mobile-virt/u-boot-chromebook-xe303c12/tree/chromebook/xen#starting-a-domu-guest
> >
> > where Chuck says :
> >
> >  6. Create the u-boot shell commands that will be used to boot Xen and
> dom0.
> >
> > Create a file in /home/user (or any other directory) named
> bootxen.source with these contents :
> >
> >
> > mmc dev 1 && mmc rescan 1
> > ext2load mmc 1:3 0x42000000 zImage-6.1.61-stb-xen-cbe+
> > ext2load mmc 1:3 0x51000000 xen-4.17-armhf-armmp-0x51004000.ub
> > ext2load mmc 1:3 0x5ffec000 exynos5250-snow-6.1.61-stb-xen-cbe+.dtb
> > fdt addr 0x5ffec000
> > fdt resize 1024
> > fdt set /chosen \#address-cells <0x2>
> > fdt set /chosen \#size-cells <0x2>
> > fdt set /chosen xen,xen-bootargs "console=dtuart dtuart=serial0
> dom0_mem=1G dom0_max_vcpus=2 bootscrub=0 vwfi=native"
> > fdt mknod /chosen dom0
> > fdt set /chosen/dom0 compatible  "xen,linux-zimage"
> "xen,multiboot-module" "multiboot,module"
> > fdt set /chosen/dom0 reg <0x0 0x42000000 0x0 0x7D7200 >
> > fdt set /chosen xen,dom0-bootargs "console=tty1 root=/dev/mmcblk1p4 rw
> rootwait clk_ignore_unused"
> > bootm 0x51000000 - 0x5ffec000
> >
> > The hex value 0x7D7200 is the size of the zImage-6.1.61-stb-xen-cbe+
> file, and that value is computed from the uboot-script-gen script
> > available from here :
> >
> >
> > https://gitlab.com/ViryaOS/imagebuilder
> >
> >
> > This is the interesting point :
> >
> >
> > Please note that most of the other values in the script generated by the
> ViryaOS uboot-script-gen do not work correctly with the Chromebook
> > Snow, but the script does correctly calculate the size of the dom0 Linux
> kernel image.
> >
> >
> > Some time ago Stefano suggested to put the values below for MEMORY_START
> and MEMORY_END inside the xen-config file :
> >
> >
> > nano xen-config file :
> >
> >
> > MEMORY_START="0x41e00000"
> > MEMORY_END="0x60000000"
> > LOAD_CMD="ext2load mmc 1:3"
> > BOOT_CMD="bootm"
> > DEVICE_TREE="exynos5250-snow.dtb"
> > XEN="xen-4.17-armhf"
> > XEN_CMD="console=dtuart dtuart=serial0 dom0_mem=768M dom0_max_vcpus=2
> bootscrub=0 vwfi=native sched=null"
> > DOM0_KERNEL="zImage-6.6.0-xen-dma-mapping"
> > DOM0_CMD="console=tty earlycon=xen earlyprintk=xen root=/dev/mmcblk1p4
> rw rootwait clk_ignore_unused"
> > UBOOT_SOURCE="xen.source"
> >
> >
> > bash ./uboot-script-gen -c xen-config -d .
> >
> >
> > Image Name:
> > Created:      Thu Nov  2 20:59:24 2023
> > Image Type:   ARM Linux Kernel Image (uncompressed)
> > Data Size:    884744 Bytes = 864.01 KiB = 0.84 MiB
> > Load Address: 42c00000
> > Entry Point:  42c00000
> >
> >
> > Generated uboot script xen.scr, to be loaded at address 0x42000000:
> > ext2load mmc 1:3 0x42000000 xen.scr; source 0x42000000
> >
> >
> > and I tried to boot Xen and Linux 6.6 as dom0 :
> >
> > SMDK5250 # mmc dev 1
> > SMDK5250 # ext2load mmc 1:3 0x42000000 xen.scr; source 0x42000000
> > but it did not work : it reboots on the verification screen.
> >
> > --
> > Mario.
> >
> >



-- 
Mario.

Reply via email to