Builds not reproducible with custom kernel config
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 6
- Forks
- 6
- Avg merge
- 6h 1m
- Merged PRs (30d)
- 3
Description
In GitLab by @xendarboh on Aug 9, 2024, 23:54 GMT+1:
I have not found a way to create reproducible builds using a custom kernel config, with or without docker runtime.
My builds are not reproducible with these options:
--kconfig ../config--kconfig defconfig --kconfig-add ../config
I can create reproducible builds with these options, but it's not using my custom config:
--kconfig tinyconfig--kconfig defconfig
I've tried several variations; different kernels, different toolchains, using the resulting config from the output-dir, etc -- without success.
Example:
wget https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.10.3.tar.xz
tar xf linux-*.tar.xz
cd linux-*
tuxmake \
--target-arch=x86_64 \
--toolchain=gcc \
--runtime=docker \
--kconfig ../config \
--wrapper=none \
--environment=KBUILD_BUILD_TIMESTAMP=@1723000000 \
--environment=KBUILD_BUILD_USER=tuxmake \
--environment=KBUILD_BUILD_HOST=tuxmake \
--build-dir ../build-dir.1 \
--output-dir ../output-dir.1 \
config \
default \
kernel
tuxmake \
--target-arch=x86_64 \
--toolchain=gcc \
--runtime=docker \
--kconfig ../config \
--wrapper=none \
--environment=KBUILD_BUILD_TIMESTAMP=@1723000000 \
--environment=KBUILD_BUILD_USER=tuxmake \
--environment=KBUILD_BUILD_HOST=tuxmake \
--build-dir ../build-dir.2 \
--output-dir ../output-dir.2 \
config \
default \
kernel
$ tuxmake --version
tuxmake 1.26.1
$ diff output-dir.1/bzImage output-dir.2/bzImage
Binary files output-dir.1/bzImage and output-dir.2/bzImage differ
Assignees: alok.ranjan1
Migrated from GitLab: https://gitlab.com/Linaro/tuxmake/-/issues/219
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the exact tuxmake commands with the custom --kconfig options and compare the generated configurations and bzImage files. Trace tuxmake's handling of custom kernel configs and the Docker runtime; done means repeated builds with the same custom config produce identical outputs.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker, linux, python
- Domain
- build-system, cli, operating-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100