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

pkgs/stdenv/linux: update riscv64 bootstrap-files #282517

Merged
merged 1 commit into from
Jan 21, 2024

Commits on Jan 20, 2024

  1. pkgs/stdenv/linux: update riscv64 bootstrap-files

    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
    ```
    fgaz committed Jan 20, 2024
    Configuration menu
    Copy the full SHA
    0d7c62f View commit details
    Browse the repository at this point in the history