Skip to content

Instantly share code, notes, and snippets.

@autch
Created August 9, 2022 20:38
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save autch/fa45abcea72e40f8c601e3d1a8a7af44 to your computer and use it in GitHub Desktop.
Save autch/fa45abcea72e40f8c601e3d1a8a7af44 to your computer and use it in GitHub Desktop.
Dockerfile for buiding Linux 5.19-sof for Donki NANOTE NEXT with SOF Audio (Everest ES8336) enabled
$ docker build -t linux-es8336:latest .
$ mkdir ccache
$ docker run -v $PWD/ccache:/root/.cache/ccache --name linux-es8336-builder linux-es8336:latest
(wait for build finishes...  requires ~20GB of disk space)
$ docker commit linux-es8336-builder linux-es8336:built
$ mkdir deb
$ docker run --rm -ti -v $PWD/deb:/deb linux-es8336:built bash
container$ cd /src/linux-es8336
container$ cp *.* /deb
container$ exit

now you have *.deb files in deb subdirectory

CONFIG_TOUCHSCREEN_SILEAD=m
CONFIG_SND_SOC_INTEL_SOF_ES8336_MACH=m
CONFIG_SND_SOC_SOF_ACPI=m
CONFIG_SND_SOC_SOF_ACPI_DEV=m
CONFIG_SND_SOC_SOF_APOLLOLAKE=m
CONFIG_SND_SOC_ES8316=m
CONFIG_SND_SOC_ES8328=m
CONFIG_SND_SOC_ES8328_I2C=m
FROM debian:bullseye
RUN sed "/^deb /{s/^deb /deb-src /}" < /etc/apt/sources.list > /etc/apt/sources.list.d/bullseye-src.list
RUN bash -c 'echo -e "deb http://deb.debian.org/debian experimental main\n \
deb-src http://deb.debian.org/debian experimental main"' > /etc/apt/sources.list.d/experimental.list
RUN apt-get update \
&& apt-get install -y build-essential git make ccache cpio xz-utils bison flex debhelper-compat dh-exec dh-python openssl bc dwarves \
&& apt-get install -y -t experimental linux-config-5.19 \
&& apt-get clean && rm -rf /var/lib/apt/lists/*
RUN mkdir /src
COPY config-nnnext.merge /src
RUN cd /src && git clone --depth 1 https://github.com/thesofproject/kconfig.git
RUN sed -i.bak "/^make localmodconfig/{d}" /src/kconfig/kconfig-distro-sof-update.sh
RUN mkdir /src/linux-es8336
RUN cd /src/linux-es8336 && git clone -b es8336-v5.19 --depth 1 https://github.com/thesofproject/linux.git
RUN cd /src/linux-es8336/linux \
&& xz -dc /usr/src/linux-config-5.19/config.amd64_none_amd64.xz > .config \
&& yes "" | ../../kconfig/kconfig-distro-sof-update.sh \
&& scripts/kconfig/merge_config.sh .config /src/config-nnnext.merge
WORKDIR /src/linux-es8336/linux
CMD make -j$(nproc) deb-pkg CC='ccache gcc'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment