Skip to content
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

Initrd improvements #97145

Open
wants to merge 5 commits into
base: master
from
Open

Conversation

@lheckemann
Copy link
Member

@lheckemann lheckemann commented Sep 4, 2020

Motivation for this change
  • Fixing some false assumptions, such as that all u-boot images should be for ARM and compressed with gzip;
  • Moving the file to a path with a filename extension corresponding to the compression, for more clarity on what the files are (just initrd is provided as a symlink for compatibility);
  • A number of the features which are useful for modifying from outside (especially for embedded systems) were fixed based on the platform; but using makeInitrd from one of the predefined platforms (like aarch64-multiplatform) can be significantly more convenient than defining a whole new platform — so this makes u-boot options available via the function call but optional, defaulting to the platform values;
  • Fixing terminology (partly) — we're generating an initramfs, not an initrd. This needs some more work, but we refer to it as initrd all over the place and this is not a battle I want to fight all the way in this context :)

Related: #96005; these should probably be integrated.

Things done
  • Built a number of initramfses for embedded systems
  • Built my NixOS system with the initramfs
  • Ran uefiUsb boot test
  • [?] Ensured that relevant documentation is up to date — I've updated (and added) documentation in make-initrd.nix itself, but not touched the relevant NixOS bits yet.
  • Fits CONTRIBUTING.md.
lheckemann added 5 commits Sep 3, 2020
mips for example might use uImages too
IA64 (Itanium) is something completely different and certainly not
what we want! x86_64 code lives in arch/x86 just like "classic" x86.
- Generate the initramfs file with an appropriate file extension,
  guessed based on the compressor
- Use correct metadata in u-boot images if generated, up to now this
  was hardcoded to gzip and would silently generate an erroneous image
  if another compressor was specified
- Document all the parameters
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

1 participant
You can’t perform that action at this time.