Tartarus changed the topic of #u-boot to: SOURCE MOVED TO https://source.denx.de/u-boot/u-boot.git / U-Boot v2024.07, v2024.10-rc2 are OUT / Merge Window is CLOSED, next branch is OPEN / Release v2024.10 is scheduled for 07 October 2024 / Channel archives at https://libera.irclog.whitequark.org/u-boot
joeskb7 has quit [Ping timeout: 260 seconds]
joeskb7 has joined #u-boot
persmule has joined #u-boot
alpernebbi has quit [Ping timeout: 245 seconds]
jclsn has quit [Ping timeout: 272 seconds]
jclsn has joined #u-boot
alpernebbi has joined #u-boot
memset has joined #u-boot
pgreco has quit [Ping timeout: 265 seconds]
pgreco_ has joined #u-boot
crb has joined #u-boot
mmu_man has quit [Ping timeout: 248 seconds]
crb has quit [Quit: This computer has gone to sleep]
crb has joined #u-boot
crb has quit [Read error: Connection reset by peer]
Clamor has joined #u-boot
persmule has quit [Remote host closed the connection]
persmule has joined #u-boot
persmule has quit [Client Quit]
persmule has joined #u-boot
goliath has joined #u-boot
crb has joined #u-boot
Peng_Fan has joined #u-boot
rvalue- has joined #u-boot
rvalue has quit [Ping timeout: 265 seconds]
rvalue- is now known as rvalue
sigmaris has quit [Quit: ZNC - https://znc.in]
sigmaris has joined #u-boot
ikarso has joined #u-boot
prabhakalad has quit [Quit: Konversation terminated!]
prabhakalad has joined #u-boot
stgloor has joined #u-boot
LetoThe2nd has quit [Ping timeout: 260 seconds]
Crofton has quit [Ping timeout: 260 seconds]
davlefou has quit [Ping timeout: 260 seconds]
lvrp16 has quit [Ping timeout: 260 seconds]
NishanthMenon has quit [Ping timeout: 260 seconds]
stgl has quit [Ping timeout: 260 seconds]
stgloor is now known as stgl
LetoThe2nd has joined #u-boot
lvrp16 has joined #u-boot
NishanthMenon has joined #u-boot
Crofton has joined #u-boot
davlefou has joined #u-boot
ndeuteron has joined #u-boot
<ndeuteron> Hi. Is there some existing facility to do what u-boot does in `image_setup_libfdt` but in userspace?
<ndeuteron> The problem I have is that kexec can't work with a new kernel and device tree because some things are missing from the dtb. They would normally be populated by u-boot before the kernel is booted, but obviously this doesn't happen when using kexec.
warpme has joined #u-boot
sszy has joined #u-boot
frieder has joined #u-boot
Clamor has quit [Ping timeout: 252 seconds]
Clamor has joined #u-boot
<marex> ndeuteron: cant kexec pick up the content of /sys/firmware/devicetree somehow ?
<ndeuteron> marex: It can, but that device tree doesn't necessarily work with the new kernel.
<marex> ndeuteron: how so ?
<marex> ndeuteron: can you modify it (dtc -I dtb -O dts ... ; dtc -I dts -O dtb ...) to make it work ?
<ndeuteron> Because people break stuff all the time. It's never backwards compatible.
<ndeuteron> One time they changed a bunch of (start, end) pairs to (offset, length) :(
<marex> DT is ABI , that shouldn't happen unless this is some downstream stuff
<ndeuteron> Yeah, this is in-house company stuff.
<ndeuteron> The DTB part is compatible, but they add fields that the new kernels then require, etc.
<ndeuteron> There's a whole bunch of stuff that has no business being in the device tree either, unfortunately.
<ndeuteron> Oh, I can just use fdtoverlay.
<marex> indeed
<ndeuteron> I suppose that may leave some things behind if the new dtb removes stuff, but... hopefully that's not a problem.
<marex> right, /delete-node/ and /delete-property/ does not work with DTO, but I am not sure if it does not work with fdtoverlay in userspace, that is part of DTC, so it just might
<marex> in the worst case, you can postprocess the DT using plain DTC, decompile it, remove the nodes/props, recompile
<marex> ndeuteron: you can also decompile the DT, concatenate another DT at the end, and recompile the result ; then the DTC would pick up on its syntax sugar like /delete-node/ and that would work ...
<ndeuteron> marex: Thanks. I think we are going to add some bootloader support to just be able to boot a kernel *once*.
<ndeuteron> That's what we really want, instead of using kexec.
<ndeuteron> Like, set some bit in an eeprom, and it'll clear that bit on startup and then boot from /boot.once if it was set.
memset has quit [Remote host closed the connection]
memset has joined #u-boot
mmu_man has joined #u-boot
Jones42 has joined #u-boot
Clamor has quit [Read error: Connection reset by peer]
Clamor has joined #u-boot
<marex> ndeuteron: what are you trying to achieve anyway ?
<marex> ndeuteron: U-Boot already does have DTO application support if that's what you are after
<ndeuteron> We want to be able to boot a new image, but not commit to it until it gets up and running and the operator confirms it is working.
<marex> ndeuteron: isnt that classical A/B update scheme ?
enok has joined #u-boot
<ndeuteron> marex: In essesence, yes.
<ndeuteron> Err, essence.
<ndeuteron> We don't have two separate partitions though.
<ndeuteron> We have a deduplicating package format so we can have multiple platform images on the device at once, whilst paying very little in terms of storage cost for the second and subsequent images.
<ndeuteron> Makes OTA updates fast too, since you can avoid transferring most of the package contents.
<marex> some sort of delta upgrade/update thingie ?
<marex> well, can you have two kernel images at least ?
<ndeuteron> Yes and yes.
<ndeuteron> We build a /boot directory that hard links all the bits and pieces from the "real" platform image and the bootloader boots from there.
enok has quit [Ping timeout: 248 seconds]
<ndeuteron> I don't know how custom our u-boot setup is. It's a fair bit more complicated than what I have seen before with the BeagleBoard Black.
<marex> ndeuteron: so maybe just use some volatile bit in the SoC to select "the other kernel copy" and trigger a reboot ?
<ndeuteron> Yeah, that's the idea.
<marex> :)
<ndeuteron> It's just a coordination thing. The team that does the bootloader is in a different timezone, and supports a bunch of other customers, so...
<ndeuteron> That's why we went with the kexec approach in the first place. We didn't need to bother them, but now here we are.
<marex> yep
Clamor has quit [Ping timeout: 260 seconds]
Clamor has joined #u-boot
m5zs7k has quit [Ping timeout: 244 seconds]
m5zs7k has joined #u-boot
memset has quit [Remote host closed the connection]
memset has joined #u-boot
vfazio has joined #u-boot
memset has quit [Remote host closed the connection]
memset has joined #u-boot
rvalue has quit [Ping timeout: 252 seconds]
flom84 has joined #u-boot
rvalue has joined #u-boot
enok has joined #u-boot
warpme has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
enok has quit [Ping timeout: 260 seconds]
warpme has joined #u-boot
alan_o has joined #u-boot
Perflosopher1 has joined #u-boot
Perflosopher has quit [Ping timeout: 248 seconds]
Perflosopher1 is now known as Perflosopher
flom84 has quit [Ping timeout: 244 seconds]
memset has quit [Remote host closed the connection]
memset has joined #u-boot
flom84 has joined #u-boot
goliath has quit [Quit: SIGSEGV]
dsimic has quit [Ping timeout: 255 seconds]
dsimic has joined #u-boot
Jones42 has quit [Ping timeout: 260 seconds]
ikarso has quit [Quit: Connection closed for inactivity]
Clamor has quit [Read error: Connection reset by peer]
Clamor has joined #u-boot
Stat_headcrabed has joined #u-boot
mmu_man has quit [Ping timeout: 248 seconds]
warpme has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
tgamblin_ is now known as tgamblin
Clamor has quit [Ping timeout: 272 seconds]
goliath has joined #u-boot
Clamor has joined #u-boot
Clamor has quit [Read error: Connection reset by peer]
Clamor has joined #u-boot
Clamor has quit [Ping timeout: 255 seconds]
Clamor has joined #u-boot
Clamor has quit [Ping timeout: 255 seconds]
mmu_man has joined #u-boot
Clamor has joined #u-boot
frieder has quit [Remote host closed the connection]
warpme has joined #u-boot
warpme has quit [Client Quit]
crb has quit [Quit: This computer has gone to sleep]
crb has joined #u-boot
Stat_headcrabed has quit [Quit: Stat_headcrabed]
crb has quit [Quit: This computer has gone to sleep]
crb has joined #u-boot
Stat_headcrabed has joined #u-boot
mmu_man has quit [Ping timeout: 252 seconds]
crb has quit [Remote host closed the connection]
mmu_man has joined #u-boot
sszy has quit [Quit: http://quassel-irc.org - Chat comfortably. Anywhere.]
goliath has quit [Quit: SIGSEGV]
flom84 has quit [Quit: Leaving]
flom84 has joined #u-boot
Stat_headcrabed has quit [Quit: Stat_headcrabed]
wak has quit [Quit: ZNC - https://znc.in]
wak has joined #u-boot
goliath has joined #u-boot
ikarso has joined #u-boot
ukky has quit [Ping timeout: 255 seconds]
marcan has quit [Ping timeout: 264 seconds]
ukky has joined #u-boot
Clamor has quit [Read error: Connection reset by peer]
___nick___ has joined #u-boot
___nick___ has quit [Ping timeout: 258 seconds]
flom84 has quit [Quit: Leaving]
mmu_man has quit [Ping timeout: 260 seconds]
flom84 has joined #u-boot
flom84 has quit [Remote host closed the connection]
mmu_man has joined #u-boot
___nick___ has joined #u-boot
___nick___ has quit [Client Quit]
prabhakalad has quit [Quit: Konversation terminated!]
prabhakalad has joined #u-boot
___nick___ has joined #u-boot
goliath has quit [Quit: SIGSEGV]
marcan has joined #u-boot
___nick___ has quit [Ping timeout: 252 seconds]
mmu_man has quit [Ping timeout: 252 seconds]
mmu_man has joined #u-boot
jfsimon has quit [Ping timeout: 252 seconds]
memset_ has joined #u-boot
memset has quit [Ping timeout: 260 seconds]
umbramalison has quit [Ping timeout: 265 seconds]
ikarso has quit [Quit: Connection closed for inactivity]
umbramalison has joined #u-boot