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. |
vcunat
left a comment
There was a problem hiding this comment.
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 <malte.brandy@maralorn.de>
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 = trueset 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.shto update generated release notes