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
make-iso9660-image: produce stable GPT disk GUID #74174
Conversation
I guess the main thing to consider/test here is whether dropping |
From the Syslinux documentation (wiki)
It looks like the There is also a section about UEFI documenting the proper invocation for |
Good find - looks like the needed xorriso flags were already being passed in. My laptop can indeed still boot from the iso-written-to-USBdisk with |
/cc @lostdj @bobvanderlinden who have worked on these parts of the script before, way back in 2014/2015 though ;) |
@@ -117,15 +118,6 @@ xorriso="xorriso | |||
|
|||
$xorriso -output $out/iso/$isoName | |||
|
|||
if test -n "$usbBootable"; then |
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.
I'm not sure whether we can remove isohybrid. It could very well be that the parameters passed to xorriso
are already sufficient, but from what I remember there were quite a few systems we needed to support. Make sure to test this on a UEFI machine, a legacy bios machine and an OSX machine. Or is there some other way to verify the change doesn't affect these systems?
If we're indeed removing this, we might as well remove the usbBootable
options from make-iso9660-image.nix
. Might be better to do this in a separate PR.
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.
(I've since tested this both on UEFI, non-UEFI and OSX machines. agreed to do further refactoring in a separate PR)
Also successfully tested on an old So left to test:
For your testing convenience, https://we.tl/t-ON1G9XIYPG |
I have burnt the above ISO to a DVD-R and verified I could boot from it both on an old non-UEFI system and on a recent UEFI system. |
And I've tested booting from the ISO on an OSX machine as well, now, too. Held the 'C' button to boot from the CD. This put me into a grub shell (probably we held the 'C' too long?), but after giving the |
8072fc5
to
3827792
Compare
I have also tested that when applying this change together with #75484, |
@GrahamcOfBorg test installer |
3827792
to
59dff7d
Compare
Since #75484 has now been merged I rebased & squashed this, and verified I think this should be good to go now? |
@GrahamcOfBorg test installer |
This pull request has been mentioned on NixOS Discourse. There might be relevant details there: https://discourse.nixos.org/t/prs-ready-for-review-may-2019/3032/105 |
This pull request has been mentioned on NixOS Discourse. There might be relevant details there: https://discourse.nixos.org/t/prs-ready-for-review-may-2019/3032/161 |
/marvin opt-in |
Hi! I'm an experimental bot. My goal is to guide this PR through its stages, hopefully ending with a merge. You can read up on the usage here. |
59dff7d
to
1bdc11b
Compare
This pull request has been mentioned on NixOS Discourse. There might be relevant details there: https://discourse.nixos.org/t/what-are-your-goals-for-20-09/8035/7 |
By generating a version-5 GUID based on $out (which contains the derivation hash) and preventing isohybrid from overwriting the GPT table (which already is populated correctly by xorriso). Tested by: * booting from USB disk on a UEFI system * booting from USB disk on a non-UEFI system * booting from CD on a UEFI system * booting from CD on a non-UEFI system * booting from CD on an OSX system Also tested that "nix-build ./nixos/release-combined.nix -A nixos.iso_minimal.x86_64-linux -I nixpkgs=~/nixpkgs-r13y --check" now succeeds. Fixes NixOS#74047
1bdc11b
to
be006ea
Compare
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.
Thanks!
By generating a version-5 GUID based on $out (which contains
the derivation hash) and preventing isohybrid from overwriting
the GPT table (which already is populated correctly by xorriso).
Tested by booting from UEFI USB disk
Fixes #74047
Things done
sandbox
innix.conf
on non-NixOS linux)nix-shell -p nix-review --run "nix-review wip"
./result/bin/
)nix path-info -S
before and after)Notify maintainers
cc @