-
-
Notifications
You must be signed in to change notification settings - Fork 14.4k
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
aarch64: update bootstrap-files #151399
aarch64: update bootstrap-files #151399
Conversation
Well, for aarch64-linux we have native builders on Hydra, so I expect we'd prefer to take the native bootstrap tools. (I didn't realize this difference when pointing you to risc-v.) https://hydra.nixos.org/job/nixpkgs/trunk/stdenvBootstrapTools.aarch64-linux.dist probably |
fixes NixOS#112086 Fetch bootstrap files built by Hydra and re-add them as FODs to skip currently dangling URLs. They are already available on https://cache.nixos.org https://hydra.nixos.org/job/nixpkgs/trunk/stdenvBootstrapTools.aarch64-linux.dist -> https://hydra.nixos.org/build/160330465#tabs-buildinputs These commands have been run to get the output hashes as FODs: nix store add-file --name bootstrap-tools.tar.xz $(nix-store -r /nix/store/9y4qnwflnxkjrqnfbzhsjv6zq2r0m48z-stdenv-bootstrap-tools --option binary-caches https://cache.nixos.org)/on-server/bootstrap-tools.tar.xz nix store add-path --name busybox $(nix-store -r /nix/store/9y4qnwflnxkjrqnfbzhsjv6zq2r0m48z-stdenv-bootstrap-tools --option binary-caches https://cache.nixos.org)/on-server/busybox
dd9010a
to
8e7acfc
Compare
Ok. I've updated the PR with the native hydra job. |
I was able to use this PR to build a minimal system on an aarch64 machine with 16k pages. Before it was impossible to change the stdenv because the bootstrap tools would segfault. Thanks for fixing this. |
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 re-checked the URL and hashes, and also building some stuff (though it's only 4k-page machine).
@lovesegfault: we only need to upload this pair of files, again.
Great. |
Happy to help with uploading the new bootstrap tarball! I need:
$ sha256sum /nix/store/9h4d7s313wv3gkfwi493yr1wvdsz9lf2-stdenv-bootstrap-tools/on-server/*
6fae5d5db226ea8eace94f2d0221a947a48c7ef7e7fd515c6604c705eb49662b /nix/store/9h4d7s313wv3gkfwi493yr1wvdsz9lf2-stdenv-bootstrap-tools/on-server/bootstrap-tools.cpio.bz2
78df72595b11e55ab198a6508cd9fa6702baee33e9631d6f0614cf08052f88f3 /nix/store/9h4d7s313wv3gkfwi493yr1wvdsz9lf2-stdenv-bootstrap-tools/on-server/bzip2
467a81602423f7f8e73b59b5ae080235795aebbbcb19a4fb81c9706153615394 /nix/store/9h4d7s313wv3gkfwi493yr1wvdsz9lf2-stdenv-bootstrap-tools/on-server/cpio
6f9673b2e44bfa524068965da0ee5520f2c27f02f7dc3585ffe828356fb46eb1 /nix/store/9h4d7s313wv3gkfwi493yr1wvdsz9lf2-stdenv-bootstrap-tools/on-server/mkdir
865d209fe8fb0fb457983f0208bb5febe87990b800a378ecf5f1a1cd5574b65b /nix/store/9h4d7s313wv3gkfwi493yr1wvdsz9lf2-stdenv-bootstrap-tools/on-server/sh (I use this last bit to double check that the intended thing is being uploaded) |
Great.
$ sha256sum /nix/store/9y4qnwflnxkjrqnfbzhsjv6zq2r0m48z-stdenv-bootstrap-tools/on-server/*
0233af99a5bc24555968149150c2ae7ebf64268ce0fedb19afb3ef504050ca2e /nix/store/9y4qnwflnxkjrqnfbzhsjv6zq2r0m48z-stdenv-bootstrap-tools/on-server/bootstrap-tools.tar.xz
9c9eba5f65dfb12b0ee2f97a34bcda159d4e521593c323e70e95dd6b4dbfe49d /nix/store/9y4qnwflnxkjrqnfbzhsjv6zq2r0m48z-stdenv-bootstrap-tools/on-server/busybox |
Done! $ pushd ~/src/nixpkgs; git show c7c997a0662bf88264db52cbc41e67884eb7a1ff; popd
~/src/nixpkgs ~/tmp/bootstrap
commit c7c997a0662bf88264db52cbc41e67884eb7a1ff
Merge: 571cbf3d1db e2738be1365
Author: maralorn <[email protected]>
Date: Fri Dec 3 01:27:14 2021 +0100
Merge pull request #148357 from maralorn/nom-update
nix-output-monitor: 1.0.3.3 -> 1.0.4.0
~/tmp/bootstrap
$ nix build /nix/store/9y4qnwflnxkjrqnfbzhsjv6zq2r0m48z-stdenv-bootstrap-tools
$ sha256sum /nix/store/9y4qnwflnxkjrqnfbzhsjv6zq2r0m48z-stdenv-bootstrap-tools/on-server/*
0233af99a5bc24555968149150c2ae7ebf64268ce0fedb19afb3ef504050ca2e /nix/store/9y4qnwflnxkjrqnfbzhsjv6zq2r0m48z-stdenv-bootstrap-tools/on-server/bootstrap-tools.tar.xz
9c9eba5f65dfb12b0ee2f97a34bcda159d4e521593c323e70e95dd6b4dbfe49d /nix/store/9y4qnwflnxkjrqnfbzhsjv6zq2r0m48z-stdenv-bootstrap-tools/on-server/busybox
$ aws s3 cp --recursive --acl public-read /nix/store/9y4qnwflnxkjrqnfbzhsjv6zq2r0m48z-stdenv-bootstrap-tools/on-server/ s3://nixpkgs-tarballs/stdenv-linux/aarch64/c7c997a0662bf88264db52cbc41e67884eb7a1ff
upload: ../../../../nix/store/9y4qnwflnxkjrqnfbzhsjv6zq2r0m48z-stdenv-bootstrap-tools/on-server/busybox to s3://nixpkgs-tarballs/stdenv-linux/aarch64/c7c997a0662bf88264db52cbc41e67884eb7a1ff/busybox
upload: ../../../../nix/store/9y4qnwflnxkjrqnfbzhsjv6zq2r0m48z-stdenv-bootstrap-tools/on-server/bootstrap-tools.tar.xz to s3://nixpkgs-tarballs/stdenv-linux/aarch64/c7c997a0662bf88264db52cbc41e67884eb7a1ff/bootstrap-tools.tar.xz
$ aws s3 ls s3://nixpkgs-tarballs/stdenv-linux/aarch64/c7c997a0662bf88264db52cbc41e67884eb7a1ff/
2022-01-04 11:27:11 16156444 bootstrap-tools.tar.xz
2022-01-04 11:27:11 177608 busybox
$ aws s3 cp --recursive s3://nixpkgs-tarballs/stdenv-linux/aarch64/c7c997a0662bf88264db52cbc41e67884eb7a1ff/ ./
download: s3://nixpkgs-tarballs/stdenv-linux/aarch64/c7c997a0662bf88264db52cbc41e67884eb7a1ff/busybox to ./busybox
download: s3://nixpkgs-tarballs/stdenv-linux/aarch64/c7c997a0662bf88264db52cbc41e67884eb7a1ff/bootstrap-tools.tar.xz to ./bootstrap-tools.tar.xz
$ sha256sum ./bootstrap-tools.tar.xz ./busybox
0233af99a5bc24555968149150c2ae7ebf64268ce0fedb19afb3ef504050ca2e ./bootstrap-tools.tar.xz
9c9eba5f65dfb12b0ee2f97a34bcda159d4e521593c323e70e95dd6b4dbfe49d ./busybox |
I tried to build some stuff. No use waiting anymore. |
I cleaned up my 16k page aarch64 machine and was able to run Looking forward to seeing this land in master! Thanks everyone for tackling this. |
This PR updates the bootstrap tarballs for riscv64-linux with new Hydra-generated ones. Fixes NixOS#275848 (bootstrap assembler too old to build gcc 13). I'll be following the script used in NixOS#151399, NixOS#168199, NixOS#183487, and NixOS#188334. Files came from [this](https://hydra.nixos.org/build/246376732#tabs-summary) Hydra build, which used nixpkgs revision 160cedc to instantiate: ``` /nix/store/cpiajh4l83b08pynwiwkpxj53d78pcxr-stdenv-bootstrap-tools-riscv64-unknown-linux-gnu.drv ``` and then built: ``` /nix/store/8a92pj40awdw585mcb9dvm4nyb03k3q3-stdenv-bootstrap-tools-riscv64-unknown-linux-gnu ``` I downloaded these files from Hydra and prefetched them into the nix store with the following commands: ``` STOREPATH=8a92pj40awdw585mcb9dvm4nyb03k3q3-stdenv-bootstrap-tools-riscv64-unknown-linux-gnu OPTIONS="--option binary-caches https://cache.nixos.org --option trusted-public-keys cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=" nix store prefetch-file \ file://$(nix store add-file --name bootstrap-tools.tar.xz $(nix-store ${OPTIONS} -r /nix/store/${STOREPATH})/on-server/bootstrap-tools.tar.xz) nix store prefetch-file --executable \ file://$(nix store add-path --name busybox $(nix-store ${OPTIONS} -r /nix/store/${STOREPATH})/on-server/busybox) ``` These commands produced the following output: ``` Downloaded 'file:///nix/store/xs74wcxq3qc12plfc70fds8inbndhcfm-bootstrap-tools.tar.xz' to '/nix/store/3fal4gikp92013kac6rdmfbrch2s859b-xs74wcxq3qc12plfc70fds8inbndhcfm-bootstrap-tools.tar.xz' (hash 'sha256-0LxRd7fdafQezNJ+N2tuOfm0KEwgfRSts5fhP0e0r0s='). Downloaded 'file:///nix/store/9ndpna6jrlac4y9fappdjm0sxx0g2bja-busybox' to '/nix/store/kb7wyy30y1gxcmdajljr26kxxac606qa-9ndpna6jrlac4y9fappdjm0sxx0g2bja-busybox' (hash 'sha256-OGO96QUzs2n5pGipn/V87AxzUY9OWKZl417nE8HdZIE='). ``` I used the hashes from the output above to create the `fetchurl` invocation which is part of this commit. I then started the bootstrap with the following command: ``` nix build -L -f . --arg localSystem '(import ./lib).systems.examples.riscv64' hello ``` As @lovesegfault requested, here are the the `sha256sum`s of all the `on-server` components for extra verification: ``` sha256sum /nix/store/${STOREPATH}/on-server/* ``` which produced the following output: ``` d0bc5177b7dd69f41eccd27e376b6e39f9b4284c207d14adb397e13f47b4af4b /nix/store/8a92pj40awdw585mcb9dvm4nyb03k3q3-stdenv-bootstrap-tools-riscv64-unknown-linux-gnu/on-server/bootstrap-tools.tar.xz 65f9433abb598f63c932d33351b14f686551512b1cece1e64c2d0e76aa0ec52e /nix/store/8a92pj40awdw585mcb9dvm4nyb03k3q3-stdenv-bootstrap-tools-riscv64-unknown-linux-gnu/on-server/busybox ```
This PR fixes #112086.
The bootstrap files have been updated from these jobs on hydra:
https://hydra.nixos.org/job/nixpkgs/trunk/stdenvBootstrapTools.aarch64-linux.dist ->
https://hydra.nixos.org/build/160330465#tabs-buildinputs
These commands have been run to get the output hashes as FODs:
Motivation for this change
Things done
sandbox = true
set innix.conf
? (See Nix manual)nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD"
. Note: all changes have to be committed, also see nixpkgs-review usage./result/bin/
)nixos/doc/manual/md-to-db.sh
to update generated release notes