-
-
Notifications
You must be signed in to change notification settings - Fork 189
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Upgrade to cryptsetup 2.3 and make cryptsetup1/cryptsetup2 optionals #876
Conversation
Following commit ed3602f (maintain reproducibility by removing rpath) and applying the same changes for new version of cryptsetup.
* hardcode rpatch patch not needed as `--disable-rpath` is available * remove obsolete config parameters
* use --libdir to fix issue with .la files which had //lib as lib folder * add libblkid as library
If using -I to introduce header files, the elf.h in the target system instead of elf.h shipped with kexec-tools will be included, making its building process failed.
tlaurion CircleCI test: Rebasing to master and outputing result of build into linuxboot#876 and pinging @root-hardenedvault to follow his github from CircleCI
@Thrilleratplay @root-hardenedvault : Huston, We have a problem! There is not enough space to do anything anymore without having ME cleaned and that space migrated into BIOS region of xx20 and xx30 boards. Let's remember that those x230 and t430 have lost e1000e (Ethernet) support and dropbear in master. Trying to build and integrate newer cryptsetup fails at:
#590 is now a reality. t430 and x230 won't have enough space unless #703 |
[ plays Taps for fallen heroes ] @tlaurion I am starting on IFD generation and I am not sure how long it will take. In the mean time, I would suggest adding prefigured IFD binaries under |
@Thrilleratplay I have no problem dumping modified IFD there, but as said under #873, the main focus would be to modify coreboot module (I think) so that bincfg and ifdtool are built and in path, while xx30_blobs module could make sure me_cleaner is downloaded and in path and finding a way to be able to call download/verify lenovo downloaded exe file and run innoextract on it, then call me_cleaner on it. Doing so would fix the stage for more xx20 and xx30 Heads inclusion. (While #590 is still needed unless we are ready to give up on xx20 soon, this approach giving us ~7.5m of total space for xx20 where ~11.5m is available for xx30 + reproducibility) |
According to the test: if GPGv1 is used, 8MB flash can be fit. |
Unfortunately, GPGv1 doesn't support 4096 RSA keys which was the reason for the initial GPG toolstack upgrade, and where I did the maximum I could find to cut it down to the smallest possible per configure options. |
@root-hardenedvault Can cryptsetup (and new dependencies) be hammered down and made smaller? |
GPGv1 is just unable to generate RSA4096, but it supports the usage of imported existing RSA4096 keys. |
@root-hardenedvault : I will try to take a look into new added dependencies and reducing general footprint as it was done for latest GPG2 LTS toolstack upgrade. Going back to GPG1 is not an option where key generation is kinda mandatory under Heads otherwise Heads is useable only per geeks to obtain added security. |
Update the title and PR due to the info by cryptsetup-2.2 don't have the size issue at #893 |
…rted boards of linuxboot#876 Adding CircleCI kgpe-d16 confirmity changes to have clearer info on what fails in build and details on CI seperately, as for all other boards.
@root-hardenedvault : if there is any new host build requirements, please cherry-pick tlaurion@38a5fc8 and modify |
@root-hardenedvault :
|
…rted boards of linuxboot#876 Adding CircleCI kgpe-d16 confirmity changes to have clearer info on what fails in build and details on CI seperately, as for all other boards. Fix typo where cryptsetup2 was reusing cryptsetup in url of its module
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@root-hardenedvault: Please include changes under tlaurion@53f26cd
And keep an eye on https://circleci.com/gh/tlaurion/heads/694?utm_campaign=vcs-integration-link&utm_medium=referral&utm_source=github-build-link
modules/cryptsetup2
Outdated
cryptsetup2_version := 2.2.2 | ||
cryptsetup2_dir := cryptsetup-$(cryptsetup2_version) | ||
cryptsetup2_tar := cryptsetup-$(cryptsetup2_version).tar.xz | ||
cryptsetup2_url := https://www.kernel.org/pub/linux/utils/cryptsetup/v2.2/cryptsetup-$(cryptsetup_version).tar.xz |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ommited:
cryptsetup2_url := https://www.kernel.org/pub/linux/utils/cryptsetup/v2.2/cryptsetup-$(cryptsetup_version).tar.xz ->
cryptsetup2_url := https://www.kernel.org/pub/linux/utils/cryptsetup/v2.2/cryptsetup-$(cryptsetup2_version).tar.xz
…boards (coreboot 4.8.1 boards first) xx20-maximized boards: deactivation of NKSTORAGECLI (Fix linuxboot#926 while permitting support of newer OSes linuxboot#789 which requires cryptsetup2 (linuxboot#876)
…boards (coreboot 4.8.1 boards first) xx20-maximized boards: deactivation of NKSTORAGECLI (Fix linuxboot#926 while permitting support of newer OSes linuxboot#789 which requires cryptsetup2 (linuxboot#876) x230-nkstorecli board removal: was already not having dropbear, e1000e. Was a testboard to test compilation of nkstorecli. Integrated under xx30-maximized boards.
moin, the updated commit seems having conflicts with tlaurion/heads@53f26cd. Can you rebase it again? |
Never mind, I see that this patch has already gone to the 2.3 release, but the title wasn't updated. |
This PR changed cryptsetup 2.3 -> 2.2. @MOIN @root-hardenedvault: any reason why 2.3 was downgraded to 2.2? |
https://nvd.nist.gov/vuln/detail/CVE-2020-14382#match-5995976 |
the reason it downgraded to v2.2 because it reduced the size. As the security issue, the current cryptsetup version changed to v2.3.3 |
Boards configs can now be changed to depend on cryptsetup2 if SPI flash size permits it. QubesOS 4.1 can now be installed. Tested from https://app.circleci.com/jobs/github/tlaurion/heads/770?utm_campaign=vcs-integration-link&utm_medium=referral&utm_source=github-build-link by @blobless |
How? I would have thought we need to declare a Thanks for this PR anyway! |
@alex-nitrokey This whole section in Makefile is redundant if declared in modules. In this case if cryptsetup2 is declared in board config, you got it. |
@alex-nitrokey It was tested here: #789 (comment) where I tested only cryptsetup1 for regression under x230-maximized. So newer Xen patches under QubesOS 4.1 fixed real mode booting, while this cryptsetup2 was tested functional to boot installed QubesOS 4.1. reencryption was not tested yet for regression on 1 but should not have any impact, neither on cryptsetup2. |
continue the work of #749 :
.la files turn out to be unnecessary for linking. They may even hinder the linking sometimes. By removing them from
install
, the cryptsetup finally gets built and working.