Linux-libre kernel does not build deterministically

  • Done
  • quality assurance status badge
Details
4 participants
  • Bone Baboon
  • Ludovic Courtès
  • Maxim Cournoyer
  • zimoun
Owner
unassigned
Submitted by
Ludovic Courtès
Severity
normal
L
L
Ludovic Courtès wrote on 19 Jul 2016 19:22
(address . bug-guix@gnu.org)
87lh0xfsq2.fsf@gnu.org
As of version 4.6.4, Linux-libre does not build reproducibly:

Toggle snippet (9 lines)
$ guix challenge linux-libre
/gnu/store/wkdnd1dcgljr0jxmd3li8j0qsr2zwrci-linux-libre-4.6.4 contents differ:
local hash: 1py214sd42qcq8l429m4zf4aibp8rl68kpkrzqi1nn65vnbxsx11
https://hydra.gnu.org/nar/wkdnd1dcgljr0jxmd3li8j0qsr2zwrci-linux-libre-4.6.4: 19hsdsjy5i9nfc1g28s074znzimzhylgkdpwz435j301sn9pxxp9
$ wget -q -O - https://hydra.gnu.org/nar/wkdnd1dcgljr0jxmd3li8j0qsr2zwrci-linux-libre-4.6.4 | bunzip2 | guix archive -x t
$ diff -ur --no-dereference /gnu/store/wkdnd1dcgljr0jxmd3li8j0qsr2zwrci-linux-libre-4.6.4 /tmp/t
Binary files /gnu/store/wkdnd1dcgljr0jxmd3li8j0qsr2zwrci-linux-libre-4.6.4/bzImage and /tmp/t/bzImage differ

Apparently people are working on it:

Ludo’.
M
M
Maxim Cournoyer wrote on 9 Oct 2020 23:17
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 24028@debbugs.gnu.org)
87imbjqeuo.fsf@gmail.com
Hello,

ludo@gnu.org (Ludovic Courtès) writes:

Toggle quote (15 lines)
> As of version 4.6.4, Linux-libre does not build reproducibly:
>
> $ guix challenge linux-libre
> /gnu/store/wkdnd1dcgljr0jxmd3li8j0qsr2zwrci-linux-libre-4.6.4 contents differ:
> local hash: 1py214sd42qcq8l429m4zf4aibp8rl68kpkrzqi1nn65vnbxsx11
> https://hydra.gnu.org/nar/wkdnd1dcgljr0jxmd3li8j0qsr2zwrci-linux-libre-4.6.4: 19hsdsjy5i9nfc1g28s074znzimzhylgkdpwz435j301sn9pxxp9
> $ wget -q -O - https://hydra.gnu.org/nar/wkdnd1dcgljr0jxmd3li8j0qsr2zwrci-linux-libre-4.6.4 | bunzip2 | guix archive -x t
> $ diff -ur --no-dereference /gnu/store/wkdnd1dcgljr0jxmd3li8j0qsr2zwrci-linux-libre-4.6.4 /tmp/t
> Binary files /gnu/store/wkdnd1dcgljr0jxmd3li8j0qsr2zwrci-linux-libre-4.6.4/bzImage and /tmp/t/bzImage differ
>
> Apparently people are working on it:
> <https://wiki.debian.org/SameKernel>.
>
> Ludo’.

I just tested with linux-libre 5.8.10, and it still suffers from
reproducibility problems, but only for one file:

Toggle snippet (4 lines)
diff -r /gnu/store/jc1dydmax5sdfljpi5mq5dhq9wdr92xy-linux-libre-5.8.10{,-check}
Binary files /gnu/store/jc1dydmax5sdfljpi5mq5dhq9wdr92xy-linux-libre-5.8.10/bzImage and /gnu/store/jc1dydmax5sdfljpi5mq5dhq9wdr92xy-linux-libre-5.8.10-check/bzImage differ

So, we're not far!

Maxim
B
B
Bone Baboon wrote on 17 May 2021 20:38
Re: Linux-libre kernel does not build deterministically
(address . 24028@debbugs.gnu.org)
87im3hcijw.fsf@disroot.org
Linux-libre is not reproducible.

`guix describe` outputs:

```
Generation 24 May 12 2021 18:06:24 (current)
guix d6aeebb
branch: master
commit: d6aeebb23639258311fdfb9dbf5f903079fde51a
```

`guix challenge
/gnu/store/k029d836d3slh3s5k20306zvnph5ggq4-linux-libre-5.11.16`
outputs:

```
/gnu/store/k029d836d3slh3s5k20306zvnph5ggq4-linux-libre-5.11.16 contents differ:
local hash: 1xkzhdkqbnh1prryz2bbbz1fsydsb9srhzpj27mpx1dv47fq2r05
differing file:
/bzImage

1 store items were analyzed:
- 0 (0.0%) were identical
- 1 (100.0%) differed
- 0 (0.0%) were inconclusive
```

`guix challenge
/gnu/store/rcav1xxn4ajkbnkmrnl6jr5d1zb20kq1-linux-libre-5.11.14`
outputs:

```
/gnu/store/rcav1xxn4ajkbnkmrnl6jr5d1zb20kq1-linux-libre-5.11.14 contents differ:
local hash: 1z2v884l98ysl0vass4dchwfpavnk47x8brcx8h31qp3bj1xyhaz
differing file:
/bzImage

1 store items were analyzed:
- 0 (0.0%) were identical
- 1 (100.0%) differed
- 0 (0.0%) were inconclusive
```

Attached is the diffoscope output.
Z
Z
zimoun wrote on 14 Sep 2021 13:59
Re: bug#24028: Linux-libre kernel does not build deterministically
(name . Maxim Cournoyer)(address . maxim.cournoyer@gmail.com)
86lf3ztljp.fsf@gmail.com
Hi,

On Fri, 09 Oct 2020 at 17:17, Maxim Cournoyer <maxim.cournoyer@gmail.com> wrote:
Toggle quote (24 lines)
> ludo@gnu.org (Ludovic Courtès) writes:
>
>> As of version 4.6.4, Linux-libre does not build reproducibly:
>>
>> $ guix challenge linux-libre
>> /gnu/store/wkdnd1dcgljr0jxmd3li8j0qsr2zwrci-linux-libre-4.6.4 contents differ:
>> local hash: 1py214sd42qcq8l429m4zf4aibp8rl68kpkrzqi1nn65vnbxsx11
>> https://hydra.gnu.org/nar/wkdnd1dcgljr0jxmd3li8j0qsr2zwrci-linux-libre-4.6.4:
>> 19hsdsjy5i9nfc1g28s074znzimzhylgkdpwz435j301sn9pxxp9
>> $ wget -q -O -
>> https://hydra.gnu.org/nar/wkdnd1dcgljr0jxmd3li8j0qsr2zwrci-linux-libre-4.6.4
>> | bunzip2 | guix archive -x t
>> $ diff -ur --no-dereference /gnu/store/wkdnd1dcgljr0jxmd3li8j0qsr2zwrci-linux-libre-4.6.4 /tmp/t
>> Binary files /gnu/store/wkdnd1dcgljr0jxmd3li8j0qsr2zwrci-linux-libre-4.6.4/bzImage and /tmp/t/bzImage differ
>>
>> Apparently people are working on it:
>> <https://wiki.debian.org/SameKernel>.
>
> I just tested with linux-libre 5.8.10, and it still suffers from
> reproducibility problems, but only for one file:
>
> diff -r /gnu/store/jc1dydmax5sdfljpi5mq5dhq9wdr92xy-linux-libre-5.8.10{,-check}
> Binary files /gnu/store/jc1dydmax5sdfljpi5mq5dhq9wdr92xy-linux-libre-5.8.10/bzImage and /gnu/store/jc1dydmax5sdfljpi5mq5dhq9wdr92xy-linux-libre-5.8.10-check/bzImage differ

Still the same issue with 5.13.15.

diff -r --no-dereference /gnu/store/y9r7physjpa23znb7r6rg38wpmxrkp0s-linux-libre-5.13.15{,-check}
Binary files /gnu/store/y9r7physjpa23znb7r6rg38wpmxrkp0s-linux-libre-5.13.15/bzImage and /gnu/store/y9r7physjpa23znb7r6rg38wpmxrkp0s-linux-libre-5.13.15-check/bzImage differ


All the best,
simon
M
M
Maxim Cournoyer wrote on 21 Nov 2021 15:12
(name . zimoun)(address . zimon.toutoune@gmail.com)
87y25hbnsd.fsf@gmail.com
Hello,

zimoun <zimon.toutoune@gmail.com> writes:

Toggle quote (32 lines)
> Hi,
>
> On Fri, 09 Oct 2020 at 17:17, Maxim Cournoyer <maxim.cournoyer@gmail.com> wrote:
>> ludo@gnu.org (Ludovic Courtès) writes:
>>
>>> As of version 4.6.4, Linux-libre does not build reproducibly:
>>>
>>> $ guix challenge linux-libre
>>> /gnu/store/wkdnd1dcgljr0jxmd3li8j0qsr2zwrci-linux-libre-4.6.4 contents differ:
>>> local hash: 1py214sd42qcq8l429m4zf4aibp8rl68kpkrzqi1nn65vnbxsx11
>>> https://hydra.gnu.org/nar/wkdnd1dcgljr0jxmd3li8j0qsr2zwrci-linux-libre-4.6.4:
>>> 19hsdsjy5i9nfc1g28s074znzimzhylgkdpwz435j301sn9pxxp9
>>> $ wget -q -O -
>>> https://hydra.gnu.org/nar/wkdnd1dcgljr0jxmd3li8j0qsr2zwrci-linux-libre-4.6.4
>>> | bunzip2 | guix archive -x t
>>> $ diff -ur --no-dereference /gnu/store/wkdnd1dcgljr0jxmd3li8j0qsr2zwrci-linux-libre-4.6.4 /tmp/t
>>> Binary files /gnu/store/wkdnd1dcgljr0jxmd3li8j0qsr2zwrci-linux-libre-4.6.4/bzImage and /tmp/t/bzImage differ
>>>
>>> Apparently people are working on it:
>>> <https://wiki.debian.org/SameKernel>.
>>
>> I just tested with linux-libre 5.8.10, and it still suffers from
>> reproducibility problems, but only for one file:
>>
>> diff -r /gnu/store/jc1dydmax5sdfljpi5mq5dhq9wdr92xy-linux-libre-5.8.10{,-check}
>> Binary files /gnu/store/jc1dydmax5sdfljpi5mq5dhq9wdr92xy-linux-libre-5.8.10/bzImage and /gnu/store/jc1dydmax5sdfljpi5mq5dhq9wdr92xy-linux-libre-5.8.10-check/bzImage differ
>
> Still the same issue with 5.13.15.
>
> diff -r --no-dereference /gnu/store/y9r7physjpa23znb7r6rg38wpmxrkp0s-linux-libre-5.13.15{,-check}
> Binary files /gnu/store/y9r7physjpa23znb7r6rg38wpmxrkp0s-linux-libre-5.13.15/bzImage and /gnu/store/y9r7physjpa23znb7r6rg38wpmxrkp0s-linux-libre-5.13.15-check/bzImage differ

Fixed in 01ea70a29c on core-updates-frozen, after taking hints from

Thanks,

Closing.

Maxim
Closed
?