diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 00000000..f6ea77d3 --- /dev/null +++ b/.github/FUNDING.yml @@ -0,0 +1,11 @@ +--- +github: ['marcosfad'] +patreon: +open_collective: +ko_fi: +tidelift: +community_bridge: +liberapay: +issuehunt: +otechie: +custom: ['https://www.paypal.com/paypalme/marcosfad'] diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml deleted file mode 100644 index 7299dfd8..00000000 --- a/.github/workflows/build.yml +++ /dev/null @@ -1,66 +0,0 @@ ---- -name: Build Kernel Package - -# yamllint disable-line rule:truthy -on: - [push, pull_request] - -jobs: - lint: - runs-on: ubuntu-20.04 - steps: - - name: 'Checkout repo' - uses: actions/checkout@v2 - - name: 'Set up Python 3.9' - uses: actions/setup-python@v2 - - name: 'Install dependencies' - run: | - python -m pip install --upgrade pip - pip install yamllint - sudo apt-get install shellcheck bash - - name: 'Analysing the code' - run: | - yamllint . - shellcheck ./*.sh - - build: - needs: [lint] - runs-on: ubuntu-20.04 - steps: - - name: 'Checkout Repo' - uses: actions/checkout@v2 - - - name: Build script - id: build - run: | - mkdir /tmp/artifacts - VERSION=$(grep ^KERNEL_VERSION build.sh | head -n1| cut -d = -f2) - REL=$(./next_version.sh mbp) - echo Building $VERSION-$REL - echo "::set-output name=tag::${VERSION}-${REL}" - sudo ./build.sh - cd /tmp/artifacts - ls -l - dpkg-scanpackages . /dev/null | gzip -9c > Packages.gz - ls -l - - - name: Upload package artifact - uses: actions/upload-artifact@v2 - with: - name: linux-mbp-${{ steps.build.outputs.tag }} - path: /tmp/artifacts/* - - - name: Release - if: | - github.ref == 'refs/heads/master' || - github.ref == 'release/*' - uses: softprops/action-gh-release@v1 - with: - data: | - /tmp/artifacts/Packages.gz - /tmp/artifacts/sha256 - /tmp/artifacts/*.deb - tag_name: v${{ steps.build.outputs.tag }} - draft: false - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/buildAunalis.yml b/.github/workflows/buildAunalis.yml new file mode 100644 index 00000000..1d777084 --- /dev/null +++ b/.github/workflows/buildAunalis.yml @@ -0,0 +1,163 @@ +--- +name: Build Aunali1s Kernel Package + +# yamllint disable-line rule:truthy +on: + [push, pull_request] + +jobs: + lint: + runs-on: ubuntu-20.04 + steps: + - name: 'Checkout repo' + uses: actions/checkout@v2 + - name: 'Set up Python 3.9' + uses: actions/setup-python@v2 + - name: 'Install dependencies' + run: | + python -m pip install --upgrade pip + pip install yamllint + sudo apt-get install shellcheck bash + - name: 'Analysing the code' + run: | + yamllint . + shellcheck ./*.sh + + build-a-mojave: + needs: [lint] + runs-on: ubuntu-20.04 + steps: + - name: 'Checkout Repo' + uses: actions/checkout@v2 + + - name: find latest release + id: variables + run: | + sudo apt install wget + wget https://raw.githubusercontent.com/pimlie/ubuntu-mainline-kernel.sh/master/ubuntu-mainline-kernel.sh + chmod +x ubuntu-mainline-kernel.sh + VERSION=$(./ubuntu-mainline-kernel.sh -r v5.12 | grep v | rev | cut -d'v' -f 1 | rev | tail -1) + RELEASE_SUFFIX=t2-a-mojave + REL=$(./next_version.sh ${VERSION}-${RELEASE_SUFFIX}) + echo "::set-output name=version::${VERSION}" + echo "::set-output name=releaseSuffix::${RELEASE_SUFFIX}" + echo "::set-output name=tag::${VERSION}-${RELEASE_SUFFIX}-${REL}" + + - name: Build script + id: build + run: | + rm -rf /tmp/artifacts + mkdir /tmp/artifacts + echo Building ${{ steps.variables.outputs.tag }} + sudo ./build.sh \ + --kernel=${{ steps.variables.outputs.version }} \ + --kernelBranch="v${{ steps.variables.outputs.version }}" \ + --kernelRepository="git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git" \ + --patchset1Repo="git://github.com/aunali1/linux-mbp-arch.git" \ + --patchset1Branch=master \ + --patchset1Commit=9511d5ed2ae0e851dd6a82843daefb2be7d5e212 \ + --patchset1Filter="grep -vE 000[0-9]" \ + --releaseSuffix=${{ steps.variables.outputs.releaseSuffix }} \ + --releasePath=/tmp/artifacts + sudo chmod 777 -R /tmp/artifacts + cd /tmp/artifacts + ls -l + dpkg-scanpackages . /dev/null | gzip -9c > Packages.gz + ls -l + + - name: Upload package artifact + uses: actions/upload-artifact@v2 + with: + name: linux-${{ steps.variables.outputs.tag }} + path: /tmp/artifacts/* + + - name: Release + if: | + github.ref == 'refs/heads/master' || + startsWith(github.ref, 'refs/heads/release/') + uses: softprops/action-gh-release@v1 + with: + body: | + Linux official kernel. Requires Mojave WiFi drivers. + Patchsets: + https://github.com/aunali1/linux-mbp-arch excluding 0001 to 0009 + files: | + /tmp/artifacts/Packages.gz + /tmp/artifacts/sha256 + /tmp/artifacts/*.deb + tag_name: v${{ steps.variables.outputs.tag }} + draft: false + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + build-a-bigsur: + needs: [lint] + runs-on: ubuntu-20.04 + steps: + - name: 'Checkout Repo' + uses: actions/checkout@v2 + + - name: find latest release + id: variables + run: | + sudo apt install wget + wget https://raw.githubusercontent.com/pimlie/ubuntu-mainline-kernel.sh/master/ubuntu-mainline-kernel.sh + chmod +x ubuntu-mainline-kernel.sh + VERSION=$(./ubuntu-mainline-kernel.sh -r v5.12 | grep v | rev | cut -d'v' -f 1 | rev | tail -1) + RELEASE_SUFFIX=t2-a-bigsur + REL=$(./next_version.sh ${VERSION}-${RELEASE_SUFFIX}) + echo "::set-output name=version::${VERSION}" + echo "::set-output name=releaseSuffix::${RELEASE_SUFFIX}" + echo "::set-output name=tag::${VERSION}-${RELEASE_SUFFIX}-${REL}" + + - name: Build script + id: build + run: | + rm -rf /tmp/artifacts + mkdir /tmp/artifacts + echo Building ${{ steps.variables.outputs.tag }} + sudo ./build.sh \ + --kernel=${{ steps.variables.outputs.version }} \ + --kernelBranch="v${{ steps.variables.outputs.version }}" \ + --kernelRepository="git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git" \ + --patchset1Repo="git://github.com/aunali1/linux-mbp-arch.git" \ + --patchset1Branch=master \ + --patchset1Commit=9511d5ed2ae0e851dd6a82843daefb2be7d5e212 \ + --patchset1Filter="grep -vE 000[0-9] | grep -vE brcmfmac" \ + --patchset2Repo="git://github.com/jamlam/mbp-16.1-linux-wifi.git" \ + --patchset2Branch=main \ + --patchset2Commit=4c8b393ed7a874e3d9e44a2a467c1b7c74af1260 \ + --patchset2Filter="grep -E wifi-bigsur" \ + --releaseSuffix=${{ steps.variables.outputs.releaseSuffix }} \ + --releasePath=/tmp/artifacts + sudo chmod 777 -R /tmp/artifacts + cd /tmp/artifacts + ls -l + dpkg-scanpackages . /dev/null | gzip -9c > Packages.gz + ls -l + + - name: Upload package artifact + uses: actions/upload-artifact@v2 + with: + name: linux-${{ steps.variables.outputs.tag }} + path: /tmp/artifacts/* + + - name: Release + if: | + github.ref == 'refs/heads/master' || + startsWith(github.ref, 'refs/heads/release/') + uses: softprops/action-gh-release@v1 + with: + body: | + Linux official kernel. Requires Big Sur WiFi drivers. + Patchsets: + https://github.com/aunali1/linux-mbp-arch excluding 0001 to 0009 + https://github.com/jamlam/mbp-16.1-linux-wifi only 8001 + files: | + /tmp/artifacts/Packages.gz + /tmp/artifacts/sha256 + /tmp/artifacts/*.deb + tag_name: v${{ steps.variables.outputs.tag }} + draft: false + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/buildHweJamlam.yml b/.github/workflows/buildHweJamlam.yml new file mode 100644 index 00000000..24c05332 --- /dev/null +++ b/.github/workflows/buildHweJamlam.yml @@ -0,0 +1,158 @@ +--- +name: Build HWE Kernel Package + +# yamllint disable-line rule:truthy +on: + [push, pull_request] + +jobs: + lint: + runs-on: ubuntu-20.04 + steps: + - name: 'Checkout repo' + uses: actions/checkout@v2 + - name: 'Set up Python 3.9' + uses: actions/setup-python@v2 + - name: 'Install dependencies' + run: | + python -m pip install --upgrade pip + pip install yamllint + sudo apt-get install shellcheck bash + - name: 'Analysing the code' + run: | + yamllint . + shellcheck ./*.sh + + build-hwe-bigsur: + needs: [lint] + runs-on: ubuntu-20.04 + steps: + - name: 'Checkout Repo' + uses: actions/checkout@v2 + + - name: find latest release + id: variables + run: | + VERSION=5.11.0 + RELEASE_SUFFIX=t2-hwe-bigsur + REL=$(./next_version.sh ${VERSION}-${RELEASE_SUFFIX}) + echo "::set-output name=version::${VERSION}" + echo "::set-output name=releaseSuffix::${RELEASE_SUFFIX}" + echo "::set-output name=tag::${VERSION}-${RELEASE_SUFFIX}-${REL}" + + - name: Build script + id: build + run: | + rm -rf /tmp/artifacts + mkdir /tmp/artifacts + echo Building ${{ steps.variables.outputs.tag }} + sudo ./build.sh \ + --kernel=${{ steps.variables.outputs.version }} \ + --kernelBranch="hwe-5.11" \ + --kernelRepository="git://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/focal" \ + --debianSaucePatches=no \ + --patchset1Repo="git://github.com/AdityaGarg8/5.10-patches.git" \ + --patchset1Branch=main \ + --patchset1Commit=c7507079923dbae525af591d0a680e6960ce769c \ + --patchset1Filter="grep -vE 0001" \ + --releaseSuffix=${{ steps.variables.outputs.releaseSuffix }} \ + --releasePath=/tmp/artifacts + sudo chmod 777 -R /tmp/artifacts + cd /tmp/artifacts + ls -l + dpkg-scanpackages . /dev/null | gzip -9c > Packages.gz + ls -l + + - name: Upload package artifact + uses: actions/upload-artifact@v2 + with: + name: linux-mbp-${{ steps.variables.outputs.tag }} + path: /tmp/artifacts/* + + - name: Release + if: | + github.ref == 'refs/heads/master' || + startsWith(github.ref, 'refs/heads/release/') + uses: softprops/action-gh-release@v1 + with: + body: | + Linux Ubuntu HWE Kernel. Requires Big Sur WiFi drivers. + Patchsets: + https://github.com/AdityaGarg8/5.10-patches + files: | + /tmp/artifacts/Packages.gz + /tmp/artifacts/sha256 + /tmp/artifacts/*.deb + tag_name: v${{ steps.variables.outputs.tag }} + draft: false + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + build-hwe-mojave: + needs: [lint] + runs-on: ubuntu-20.04 + steps: + - name: 'Checkout Repo' + uses: actions/checkout@v2 + + - name: find latest release + id: variables + run: | + VERSION=5.11.0 + RELEASE_SUFFIX=t2-hwe-mojave + REL=$(./next_version.sh ${VERSION}-${RELEASE_SUFFIX}) + echo "::set-output name=version::${VERSION}" + echo "::set-output name=releaseSuffix::${RELEASE_SUFFIX}" + echo "::set-output name=tag::${VERSION}-${RELEASE_SUFFIX}-${REL}" + + - name: Build script + id: build + run: | + rm -rf /tmp/artifacts + mkdir /tmp/artifacts + echo Building ${{ steps.variables.outputs.tag }} + sudo ./build.sh \ + --kernel=${{ steps.variables.outputs.version }} \ + --kernelBranch="hwe-5.11" \ + --kernelRepository="git://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/focal" \ + --debianSaucePatches=no \ + --patchset1Repo="git://github.com/AdityaGarg8/5.10-patches.git" \ + --patchset1Branch=main \ + --patchset1Commit=c7507079923dbae525af591d0a680e6960ce769c \ + --patchset1Filter="grep -vE 0001|800[0-9]" \ + --patchset2Repo="git://github.com/aunali1/linux-mbp-arch.git" \ + --patchset2Branch=master \ + --patchset2Commit=763c20a12ce19a9dc2d3421c65c9a0e328728e38 \ + --patchset2Filter="grep -E brcmfmac" \ + --releaseSuffix=${{ steps.variables.outputs.releaseSuffix }} \ + --releasePath=/tmp/artifacts + sudo chmod 777 -R /tmp/artifacts + cd /tmp/artifacts + ls -l + dpkg-scanpackages . /dev/null | gzip -9c > Packages.gz + ls -l + + - name: Upload package artifact + uses: actions/upload-artifact@v2 + with: + name: linux-mbp-${{ steps.variables.outputs.tag }} + path: /tmp/artifacts/* + + - name: Release + if: | + github.ref == 'refs/heads/master' || + startsWith(github.ref, 'refs/heads/release/') + uses: softprops/action-gh-release@v1 + with: + body: | + Linux Ubuntu HWE Kernel. Requires Big Sur WiFi drivers. + Patchsets: + https://github.com/AdityaGarg8/5.10-patches + files: | + /tmp/artifacts/Packages.gz + /tmp/artifacts/sha256 + /tmp/artifacts/*.deb + tag_name: v${{ steps.variables.outputs.tag }} + draft: false + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/buildJamlam.yml b/.github/workflows/buildJamlam.yml new file mode 100644 index 00000000..7e897f9a --- /dev/null +++ b/.github/workflows/buildJamlam.yml @@ -0,0 +1,164 @@ +--- +name: Build Jamlam Kernel Package + +# yamllint disable-line rule:truthy +on: + [push, pull_request] + +jobs: + lint: + runs-on: ubuntu-20.04 + steps: + - name: 'Checkout repo' + uses: actions/checkout@v2 + - name: 'Set up Python 3.9' + uses: actions/setup-python@v2 + - name: 'Install dependencies' + run: | + python -m pip install --upgrade pip + pip install yamllint + sudo apt-get install shellcheck bash + - name: 'Analysing the code' + run: | + yamllint . + shellcheck ./*.sh + + + build-j-bigsur: + needs: [lint] + runs-on: ubuntu-20.04 + steps: + - name: 'Checkout Repo' + uses: actions/checkout@v2 + + - name: find latest release + id: variables + run: | + sudo apt install wget + wget https://raw.githubusercontent.com/pimlie/ubuntu-mainline-kernel.sh/master/ubuntu-mainline-kernel.sh + chmod +x ubuntu-mainline-kernel.sh + VERSION=$(./ubuntu-mainline-kernel.sh -r v5.13 | grep v | rev | cut -d'v' -f 1 | rev | tail -1) + RELEASE_SUFFIX=t2-j-bigsur + REL=$(./next_version.sh ${VERSION}-${RELEASE_SUFFIX}) + echo "::set-output name=version::${VERSION}" + echo "::set-output name=releaseSuffix::${RELEASE_SUFFIX}" + echo "::set-output name=tag::${VERSION}-${RELEASE_SUFFIX}-${REL}" + + - name: Build script + id: build + run: | + rm -rf /tmp/artifacts + mkdir /tmp/artifacts + echo Building ${{ steps.variables.outputs.tag }} + sudo ./build.sh \ + --kernel=${{ steps.variables.outputs.version }} \ + --kernelBranch="v${{ steps.variables.outputs.version }}" \ + --kernelRepository="git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git" \ + --patchset1Repo="git://github.com/jamlam/mbp-16.1-linux-wifi.git" \ + --patchset1Branch=main \ + --patchset1Commit=843ecfcaaec0a10707d447ac6d1840db940a9d29 \ + --patchset1Filter="grep -vE 0001" \ + --releaseSuffix=${{ steps.variables.outputs.releaseSuffix }} \ + --releasePath=/tmp/artifacts + sudo chmod 777 -R /tmp/artifacts + cd /tmp/artifacts + ls -l + dpkg-scanpackages . /dev/null | gzip -9c > Packages.gz + ls -l + + - name: Upload package artifact + uses: actions/upload-artifact@v2 + with: + name: linux-${{ steps.variables.outputs.tag }} + path: /tmp/artifacts/* + + - name: Release + if: | + github.ref == 'refs/heads/master' || + startsWith(github.ref, 'refs/heads/release/') + uses: softprops/action-gh-release@v1 + with: + body: | + Linux official kernel. Requires Big Sur WiFi drivers. + Patchsets: + https://github.com/jamlam/mbp-16.1-linux-wifi excluding 0001 + files: | + /tmp/artifacts/Packages.gz + /tmp/artifacts/sha256 + /tmp/artifacts/*.deb + tag_name: v${{ steps.variables.outputs.tag }} + draft: false + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + build-jamlam-mojave: + needs: [lint] + runs-on: ubuntu-20.04 + steps: + - name: 'Checkout Repo' + uses: actions/checkout@v2 + + - name: find latest release + id: variables + run: | + sudo apt install wget + wget https://raw.githubusercontent.com/pimlie/ubuntu-mainline-kernel.sh/master/ubuntu-mainline-kernel.sh + chmod +x ubuntu-mainline-kernel.sh + VERSION=$(./ubuntu-mainline-kernel.sh -r v5.13 | grep v | rev | cut -d'v' -f 1 | rev | tail -1) + RELEASE_SUFFIX=t2-j-mojave + REL=$(./next_version.sh ${VERSION}-${RELEASE_SUFFIX}) + echo "::set-output name=version::${VERSION}" + echo "::set-output name=releaseSuffix::${RELEASE_SUFFIX}" + echo "::set-output name=tag::${VERSION}-${RELEASE_SUFFIX}-${REL}" + + - name: Build script + id: build + run: | + rm -rf /tmp/artifacts + mkdir /tmp/artifacts + echo Building ${{ steps.variables.outputs.tag }} + sudo ./build.sh \ + --kernel=${{ steps.variables.outputs.version }} \ + --kernelBranch="v${{ steps.variables.outputs.version }}" \ + --kernelRepository="git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git" \ + --patchset1Repo="git://github.com/jamlam/mbp-16.1-linux-wifi.git" \ + --patchset1Branch=main \ + --patchset1Commit=843ecfcaaec0a10707d447ac6d1840db940a9d29 \ + --patchset1Filter="grep -vE 0001|800[0-9]" \ + --patchset2Repo="git://github.com/aunali1/linux-mbp-arch.git" \ + --patchset2Branch=master \ + --patchset2Commit=9511d5ed2ae0e851dd6a82843daefb2be7d5e212 \ + --patchset2Filter="grep -E brcmfmac" \ + --releaseSuffix=${{ steps.variables.outputs.releaseSuffix }} \ + --releasePath=/tmp/artifacts + sudo chmod 777 -R /tmp/artifacts + cd /tmp/artifacts + ls -l + dpkg-scanpackages . /dev/null | gzip -9c > Packages.gz + ls -l + + - name: Upload package artifact + uses: actions/upload-artifact@v2 + with: + name: linux-${{ steps.variables.outputs.tag }} + path: /tmp/artifacts/* + + - name: Release + if: | + github.ref == 'refs/heads/master' || + startsWith(github.ref, 'refs/heads/release/') + uses: softprops/action-gh-release@v1 + with: + body: | + Linux official kernel. Requires Mojave WiFi drivers. + Patchsets: + https://github.com/jamlam/mbp-16.1-linux-wifi excluding 0001 and 8001 to 8009 + https://github.com/aunali1/linux-mbp-arch only including *brcmfmac* + files: | + /tmp/artifacts/Packages.gz + /tmp/artifacts/sha256 + /tmp/artifacts/*.deb + tag_name: v${{ steps.variables.outputs.tag }} + draft: false + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.gitignore b/.gitignore index e28dea1e..f185f78a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ /patches/custom-drivers.patch /releases /linux-* -/.idea \ No newline at end of file +/.idea +build diff --git a/.travis.yml b/.travis.yml index c7dc7143..84273280 100644 --- a/.travis.yml +++ b/.travis.yml @@ -7,9 +7,5 @@ os: services: - docker -branches: - only: - - master - script: - ./publish.sh diff --git a/.yamllint.yaml b/.yamllint.yaml new file mode 100644 index 00000000..53a7ad39 --- /dev/null +++ b/.yamllint.yaml @@ -0,0 +1,8 @@ +--- +extends: default + +rules: + line-length: + level: warning + allow-non-breakable-inline-mappings: true + max: 120 diff --git a/README.md b/README.md index 0480a16e..d3abf9ad 100644 --- a/README.md +++ b/README.md @@ -2,15 +2,13 @@ Ubuntu/Mint/Debian kernel 5.6+ with Apple T2 patches built-in. This repo try to keep up with kernel new releases. -We release 2 alternative kernels: **"mbp"** which includes all patches from [Aunali1's linux mbp arch](https://github.com/aunali1/linux-mbp-arch) which should work in mostly everywhere and an alternative release (**"mbp-16x-wifi"**) which includes all patches from [Jamlam's mbp-16.1-linux-wifi](https://github.com/jamlam/mbp-16.1-linux-wifi) which should allow you to use the internal wifi on Macs that came with BigSur pre-installed. +We release a matrix of kernels to allow you to test with which works the best for you. The main difference are +* the source used for building the kernel: kernel.org vs Ubuntu HWE +* the patchset used ([Aunali1](https://github.com/aunali1/linux-mbp-arch) or [Jamlam](https://github.com/jamlam/mbp-16.1-linux-wifi)) and with that the combination of which wifi driver you need. (See [WiFi guide](https://wiki.t2linux.org/guides/wifi/) for more information). -**!! Note for kernel 5.7:** +I suggest always starting with the Ubuntu HWE Kernels I have great stability with them. -The releases of the kernel 5.7: The "mbp" release did not include the patch 2001 (drm amd display force link-rate) of Aunali's. The mbp-alt included all patches**. - -**!! Warning:** - -It seems, that the kernel 5.8 is not working as smooth as the 5.7 branch. If you experience problems while installing or running the linux in your mbp, try using an older Kernel. +The old type of releases are now deprecated and should not be used. **Drivers included:** @@ -22,21 +20,13 @@ This project is closely inspired by mikeeq/mbp-fedora-kernel. Thank you @mikeeq **If this repo helped you in any way, consider inviting a coffee to the people in the [credits](https://github.com/marcosfad/mbp-ubuntu-kernel#credits) or [me](https://paypal.me/marcosfad)** -## CI status - -Build status: -[![Build Kernel Package](https://github.com/marcosfad/mbp-ubuntu-kernel/actions/workflows/build.yml/badge.svg?branch=master)](https://github.com/marcosfad/mbp-ubuntu-kernel/actions/workflows/build.yml) - -Travis kernel publish to repository status - : -[![Build Status](https://travis-ci.com/marcosfad/mbp-ubuntu-kernel.svg?branch=master)](https://travis-ci.com/marcosfad/mbp-ubuntu-kernel) - ## INSTALLATION ### The easy way Use the [mbp-ubuntu](https://github.com/marcosfad/mbp-ubuntu/releases) live cd to install ubuntu on your Mac. -### Manually +### Manually using the apt repository Add the repo to your apt sources ```bash @@ -49,6 +39,12 @@ Install the kernel using apt, for example kernel 5.10.47: apt-get install linux-headers-5.10.47-mbp linux-image-5.10.17-mbp ``` +### Manually downloading the kernel from the Github releases + +* Download the release you want to try: linux-image-* linux-headers-* to a folder +* `cd ` +* `sudo dpkg -i *.deb` + ## Docs - Discord: diff --git a/apt-repo/Dockerfile b/apt-repo/Dockerfile index 669048e5..8b508dd0 100644 --- a/apt-repo/Dockerfile +++ b/apt-repo/Dockerfile @@ -1,11 +1,11 @@ FROM ubuntu:20.04 -ARG RELEASE_VERSION=5.6.4 ARG GPG_KEY=some_key ARG GPG_PASS=some_pass ARG GPG_KEY_ID=some_id ENV GITHUB_URL=github.com/marcosfad/mbp-ubuntu-kernel/releases +ENV GITHUB_API=api.github.com/repos/marcosfad/mbp-ubuntu-kernel ENV REPO_URL=mbp-ubuntu-kernel.herokuapp.com ENV LANG en_US.utf8 @@ -13,7 +13,7 @@ WORKDIR /var/repo RUN DEBIAN_FRONTEND=noninteractive apt-get update \ && DEBIAN_FRONTEND=noninteractive apt-get install -y \ - locales dpkg-dev dpkg-sig nginx gettext wget curl apt-utils \ + locales dpkg-dev dpkg-sig nginx gettext wget curl apt-utils jq \ && rm -rf /var/lib/apt/lists/* \ && localedef -i en_US -c -f UTF-8 -A /usr/share/locale/locale.alias en_US.UTF-8 @@ -23,17 +23,20 @@ RUN echo "${GPG_KEY}" > PRIVATE_GPG_KEY.asc \ && gpg --list-keys \ && gpg --output /var/repo/KEY.gpg --armor --export ${GPG_KEY_ID} -RUN for deb in $(curl -s https://${REPO_URL}/ -L | grep deb | grep a | cut -d'>' -f2 | cut -d'<' -f1); do \ - wget -q --backups=1 https://${REPO_URL}/${deb}; \ - done \ - ; rm -rfv *.1 +#RUN for deb in $(curl -s https://${REPO_URL}/ -L | grep deb | grep a | cut -d'>' -f2 | cut -d'<' -f1); do \ +# wget -q --backups=1 https://${REPO_URL}/${deb}; \ +# done \ +# ; rm -rfv *.1 RUN echo "${GPG_PASS}" > PRIVATE_GPG_PASS \ && export GPG_TTY=$(tty) && \ - for deb in $(curl -s https://${GITHUB_URL}/latest -L | grep deb | grep span | cut -d'>' -f2 | cut -d'<' -f1); do \ - wget -q --backups=1 https://${GITHUB_URL}/download/v${RELEASE_VERSION}/${deb} && \ - dpkg-sig -k ${GPG_KEY_ID} -v --sign builder "./${deb}" \ - --gpg-options="--batch --pinentry-mode loopback --no-tty --passphrase-file ./PRIVATE_GPG_PASS"; \ + for release in $(curl -s https://${GITHUB_API}/releases | jq '.[].name'| grep t2 | cut -d'"' -f2 | sort); do \ + for deb in $(curl -s https://${GITHUB_URL}/tag/${release} -L | grep deb | grep span | cut -d'>' -f2 | cut -d'<' -f1 | grep -v linux-libc-dev); do \ + echo ${deb} ; \ + wget -q --backups=1 https://${GITHUB_URL}/download/${release}/${deb} && \ + dpkg-sig -k ${GPG_KEY_ID} -v --sign builder "./${deb}" \ + --gpg-options="--batch --pinentry-mode loopback --no-tty --passphrase-file ./PRIVATE_GPG_PASS"; \ + done; \ done \ ; rm PRIVATE_GPG_PASS \ ; rm -rfv *.1 diff --git a/build.sh b/build.sh index a5312956..4ffcd29e 100755 --- a/build.sh +++ b/build.sh @@ -2,61 +2,155 @@ set -eu -o pipefail -KERNEL_VERSION=5.13.12 -KERNEL_REPOSITORY=https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git +export LANG=C + +START_TIME=$(date +%s) + +kernel=5.13.13 +kernelRepository=git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git +kernelBranch=v5.13.13 +debianSaucePatches=yes +patchset1Repo=git://github.com/aunali1/linux-mbp-arch.git +patchset1Branch=master +patchset1Commit=9511d5ed2ae0e851dd6a82843daefb2be7d5e212 +patchset1Filter='cat' +patchset2Repo='' +patchset2Branch='' +patchset2Commit='' +patchset2Filter='cat' +path=/root/work +releaseSuffix=t2 +releasePath=/tmp/artifacts + +__die() { + local rc=$1; shift + printf 1>&2 '%s\n' "ERROR: $*"; exit "${rc}" +} + +args=( "$@" ); +for (( i=0; i < $# ; i++ )) +do + arg=${args[$i]} + if [[ $arg = --*=* ]] + then + key=${arg#--} + val=${key#*=}; key=${key%%=*} + case "$key" in + kernel|kernelRepository|kernelBranch|debianSaucePatches|patchset1Repo|patchset1Branch|patchset1Commit|patchset1Filter|patchset2Repo|patchset2Branch|patchset2Commit|patchset2Filter|path|releaseSuffix|releasePath) + printf -v "$key" '%s' "$val" ;; + *) __die 1 "Unknown flag $arg" + esac + else __die 1 "Bad arg $arg" + fi +done + +# Kernel +KERNEL_VERSION="${kernel}" +KERNEL_REPOSITORY="${kernelRepository}" +KERNEL_BRANCH="${kernelBranch}" +# Patches +PATCHSET_1_URL="${patchset1Repo}" +PATCHSET_1_BRANCH="${patchset1Branch}" +PATCHSET_1_HASH="${patchset1Commit}" +PATCHSET_1_FILTER=${patchset1Filter} +PATCHSET_2_URL="${patchset2Repo}" +PATCHSET_2_BRANCH="${patchset2Branch}" +PATCHSET_2_HASH="${patchset2Commit}" +PATCHSET_2_FILTER=${patchset2Filter} +# Release +RELEASE_SUFFIX="${releaseSuffix}" +# Environment +WORKING_PATH="${path}" REPO_PATH=$(pwd) -WORKING_PATH=/root/work KERNEL_PATH="${WORKING_PATH}/linux-kernel" +PATCHES_PATH="${WORKING_PATH}/patches" +PATCHSET_1_GIT_PATH="${WORKING_PATH}/patchset1" +PATCHSET_2_GIT_PATH="${WORKING_PATH}/patchset2" +RELEASE_PATH="${releasePath}" ### Debug commands -echo "KERNEL_VERSION=$KERNEL_VERSION" -echo "${WORKING_PATH}" +echo "Building kernel ${KERNEL_VERSION}-${RELEASE_SUFFIX} from ${KERNEL_REPOSITORY}" +echo "Current working path: ${WORKING_PATH}" echo "Current path: ${REPO_PATH}" echo "CPU threads: $(nproc --all)" +echo "Patchset: + ${PATCHSET_1_URL}#${PATCHSET_1_BRANCH}#${PATCHSET_1_HASH} with ${PATCHSET_1_FILTER}" +if [ "$PATCHSET_2_BRANCH" != "" ]; then + echo " + ${PATCHSET_2_URL}#${PATCHSET_2_BRANCH}#${PATCHSET_2_HASH} with ${PATCHSET_2_FILTER} +" +fi grep 'model name' /proc/cpuinfo | uniq -get_next_version () { +get_next_version() { "${REPO_PATH}"/next_version.sh "${1}" } ### Clean up rm -rfv ./*.deb - -mkdir "${WORKING_PATH}" && cd "${WORKING_PATH}" -cp -rf "${REPO_PATH}"/{patches,templates} "${WORKING_PATH}" rm -rf "${KERNEL_PATH}" - -### Dependencies +rm -rf "${PATCHES_PATH}" "${PATCHSET_1_GIT_PATH}" "${PATCHSET_2_GIT_PATH}" +rm -rf "${RELEASE_PATH}" + +mkdir -p "${WORKING_PATH}" && cd "${WORKING_PATH}" +mkdir -p "${PATCHES_PATH}" +mkdir -p "${RELEASE_PATH}" +cp -rf "${REPO_PATH}/templates" "${WORKING_PATH}" +if [ "$debianSaucePatches" != "no" ]; then + cp -rf "${REPO_PATH}/patches" "${PATCHES_PATH}" +fi + +#### Dependencies export DEBIAN_FRONTEND=noninteractive apt-get update apt-get install -y build-essential fakeroot libncurses-dev bison flex libssl-dev libelf-dev \ openssl dkms libudev-dev libpci-dev libiberty-dev autoconf wget xz-utils git \ bc rsync cpio dh-modaliases debhelper kernel-wedge curl -### get Kernel -git clone --depth 1 --single-branch --branch "v${KERNEL_VERSION}" \ +#### get Kernel +echo "git clone --depth 1 --single-branch --branch ${KERNEL_BRANCH} ${KERNEL_REPOSITORY} ${KERNEL_PATH}" +git clone --depth 1 --single-branch --branch "${KERNEL_BRANCH}" \ "${KERNEL_REPOSITORY}" "${KERNEL_PATH}" cd "${KERNEL_PATH}" || exit -#### Create patch file with custom drivers -echo >&2 "===]> Info: Creating patch file... " -KERNEL_VERSION="${KERNEL_VERSION}" WORKING_PATH="${WORKING_PATH}" "${REPO_PATH}/patch_driver.sh" +#### Patches +echo >&2 "===]> Info: Adding Debian sauce patches... " +if [ "$debianSaucePatches" != "no" ]; then + while IFS= read -r file; do + echo "==> Adding $file" + patch -p1 <"$file" + done < <(find "${PATCHES_PATH}" -type f -name "*.patch" | sort) +fi + +### Patchset 1 +echo >&2 "===]> Info: Adding patchset 1 ... " +git clone --single-branch --branch ${PATCHSET_1_BRANCH} ${PATCHSET_1_URL} \ + "${PATCHSET_1_GIT_PATH}" +cd "${PATCHSET_1_GIT_PATH}" || exit +git checkout ${PATCHSET_1_HASH} -#### Apply patches cd "${KERNEL_PATH}" || exit - -echo >&2 "===]> Info: Applying patches... " -[ ! -d "${WORKING_PATH}/patches" ] && { - echo 'Patches directory not found!' - exit 1 -} - - while IFS= read -r file; do - echo "==> Adding $file" + echo "==> Adding ${file}" patch -p1 <"$file" -done < <(find "${WORKING_PATH}/patches" -type f -name "*.patch" | sort) - +done < <(find "${PATCHSET_1_GIT_PATH}" -type f -name "*.patch" | ${PATCHSET_1_FILTER} | sort) + +### Patchset 2 (optional) +if [ "$PATCHSET_2_BRANCH" != "" ]; then + echo >&2 "===]> Info: Adding patchset 2 ... " + git clone --single-branch --branch ${PATCHSET_2_BRANCH} ${PATCHSET_2_URL} \ + "${PATCHSET_2_GIT_PATH}" + cd "${PATCHSET_2_GIT_PATH}" || exit + git checkout ${PATCHSET_2_HASH} + + cd "${KERNEL_PATH}" || exit + while IFS= read -r file; do + echo "==> Adding ${file}" + patch -p1 <"$file" + done < <(find "${PATCHSET_2_GIT_PATH}" -type f -name "*.patch" | ${PATCHSET_2_FILTER} | sort) +fi + +### Build process chmod a+x "${KERNEL_PATH}"/debian/rules chmod a+x "${KERNEL_PATH}"/debian/scripts/* chmod a+x "${KERNEL_PATH}"/debian/scripts/misc/* @@ -72,29 +166,13 @@ make olddefconfig echo "" >"${KERNEL_PATH}"/.scmversion # Build Deb packages -#make -j "$(getconf _NPROCESSORS_ONLN)" deb-pkg LOCALVERSION=-mbp KDEB_PKGVERSION="$(make kernelversion)-$(get_next_version mbp)" - -# build alternate kernel with corellium's wifi patches, for MBP16,1/2/4 and MBA9,1 -echo >&2 "===]> Info: Create alternative kernel with corellium wifi patch... " -#make distclean -#make clean -# reverse other wifi patches -#while IFS= read -r file; do -# echo "==> Reverting $file" -# patch -R -p1 <"$file" -#done < <(find "${WORKING_PATH}/patches" -type f -name "*.patch" | grep "brcmfmac" | sort -r) - -#echo "==> Adding wifi-bigsur.patch" -#curl https://raw.githubusercontent.com/jamlam/mbp-16.1-linux-wifi/4c8b393ed7a874e3d9e44a2a467c1b7c74af1260/wifi-bigsur.patch \ -#| patch -p1 -#cp "${WORKING_PATH}/templates/default-config" "${KERNEL_PATH}/.config" -#make olddefconfig -#echo "" >"${KERNEL_PATH}"/.scmversion - -make -j "$(getconf _NPROCESSORS_ONLN)" deb-pkg LOCALVERSION=-mbp-16x-wifi KDEB_PKGVERSION="${KERNEL_VERSION}-$(get_next_version mbp)" +make -j "$(getconf _NPROCESSORS_ONLN)" deb-pkg LOCALVERSION=-${RELEASE_SUFFIX} KDEB_PKGVERSION="${KERNEL_VERSION}-$(get_next_version ${RELEASE_SUFFIX})" #### Copy artifacts to shared volume echo >&2 "===]> Info: Copying debs and calculating SHA256 ... " -cp -rfv "${KERNEL_PATH}/.config" "/tmp/artifacts/kernel_config_${KERNEL_VERSION}" -cp -rfv ../*.deb /tmp/artifacts/ -sha256sum ../*.deb >/tmp/artifacts/sha256 +cp -rfv "${KERNEL_PATH}/.config" "${RELEASE_PATH}/kernel_config_${KERNEL_VERSION}" +cp -rfv ../*.deb "${RELEASE_PATH}"/ +sha256sum ../*.deb > "${RELEASE_PATH}"/sha256 + +END_TIME=$(date +%s) +echo "Total execution took $((END_TIME-START_TIME)) seconds" diff --git a/build_in_docker.sh b/build_in_docker.sh index 40d2ef71..59b16856 100755 --- a/build_in_docker.sh +++ b/build_in_docker.sh @@ -4,10 +4,138 @@ set -eu -o pipefail DOCKER_IMAGE=ubuntu:20.04 +# https://kernel.ubuntu.com/~kernel-ppa/mainline/ +# https://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/focal docker pull ${DOCKER_IMAGE} + +# Aunali1 +VERSION=$(ubuntu-mainline-kernel.sh -r v5.12 | grep v | rev | cut -d'v' -f 1 | rev | tail -1) +docker run \ + -t \ + --rm \ + -v "$(pwd)":/repo \ + ${DOCKER_IMAGE} \ + /bin/bash -c "\ + cd /repo \ + && \ + ./build.sh \ + --kernel=${VERSION} \ + --kernelBranch=v${VERSION} \ + --kernelRepository='git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git' \ + --patchset1Repo='git://github.com/aunali1/linux-mbp-arch.git' \ + --patchset1Branch=master \ + --patchset1Commit=9511d5ed2ae0e851dd6a82843daefb2be7d5e212 \ + --patchset1Filter=\"grep -vE 000[0-9]\" \ + --releaseSuffix=t2-aunali1-mojave \ + --releasePath=/repo/build/t2-aunali1-mojave \ +" +docker run \ + -t \ + --rm \ + -v "$(pwd)":/repo \ + ${DOCKER_IMAGE} \ + /bin/bash -c "\ + cd /repo \ + && \ + ./build.sh \ + --kernel=${VERSION} \ + --kernelBranch=v${VERSION} \ + --kernelRepository='git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git' \ + --patchset1Repo='git://github.com/aunali1/linux-mbp-arch.git' \ + --patchset1Branch=master \ + --patchset1Commit=9511d5ed2ae0e851dd6a82843daefb2be7d5e212 \ + --patchset1Filter=\"grep -vE 000[0-9] | grep -vE brcmfmac\" \ + --patchset2Repo='git://github.com/jamlam/mbp-16.1-linux-wifi.git' \ + --patchset2Branch=main \ + --patchset2Commit=4c8b393ed7a874e3d9e44a2a467c1b7c74af1260 \ + --patchset2Filter=\"grep -E wifi-bigsur\" \ + --releaseSuffix=t2-aunali1-bigsur \ + --releasePath=/repo/build/t2-aunali1-bigsur \ +" +## jamlam +VERSION=$(ubuntu-mainline-kernel.sh -r v5.13 | grep v | rev | cut -d'v' -f 1 | rev | tail -1) +docker run \ + -t \ + --rm \ + -v "$(pwd)":/repo \ + ${DOCKER_IMAGE} \ + /bin/bash -c "\ + cd /repo \ + && \ + ./build.sh \ + --kernel=${VERSION} \ + --kernelBranch=v${VERSION} \ + --kernelRepository='git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git' \ + --patchset1Repo='git://github.com/jamlam/mbp-16.1-linux-wifi.git' \ + --patchset1Branch=main \ + --patchset1Commit=843ecfcaaec0a10707d447ac6d1840db940a9d29 \ + --patchset1Filter=\"grep -vE 0001\" \ + --releaseSuffix=t2-jamlam-bigsur \ + --releasePath=/repo/build/t2-jamlam-bigsur \ +" + +docker run \ + -t \ + --rm \ + -v "$(pwd)":/repo \ + ${DOCKER_IMAGE} \ + /bin/bash -c "\ + cd /repo \ + && \ + ./build.sh \ + --kernel=${VERSION} \ + --kernelBranch=v${VERSION} \ + --kernelRepository='git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git' \ + --patchset1Repo='git://github.com/jamlam/mbp-16.1-linux-wifi.git' \ + --patchset1Branch=main \ + --patchset1Commit=843ecfcaaec0a10707d447ac6d1840db940a9d29 \ + --patchset1Filter=\"grep -vE 0001|800[0-9]\" \ + --patchset2Repo='git://github.com/aunali1/linux-mbp-arch.git' \ + --patchset2Branch=master \ + --patchset2Commit=9511d5ed2ae0e851dd6a82843daefb2be7d5e212 \ + --patchset2Filter=\"grep -E brcmfmac\" \ + --releaseSuffix=t2-jamlam-mojave \ + --releasePath=/repo/build/t2-jamlam-mojave \ +" + +# HWE +docker run \ + -t \ + --rm \ + -v "$(pwd)":/repo \ + ${DOCKER_IMAGE} \ + /bin/bash -c "\ + cd /repo \ + && \ + ./build.sh \ + --kernel=5.11.0 \ + --kernelBranch=hwe-5.11 \ + --kernelRepository='git://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/focal' \ + --debianSaucePatches=no \ + --patchset1Repo='git://github.com/AdityaGarg8/5.10-patches.git' \ + --patchset1Branch=main \ + --patchset1Commit=e509d58d4127ecd9c17292560f10fc089f1ad030 \ + --patchset1Filter=\"grep -vE 0001\" \ + --releaseSuffix=t2-hwe \ + --releasePath=/repo/build/t2-hwe \ +" docker run \ -t \ --rm \ -v "$(pwd)":/repo \ ${DOCKER_IMAGE} \ - /bin/bash -c 'cd /repo && ./build.sh' + /bin/bash -c "\ + cd /repo \ + && \ + ./build.sh \ + --kernel=5.13.0 \ + --kernelBranch=hwe-5.13 \ + --kernelRepository='git://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/focal' \ + --debianSaucePatches=no \ + --patchset1Repo='git://github.com/jamlam/mbp-16.1-linux-wifi.git' \ + --patchset1Branch=main \ + --patchset1Commit=843ecfcaaec0a10707d447ac6d1840db940a9d29 \ + --patchset1Filter=\"grep -vE 0001\" \ + --releaseSuffix=t2-hwe-next \ + --releasePath=/repo/build/t2-hwe-next \ +" diff --git a/next_version.sh b/next_version.sh index d4fd1106..498f1d08 100755 --- a/next_version.sh +++ b/next_version.sh @@ -1,11 +1,12 @@ #!/bin/bash -curl -s https://mbp-ubuntu-kernel.herokuapp.com/ -L | grep "linux-image-${KERNEL_VERSION}-ยง" > /dev/null +VERSION=${1} +NEXT_VERSION=1 +curl -s "https://github.com/marcosfad/mbp-ubuntu-kernel/releases/tag/v${VERSION}-${NEXT_VERSION}" -L | grep "linux-image-" > /dev/null OLD_BUILD_EXIST=$? if test $OLD_BUILD_EXIST -eq 0 then - LATEST_BUILD=$(curl -s https://mbp-ubuntu-kernel.herokuapp.com/ -L | grep "linux-image-${KERNEL_VERSION}-${1}" | - grep a | cut -d'>' -f2 | cut -d'<' -f1 | - sort -r | head -n 1 | cut -d'-' -f6 | cut -d'_' -f1) + NEXT_VERSION=$((LATEST_BUILD+1)) + LATEST_BUILD=$(./next_version.sh "${VERSION}-${NEXT_VERSION}") else LATEST_BUILD=0 fi diff --git a/patch_driver.sh b/patch_driver.sh deleted file mode 100755 index fc07d2dd..00000000 --- a/patch_driver.sh +++ /dev/null @@ -1,27 +0,0 @@ -#!/bin/bash - -set -eu -o pipefail - -BUILD_PATH=/tmp/build-kernel - -### Apple T2 drivers commit hashes -# Patches -APPLE_SMC_DRIVER_GIT_URL=https://github.com/jamlam/mbp-16.1-linux-wifi.git -APPLE_SMC_DRIVER_BRANCH_NAME=main -APPLE_SMC_DRIVER_COMMIT_HASH=c20aa04314fe0a9c5ad0d2f9ac54a2edbe5d7e32 - - -rm -rf "${BUILD_PATH}" -mkdir -p "${BUILD_PATH}" -cd "${BUILD_PATH}" || exit - -### AppleSMC and BT aunali fixes -git clone --single-branch --branch ${APPLE_SMC_DRIVER_BRANCH_NAME} ${APPLE_SMC_DRIVER_GIT_URL} \ - "${BUILD_PATH}/linux-mbp-arch" -cd "${BUILD_PATH}/linux-mbp-arch" || exit -git checkout ${APPLE_SMC_DRIVER_COMMIT_HASH} - -while IFS= read -r file; do - echo "==> Adding ${file}" - cp -rfv "${file}" "${WORKING_PATH}"/patches/"${file##*/}" -done < <(find "${BUILD_PATH}/linux-mbp-arch" -type f -name "*.patch" | sort) diff --git a/publish.sh b/publish.sh index 9536e8b6..a95dfb1e 100755 --- a/publish.sh +++ b/publish.sh @@ -3,9 +3,6 @@ set -eu -o pipefail # export HEROKU_API_KEY= -LATEST_RELEASE=$(curl -s https://github.com/marcosfad/mbp-ubuntu-kernel/releases/latest | cut -d'v' -f2 | cut -d'"' -f1) - -echo "Release: ${LATEST_RELEASE}" cd apt-repo || exit @@ -14,7 +11,7 @@ curl https://cli-assets.heroku.com/install.sh | sh heroku container:login heroku container:push -a mbp-ubuntu-kernel web \ - --arg RELEASE_VERSION="${LATEST_RELEASE}",GPG_KEY_ID="${GPG_KEY_ID}",GPG_PASS="${GPG_PASS}",GPG_KEY="${GPG_KEY}" + --arg GPG_KEY_ID="${GPG_KEY_ID}",GPG_PASS="${GPG_PASS}",GPG_KEY="${GPG_KEY}" heroku container:release -a mbp-ubuntu-kernel web # Docker build diff --git a/templates/default-config b/templates/default-config index 3a42d9b5..e6c1ff25 100644 --- a/templates/default-config +++ b/templates/default-config @@ -9701,7 +9701,7 @@ CONFIG_UDF_FS=m # end of CD-ROM/DVD Filesystems # -# DOS/FAT/NT Filesystems +# DOS/FAT/EXFAT/NT Filesystems # CONFIG_FAT_FS=m CONFIG_MSDOS_FS=m @@ -9709,10 +9709,12 @@ CONFIG_VFAT_FS=m CONFIG_FAT_DEFAULT_CODEPAGE=437 CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" CONFIG_FAT_DEFAULT_UTF8=y +CONFIG_EXFAT_FS=m +CONFIG_EXFAT_DEFAULT_IOCHARSET="utf8" CONFIG_NTFS_FS=m # CONFIG_NTFS_DEBUG is not set CONFIG_NTFS_RW=y -# end of DOS/FAT/NT Filesystems +# end of DOS/FAT/EXFAT/NT Filesystems # # Pseudo filesystems