I think then we are ready, is it?
Yes, yes.
Okay, so welcome.
My name is Mitre and this is Chris.
We work for Linaur and we work on the in the Qualcomm ecosystem team.
And today we want to talk about the strange thing.
And also an arm laptops.
And a continuation of the previous talk.
The previous talk was about a switching from device 3 to a CPI.
We want to do it another way around.
We want to switch from a CPI to the device 3.
So first of all, why is it all about windows on arm?
Yeah, up to now, all arm 64 laptops will snap dragons, but welcome.
And all of them will, of course, have booting windows.
All of them are using a CPI to boot windows.
But sadly enough, Qualcomm and Microsoft decided that they don't want to have everything in the CPI tables.
They created a thing called P.P. Package, whatever.
Platform accession plugins.
Yeah, platform.
Which basically moves a ML2 bind to windows drivers.
So thank you. That's very helpful.
But that does not help in our case.
So CPI tables are basically non-complete.
Non-working, sad, a disaster.
So from the day zero or from the day one of arm 64 laptops.
Or Qualcomm arm 64 laptops.
Platform containers decided that all laptops should use device 3s.
And if you follow or if you have heard anything about the laptops,
yeah, there was a user controversy.
Yeah, there was a laptop, let's wait for a few months until the device becomes up.
Yeah, but that's about the development.
That's how we start. That's how we make laptops work.
But then it comes to the actual users.
When the user, or maybe not the powerful user by the laptop from the store,
and they want to install Libyan, Fedora,
right-hat enterprise or some other Ubuntu,
they want to take the existent image.
They want to adjust the flash it to the thumb drive and install it.
And then the next after the installation reboot,
they laptop and also be happy with having the proper work in Linux, et cetera.
So far so good, but how do we actually get from a CPI to the device 3?
How do we get to the device 3 to the working Linux?
So three major use cases, so turn the half.
Normal, well, I'm sorry, something might be obvious to some of you.
Please shout if, yeah, go on.
Oh, this normal boot, when you have already everything installed,
just copy it from your thumb drive.
You need to specify the device 3 in the boot load appearance.
Somehow.
If it's a curable case, in some of these tools,
grab decides, yeah, if it's a curable, if the machine is secured,
let's skip all the device 3, we just ignore that command,
it doesn't exist.
And you cannot load anything.
And the same applies to other boot loaders too.
And obviously, the last case is installation.
Well, you have a generic image.
How do we check, how do we select the device 3 for it?
So this needs to be somehow solved.
And we try several attempts.
Our colleagues also tried several approaches,
and we would like to discuss them with you.
And we would really like to bump start the,
some kind of a process, and some kind of understanding how to proceed.
So possible solutions that we followed through in our history.
Use a CPI for the first boot of boot and delete a load.
There was an original implementation by Rob Clark.
An extra pre boot loader that's bumps in.
Check the assemblies, check the DMI information,
and loss the GTP from the, from the ESP.
Yeah, nice, great.
But major drawback is that it adds another step in the boot process.
It doesn't work with the machine, because human codes,
the name of the next boot loader,
and Rob's implementation required very cryptic names of the device 3s.
So, yeah, that works, but that's not so good.
And as I said, it, because the boot loader name,
you kind of really use that in a generic boot loader.
Because, yeah, the boot loader name,
you kind of really use that in a generic boot loader.
Because, yeah, the boot loader.
Yeah, the boot loader.
The boot loader.
There was another implementation,
or re-implementation of the same idea by Nikita Trafkin,
another community called Komia developer.
He rewrote that to be a UFA app.
And, but to the major drawback of his approach,
is that he encodes all the SMBIs information,
all the hardware IDs into the binary.
So, whenever we add a new laptop,
we have to change the binary to,
and you have to then assign it, or to do something else.
So, the great thing, yeah, it works.
These advantages, yeah, as I said,
extra boot loader.
It does not work with all the boot loaders.
And it complicates it up.
And it's unlikely to be included in any distributions as well.
So, yeah.
So, there is only one distribution, a postmarketer,
which uses the DTB loader.
So, thank you postmarketer.
That's great.
Thank you for your support.
But, I don't think we can get that into one of major installs.
So, there's some recent work in system D,
system D boot with the UKI loading.
So, basically, in there, you can have a UKI,
that you load that contains all the DTBs,
and there's a function in there,
which allows you to actually put in the CHIDDTB mapping,
and use the same module as DTB loader,
but it allows you to kind of boot using system D.
So, it's quite a nice way of doing it,
because you can sign the UKI.
You can update the DTB mapping later,
so you don't have to, you can support new devices later on,
if you like.
But, this allows you to boot with UKI.
There's no central repository yet for the CHIDM
mappings, and also the UKI can become quite large,
because each DTB is a separate section in the UKI.
And also, this means that you need to use system D boot.
Some distros, Debbie, and et cetera,
she's grabbed.
So, we're not quite there yet.
And the only reason is that these are a bunch,
which means these are really salty,
because we support Christ and the others.
Oh, really?
Oh, nice.
Currently, the implementation is under the work
and tomorrow, it will be available in a few weeks
in the last two weeks.
Excellent.
Yeah.
Sure.
So, there was a comment from...
From Daniel.
Oh, my name.
From Grapp Martinez,
that Grapp will support UKI soon.
Thank you.
And there was another hand here.
Yeah.
I just want to say, like, the UKI,
when you can play large things,
I don't know.
This is my earlier talk.
We have the same call, the EFI adults,
with those things.
Like, the EFI environments that look up in there,
not as you go.
And while it's not true,
it's not true.
I feel as far as, you know,
because these people can have these adults
who can have these adults who can have these adults,
who can have these adults who can have these adults.
That makes a lot of sense.
Yeah.
And the worst thing,
because we're in America,
which means, yeah.
Okay.
So, there was a comment as well about,
kind of UKI's,
the adults you can have separate
adults per manufacturer.
That's a really good.
Thanks.
Yeah.
But then it also doesn't help
in the generic case.
Well, if I know that,
it's a welcome.
Then it's a welcome.
If I just want to,
Libyan thumb drive,
to vote on,
to sign a media tech,
and something else in Rochib,
then that wouldn't really help.
Yeah.
Sure.
Yeah.
So, the other option is obviously,
so, the other option is UBoot.
So, obviously, you can use UBoot to do this kind of thing.
But we don't really need to explain
that's possibly a bad idea.
We can introduce loads of security bugs.
So, we'd like to keep that out,
ideally, if we can.
And it will probably not end up going into any
distros.
So.
Yeah.
This is my second,
if you use it a feedback from the mentors,
I'm almost certain that you,
if you use it a feedback from the mentors,
I'm almost certain.
Yeah.
Well, thank you for,
there was a comment that here.
Please don't do that.
I would like to spend really two words.
So, why we thought that it might be a good idea.
Well, first of all, because, yeah,
it's loaded everywhere.
It has loaded as a part of the boot process.
It has loaded before all other boot loaders,
like before system table,
before grab, etc.
So, that solves one of the problems with DTV loader.
And then,
just a second then.
And then,
it also has the code.
So, that's the only place in the system,
which actually has the code to verify
PKCS7 without it to be defined.
L-P files without any kind of problems.
So, we really can't just sign the,
just sign the DTV's on the ESP with PKCS7 as signatures.
With the touch.
Not trapped in anything,
just put the touch signatures,
the touch signatures,
and then use a native code in Scheme,
which will go through the system case,
which will go through map,
mock, k, etc.
So, from the secure boot,
from secure boot.
Yeah, okay.
So, that was,
why, and yeah,
it would just allow an easy integration
into all the distros.
Yeah.
But yeah, there would be a problem
getting that signed.
Yes.
Sorry.
Yeah, by now.
So, I mentioned that also,
that's taken with those technical issues.
Right?
Yeah.
You got your share in integration, but that's it.
Oh.
Well, I, who integrate?
Like we see side profiles that I mentioned earlier,
right?
Yeah.
But the thing is that,
it would be really nice to get,
just get the touch signatures,
because yeah, then you don't need any kind of weapon.
Yeah.
So, let's have the Linux binary,
like VMZ, a VMLinals, or a image of dizzy,
and I have DTVs, and I have signatures.
So, that's, well, we can discover that later, really.
So, now a small talk about distros.
Yeah.
So, in terms of the distros,
so, Debbie uses a grab-based boot flow.
I mean, I argue that we should move to system D boot.
Others disagree.
Yeah.
Let's do it.
Why not?
Uh, guilty of the TLC.
Well, let's talk about that later.
We've got some custom images with system D boot,
UKIs, kind of we ship all of the DTVs,
and all of the CHID mapping in there,
and it seems to work really well.
For Dora, they don't really build an images for ARM64.
These call come-lapsops because this exact issue.
There's some arch images with system D boot,
UKIs as well.
They're the ones who've been adding all the actual
implementation system D boot for the CHID mapping and everything.
There's some concept images for a bunch too,
but they use a grab-script system in which DTVs are load.
So, I mean, it's kind of not very generic.
And as we mentioned before, post-market OS.
The trailblazer images use DTV loader to load the DTV.
I'm not sure of any others.
If anyone has any other images or distributions that
I'd be interested to hear more.
See if anyone else.
Yeah?
It's ARM code, ARM code, ARM code?
Yeah?
ARM code!
ARM code is ARM code.
ARM code, ARM code.
ARM code.
It's the only laptop, how do you work on any other laptops?
Okay, yeah, nice.
Any other these tools, any comments?
Again, thank you for the post-market rest, because they do a really great job on enabling stuff
and thank you for all these tools, because all of you do a really great job on helping us
or making our life easier and harder to enable the, to enable laptops.
So yeah, the next steps really, we want to help the fedora and the Debbie and Images to kind of become
mainline really for these laptops.
We want to make sure that we do it in the right way, so we want to include vendors,
laptops, vendors, distro, people, mainstayners, anyone interested, we'd like to form some sort of working group.
I don't know how really that works, if anyone's got any ideas, I'd love to hear it.
And we want to decide on a common solution.
I mean, my favourite solution is UK-I's, Dimitri's favourite solution is the
Shim idea.
Yeah, sure.
So, I'd need to be a larger one.
Yeah.
And it's a shame, because I mean, we're hoping to use this as a step-in-stone to get systemD boot into Debbie and so.
I think Debbie and support systemD boot, so you can do it by default, by default.
Oh, that one.
What if I give it five years?
I'm going to take it to my deck.
Yeah, I mean, I have Debbie and on this laptop, but I like it about it.
Yeah, sometimes it takes a lot of time.
So, any other opinions, any other comments?
Please, we're really.
Yeah.
I think there is, like, about the big size of this,
like, let's say, we're in the world where, like, we're, like,
how am I going to get it by the way I can talking, like, if you have a generic image,
like, how am I going to migrate, like, blocks, and how large is it going to be.
So, I'm going to do support systemD boot.
Because this doesn't look interesting.
Yeah.
I think I just have to move to those who are secondary booting,
and say, like, I can shift.
Right.
But eventually, each other's secondary boot gets slow.
If you pause, because I said, you know, actually going to use,
as we would, right?
And this is the implications that we can use.
If you need to, we have this in separate files,
and you can load them, and this gets separately.
Or if it's fine to actually just have it in one UKI,
but that would, of course, go.
So, yeah, my question is, what's with it?
And you saw about, like, because we've,
we've had it on one structure of data.
Yeah.
There's so many information.
How do you understand this?
Yeah.
Not particularly.
So, the question was, basically.
Oh, sorry.
The question was around the size of these things.
How big is it going to make the UKIs?
So, I don't know if you got any questions.
So, I just checked the size of, oh, welcome.
Detabies.
At this point is 55, 56 megs.
And I think, when I last checked the size of,
I don't know.