qschulz has quit [Remote host closed the connection]
qschulz has joined #u-boot
thopiekar has quit [Ping timeout: 252 seconds]
thopiekar has joined #u-boot
umbramalison has quit [Quit: %So long and thanks for all the fish%]
umbramalison has joined #u-boot
xroumegue has quit [Ping timeout: 244 seconds]
xroumegue has joined #u-boot
LeSpocky has quit [Ping timeout: 252 seconds]
LeSpocky has joined #u-boot
lucascastro has joined #u-boot
brassado has quit [Ping timeout: 240 seconds]
mmu_man has quit [Ping timeout: 240 seconds]
jclsn has quit [Ping timeout: 244 seconds]
sakman has joined #u-boot
jclsn has joined #u-boot
thopiekar has quit [Ping timeout: 252 seconds]
thopiekar has joined #u-boot
lucascastro has quit [Ping timeout: 268 seconds]
vagrantc has quit [Quit: leaving]
hanetzer has quit [Ping timeout: 245 seconds]
hanetzer has joined #u-boot
kmcopper has joined #u-boot
camus has quit [Quit: camus]
hanetzer has quit [Ping timeout: 252 seconds]
hanetzer has joined #u-boot
kmcopper has quit [Remote host closed the connection]
GNUtoo has quit [Ping timeout: 268 seconds]
GNUtoo has joined #u-boot
camus has joined #u-boot
persmule has quit [Remote host closed the connection]
persmule has joined #u-boot
Xeroine has joined #u-boot
Xeroine has quit [Remote host closed the connection]
Net147 has quit [Quit: Quit]
Net147 has joined #u-boot
Net147 has joined #u-boot
Net147 has quit [Changing host]
rvalue has quit [Read error: Connection reset by peer]
rvalue has joined #u-boot
gsz has joined #u-boot
vfazio has quit [Remote host closed the connection]
vfazio has joined #u-boot
akaWolf has quit [Ping timeout: 268 seconds]
akaWolf has joined #u-boot
persmule has quit [Remote host closed the connection]
persmule has joined #u-boot
mmu_man has joined #u-boot
___nick___ has joined #u-boot
___nick___ has quit [Client Quit]
___nick___ has joined #u-boot
___nick___ has quit [Client Quit]
___nick___ has joined #u-boot
<johang>
u-boot for amlogic-s905x/meson-gxl broke somewhere between v2022.04 and v2022.07
<hramrach>
that would not be the only board. bisect?
<hramrach>
also what is broken, specificallY?
persmule has quit [Ping timeout: 268 seconds]
persmule has joined #u-boot
persmule has quit [Ping timeout: 268 seconds]
persmule has joined #u-boot
persmule has quit [Remote host closed the connection]
persmule has joined #u-boot
gsz has quit [Quit: leaving]
vagrantc has joined #u-boot
persmule has quit [Ping timeout: 268 seconds]
persmule has joined #u-boot
Gravis has quit [Ping timeout: 268 seconds]
jagan has joined #u-boot
persmule has quit [Remote host closed the connection]
persmule has joined #u-boot
Gravis has joined #u-boot
<marex>
sjg1: so the MX8M SPL signing example using binman, that cannot be used at all, this is not at all how the image generation works
<marex>
sjg1: the csf is not at fixed location, the location is determined from the mkimage generated header, the part marked "Image Vector Table - not sure what goes in here"
<marex>
also the part "Something in here?" is used for calculation of offsets ...
<marex>
and the rest of the patch is just copy file to file ... hum ... nothing on handling the fitImage part
<sjg1>
marex: I have to go out soon, back in a few hours. I'm not suggesting it can be used as it. It is a starting point
<sjg1>
marex: You can put a 'mkimage {}' entry instead of the vector table easily enough, and drop the offset for the csf
<sjg1>
marex: But it will be easier to get it generating all the right stuff first, then worry about where it sits in the image
<marex>
so how exactly do I place the csf generated blob at the offset coming from mkimage header ?
<marex>
the "worry where it sits" is one of the most important parts of the CSF btw
<sjg1>
marex: See Entry_intel_descriptor() and the GetOffsets() method. It allows one entry to control the position of another in the image
<sjg1>
marex: But as I said, best to get everything else right first
<marex>
sjg1: I have a script which gets it all right, it's in fact the script which I pointed you to
<marex>
sjg1: now all that is left is to somehow integrate it into binman, which ... might not be possible
hurricos has quit [Remote host closed the connection]
hurricos has joined #u-boot
<sjg1>
Marex if you can do it in a script I can make it work in binman
hurricos has quit [Ping timeout: 268 seconds]
hurricos has joined #u-boot
Xeroine has joined #u-boot
mmu_man has quit [Ping timeout: 252 seconds]
mmu_man has joined #u-boot
<marex>
sjg1: OK, so I implemented GetData() and not even that gets called (or prints don;t work), I cannot tell
<marex>
seems like nothing in the imx8mm-csf ever gets called
<johang>
hramrach: getting "Synchronous Abort" handler, esr 0x96000004 with libretech-cc_defconfig. looks to me that it happens in efi_loader.
<johang>
happens when running booti btw. other commands in prompt are fine, such as load from ext4.
thopiekar has quit [Ping timeout: 252 seconds]
thopiekar has joined #u-boot
<hramrach>
you can always bisect, and where it happens may help with educated guess as to what broke
<hramrach>
if you have serial console posting the log in a pastebin might be useful
<johang>
I did a quick bisect and found that it's this merge that causes it: 46a06ed82a81dfcb451fe82381c59c1d0a6667a1. will continue to bisect to find exact change.
<hramrach>
you can also try to boot with no DT to see if the problem is with the DT loading or some later code
<johang>
already did that. happens even if I skip both dt and initrd and boot with "booti ${kernel_addr_r} - -".
vagrantc has quit [Quit: leaving]
<johang>
from bisection is looks like the crash is introduced by a57ad20d07e82f9ddbbdf981c8f8dd5368b225e4
<sjg1>
marex: Did you read the comment in entry.py for ReadData()? It is used to read data from an image, e.g. when you use 'binman ls' or 'binman extract'.
<sjg1>
marex: I already put the function in there - ObtainContents()
<johang>
not actually it's introduced in a9bf024b2933bba0e23038892970a18b72dfaeb4, the commit after a57ad20d07e82f9ddbbdf981c8f8dd5368b225e4
redbrain has quit [Read error: Connection reset by peer]
redbrain has joined #u-boot
<lvrp16>
johang: is there a custom boot.scr or is that vanilla u-boot?
jagan has quit [Quit: Connection closed]
<marex>
sjg1: ok, so the 10 lines which generates signed SPL (not signed u-boot.itb, that's completely beyond possibility) are now 300 lines of code for binman ... 30x more code, sigh
<marex>
and it still does not even do what I need at all
<sjg1>
marex: Let's worry about the number of lines later. Are you getting closer? Feel free to post something if you are stuck on it
<marex>
sjg1: I am getting something which looks increasingly convoluted compared to the trivial script I have so far
<marex>
and the complexity seems unjustified
<marex>
I am getting lost in the insane complexity of this tool and code
<sjg1>
marex: It will probably look a lot better when you have it working
<marex>
like it would be 2000 lines of utterly unreadable gibberish instead of 20-line script ?
<marex>
because this is how it looks like now, and this is the EASIER SPL part
<sjg1>
marex: I'll be very surprised if it is that big. There is quite a bit of overhead in setting up a bintool (so it can be installed or bypassed if missing). If you are doing something genuinely new, then it can be more work. But if you think you are going to hit 4000 lines, I can't imagine how
<marex>
I dont know how it managed to grow from 20 lines of trivial shell script to 300 lines right now either
<marex>
maybe our tooling is overly insanely complex ?
<marex>
to the point it is not possible to grasp it anymore ?
<sjg1>
marex: Well see if you can get it working and then we'll see how complicated it is, and how many lines. There may be opportunities to share features with other entry types
<marex>
I DO have it working
<marex>
I have both signing and encryption working via a simple shell script
<marex>
rewriting it into binman was supposed to make this easier, not insanely more complex than it already is
<marex>
argh
<marex>
and it just does not seem like it is making it any better or easier to deal with
<sjg1>
marex: I don't think it is worth talking about this when you are just getting started with it. I've been working with firmware packaging for 10 years so have some perspective on where things are heading...the data-driven approach is the only way we'll be able to handle this in U-Boot
<johang>
lvrp16: I have a small custom boot.scr that loads dtb, initrd and kernel from ext4
<marex>
sjg1: indeed, I am rather new to all this, U-Boot and all ... thank you for your input
<sjg1>
marex: :-) You gave the same feedback about the test system, if I recall. Stick at it
<marex>
sjg1: maybe there is a pattern of a problem from which you can infer something
<sjg1>
marex: I didn't write the pytest stuff (Stephen Warren @ Nvidia did) but it has enabled us to test a lot of things we could not before. Anyway I have said I'm happy to help you get this figured out
mmu_man has quit [Ping timeout: 240 seconds]
___nick___ has quit [Ping timeout: 268 seconds]
mmu_man has joined #u-boot
<marex>
lovely, so whatever I had working no longer works after clean build due to some botched dependency on u-boot-spl-ddr.bin
sbach has quit [Read error: Connection reset by peer]
persmule has quit [Remote host closed the connection]
persmule has joined #u-boot
sbach has joined #u-boot
Xeroine has quit [Ping timeout: 240 seconds]
<marex>
sjg1: so I tried compiling the patch you provided me as-is
<marex>
u-boot$ git clean -fqdx ; make -j imx8mm_venice_defconfig ; make -j65 flash.bin
<marex>
binman: Filename 'u-boot-spl-ddr.bin' not found in input path (.,.,./board/gateworks/venice,arch/arm/dts)
<sjg1>
marex: OK I got the same error by deleting my build first....will look
<sjg1>
marex: Oh it's because the first image is used inside the second image. We've just been talking about that for rockchip
<marex>
sjg1: sure, there are data dependencies between the images
<sjg1>
marex: So why not produce the final image in one step?
<marex>
sjg1: err, what ?
<sjg1>
marex: You can just produce the final imx-boot image without first creating the spi.bin asd u-boot.itb files
<marex>
did you forget I need to sign spl.bin and u-boot.itb bin separately using cst ?
<sjg1>
marex: I keep saying we need to do the signing at the end. I really mean it, honest. We'll just go around in circles otherwise
<sjg1>
marex: binman can happily sign things that are not written to disk
<sjg1>
marex: Also you have changed arch/arm/dts/imx8mn-venice-u-boot.dtsi which has made things very confusing. Why not do this on arch/arm/dts/imx8mm-u-boot.dtsi ?
<marex>
sjg1: errr ... I have not changed arch/arm/dts/imx8mn-venice-u-boot.dtsi ?
<marex>
what ?
<marex>
I just picked random mx8mm board
<marex>
I dont mind signing the result at the end, that's what the script does right now anyway
<marex>
I just need access to the offsets to generate the cst text file inputs
<sjg1>
marex: No I mean let's not worry about signing now. PLEASE!
<sjg1>
marex: which file contains the binman description?
<marex>
arch/arm/dts/imx8mm-u-boot.dtsi ?
<sjg1>
marex: Somehow they both seem to be used and they are getting merged. What is going on?
<marex>
I am confused, what gets merged and used ?
<sjg1>
marex: Me too. It is supposed to be 8mm or 8mn?
<sjg1>
marex: Also, it seems to put the SPL image into a file u-boot-spl-ddr.bin, then create another file called spl/u-boot-spl.cfgout that points to it?