We're still working out the process, so there's no formal definition
quite yet, but as a start:
Make a web page someplace that lets us download, as individual files in
a directory (or a single tarball would be fine) with:
- a brief text explanation of who's asking for it to be signed and why,
in a UTF-8 encoded file named README.txt
- what's your organization
- what's the product
- what's the usage model here? (Added 2017-Jul-17)
- are you a distro?
- Are you making tools that use your own kernels and bootloader?
- Are you making tools that use someone else's kernel and bootloader?
- does it really need to be signed for the whole world to be able to
- a list of at least two security contacts, and for each one:
- their name
- their position that leads them to be on this list
- an email address
- a PGP key, signed by the other security contacts, and preferably
also with signatures that are reasonably well known in the linux
- the shim.efi binary you want signed
- information about which shim release you've started with, i.e. is it
a specific official release tarball downloaded from github, is it an
archive of some particular git revision, etc. Starting with a
released tarball is highly recommended.
- any patches that have been applied, with explanations as to why, and
the plans for getting any of them upstream.
- build instructions, including what OS to start with, where to get OS
images, etc. I'm going to try to reproduce your build as close as
possible to verify that it's really a build of the source tree you
tell us it is, so these need to be fairly thorough. At the very least
include the specific versions of gcc, binutils, and gnu-efi which were
used, and where to find those binaries.
- Any and all logs from your build. This should include logs for
creating the buildroots, applying patches, doing the build, creating
the archives, etc.
- Info about what bootloader you're using, including
which patches it includes to enforce Secure Boot. (Added 2017-Jul-17)
- Same with the OS kernel. (Added 2017-Jul-17)
To be clear: this should be a url that points to a directory, and in
it should be all of the above plus a UTF-8 encoded text file named README.txt
that tells us what is what.
And then one of us will try to verify that this is all reasonable. We
may have questions.
Note that we really only have experience with using grub2 on Linux, so
asking us to endorse anything else for signing is going to require some
convincing on your part. (Added 2017-Jul-17)