[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Values generated by the ViryaOS uboot-script-gen do not work correctly on the Chromebook Snow



Hi Mario,

I think we misunderstood each other :-)

MEMORY_START-MEMORY_END is not supposed to be computed: it is supposed
to come from the memory node in device tree tree (/memory) of the
platform. The idea is that you should not have to do any computations,
but only reuse the same address range specified there.

Similarly in regards to "please post the size of all the binaries",
this is just for debugging, so that I can see if there are any bugs with
uboot-script-gen. I cannot debug the script unless I figure out what the
problem is and the only way I can do that is with the binary sizes and
redoing all the steps by hand.

The expected outcome is that once we resolve the problem you should be
able to use uboot-script-gen without any additional computation needed.

Of course using static values is also OK.


On Wed, 15 Nov 2023, Mario Marietto wrote:
> ---> 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 <sstabellini@xxxxxxxxxx> 
> 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.
> 
> 

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.