forked from rhboot/shim-review
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Community review request for Endless.
- Loading branch information
Showing
9 changed files
with
1,968 additions
and
37 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
To reproduce the build in the attached container defined by the attached | ||
Dockerfile run: | ||
|
||
``` | ||
sudo docker build . | ||
``` | ||
|
||
At the end of the process the SHA256 checksum of shimx64.efi that was just | ||
built will be printed. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
FROM debian:buster | ||
ADD --chown=root:root endless.origins /etc/dpkg/origins/endless | ||
RUN echo "deb-src http://deb.debian.org/debian buster main" > /etc/apt/sources.list.d/deb-src.list | ||
RUN apt-get update -y | ||
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends build-essential devscripts git | ||
RUN apt-get build-dep -y shim | ||
RUN git clone https://github.com/endlessm/shim.git shim-15+dev16.b59aab6 | ||
WORKDIR /shim-15+dev16.b59aab6 | ||
RUN git config user.email "root@example.com" | ||
RUN git merge --allow-unrelated-histories -m "Import the packaging bits into master" origin/debian-master | ||
RUN echo "1.0" > debian/source/format | ||
RUN echo "--compression=gzip" > debian/source/options | ||
RUN dch -v 15+dev16.b59aab6-5 -D eos --force-distribution 'Automatic release from git (15+dev16.b59aab6-5)' | ||
RUN rm -rf .git | ||
RUN DEB_VENDOR=endless dpkg-buildpackage -us -uc | ||
WORKDIR / | ||
RUN dpkg-deb -x shim-efi-image_15+dev16.b59aab6-5_amd64.deb shim-efi-image | ||
RUN cp shim-efi-image/boot/efi/EFI/endless/shimx64.efi . | ||
RUN sha256sum shimx64.efi |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,49 +1,75 @@ | ||
Make sure you have provided the following information: | ||
|
||
- [ ] link to your code branch cloned from rhboot/shim-review in the form user/repo@tag | ||
- [ ] completed README.md file with the necessary information | ||
- [ ] shim.efi to be signed | ||
- [ ] public portion of your certificate embedded in shim (the file passed to VENDOR_CERT_FILE) | ||
- [ ] any extra patches to shim via your own git tree or as files | ||
- [ ] any extra patches to grub via your own git tree or as files | ||
- [ ] build logs | ||
- [X] link to your code branch cloned from rhboot/shim-review in the form user/repo@tag | ||
https://github.com/endlessm/shim-review/tree/endless-shim-x64-20190410 | ||
- [X] completed README.md file with the necessary information | ||
https://github.com/endlessm/shim-review/blob/endless-shim-x64-20190410/README.md | ||
- [X] shim.efi to be signed | ||
https://github.com/endlessm/shim-review/blob/endless-shim-x64-20190410/shimx64.efi | ||
- [X] public portion of your certificate embedded in shim (the file passed to VENDOR_CERT_FILE) | ||
https://github.com/endlessm/shim-review/blob/endless-shim-x64-20190410/endless-uefi-ca.der | ||
- [X] any extra patches to shim via your own git tree or as files | ||
The last 16 commits on https://github.com/endlessm/shim/commits/master. | ||
- [X] any extra patches to grub via your own git tree or as files | ||
The grub source code we use can be found on the master branch of | ||
https://github.com/endlessm/grub. We are based on tag grub-2.02 from | ||
upstream. | ||
- [X] build logs | ||
https://github.com/endlessm/shim-review/blob/endless-shim-x64-20190410/logs.txt | ||
|
||
|
||
###### What organization or people are asking to have this signed: | ||
`[your text here]` | ||
Endless Mobile, Inc. | ||
https://endlessos.com/ | ||
|
||
###### What product or service is this for: | ||
`[your text here]` | ||
Endless OS. | ||
|
||
###### What is the origin and full version number of your shim? | ||
`[your text here]` | ||
Our code is based on upstream tag `15` with a few changes to the fallback | ||
program. The packaging bits are based on the packaging from Debian Buster, | ||
`version 0.9+1474479173.6c180c6-1`. The full version of our package is | ||
`15+dev16.b56aab6-7bem1`. | ||
|
||
###### What's the justification that this really does need to be signed for the whole world to be able to boot it: | ||
`[your text here]` | ||
Endless OS is a Linux distribution available for anyone to download on | ||
https://endlessos.com/download/ and also shipped with computers sold directly | ||
by us and by our OEM partners like Asus and Acer. | ||
|
||
###### How do you manage and protect the keys used in your SHIM? | ||
`[your text here]` | ||
We have generated our own secure boot CA private key which is stored offline | ||
with physical security protection and only accessed to provision new signing | ||
keys. The CA public key is the one present in the shim binary. The signing keys | ||
which are used in our build servers to sign the bootloader and kernel are | ||
stored on J3A081 80K smartcard HW encryption devices. This is based on the | ||
procedure described at | ||
https://fedoraproject.org/wiki/User:Pjones/SecureBootSmartCardDeployment | ||
|
||
###### Do you use EV certificates as embedded certificates in the SHIM? | ||
`[your text here]` | ||
No. | ||
|
||
###### What is the origin and full version number of your bootloader (GRUB or other)? | ||
`[your text here]` | ||
We use GRUB as the bootloader, with the Secure Boot patchset from Red Hat / | ||
Fedora which adds integration between GRUB and shim. The grub source code we | ||
use can be found on the master branch of https://github.com/endlessm/grub. We | ||
are based on tag grub-2.02 from upstream. | ||
|
||
###### If your SHIM launches any other components, please provide further details on what is launched | ||
`[your text here]` | ||
Our shim does not load any other components. | ||
|
||
###### How do the launched components prevent execution of unauthenticated code? | ||
`[your text here]` | ||
N/A. | ||
|
||
###### Does your SHIM load any loaders that support loading unsigned kernels (e.g. GRUB)? | ||
`[your text here]` | ||
No, our grub does not allow loading unsigned kernels when secure boot is | ||
enabled. Our grub EFI binary only includes the `linuxefi` module, which | ||
verifies the kernel via shim, and does not include the `linux` module. | ||
|
||
###### What kernel are you using? Which patches does it includes to enforce Secure Boot? | ||
`[your text here]` | ||
Linux 5.0 with secure boot support. | ||
|
||
###### What changes were made since your SHIM was last signed? | ||
`[your text here]` | ||
Rebased on a newer upstream version. | ||
|
||
###### What is the hash of your final SHIM binary? | ||
`[your text here]` | ||
e592a7f77ed424c30c7afa4f79a66346b86ea2246bf1394d386fd180a9aa5f6b shimx64.efi |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
Vendor: Endless | ||
Vendor-URL: http://www.endlessos.com/ | ||
Bugs: https://community.endlessos.com/ | ||
Parent: Debian |
Oops, something went wrong.