ストックLinuxカーネル4.15.0-23-genericで最新のUbuntu 18.04を実行していますが、問題があります(HDMIがときどき動作しません)。
関連する問題は既にあります: https://bugs.freedesktop.org/show_bug.cgi?id=105887
そして、問題を修正する差分としてのインテルディスプレイドライバーのパッチを次に示します。 https://patchwork.freedesktop.org/patch/229363/
そのパッチでカーネル/ディスプレイドライバーを再コンパイルしたいのですが、カーネルに関連するものはまだ再コンパイルしていないため、いくつかの問題があります。
上記のパッチを適用できるように、Intelディスプレイドライバーを含む正確なUbuntuカーネルソースを取得するにはどうすればよいですか?変更されたカーネル/カーネルドライバーを再コンパイルし、システムにインストールする手順は何ですか(必要な最小限の構成で)。
Ubuntu 18.04に関連するカーネルソースを取得できました。
git clone git://kernel.ubuntu.com/ubuntu/ubuntu-bionic.git
https://patchwork.freedesktop.org/patch/229363/ からのパッチは適用できません-異なるカーネルに基づいているようです:
$ git apply --stat V2-drm-i915-glk-Add-Quirk-for-GLK-NUC-HDMI-port-issues..patch
drivers/gpu/drm/i915/i915_drv.h | 1 +
drivers/gpu/drm/i915/intel_ddi.c | 8 ++++++++
drivers/gpu/drm/i915/intel_display.c | 19 +++++++++++++++++++
3 files changed, 28 insertions(+)
gustavo /home/ifischer/src/ubuntu-bionic master [~]
$ git apply --check V2-drm-i915-glk-Add-Quirk-for-GLK-NUC-HDMI-port-issues..patch
error: patch failed: drivers/gpu/drm/i915/intel_ddi.c:1800
error: drivers/gpu/drm/i915/intel_ddi.c: patch does not applygit clone git://kernel.ubuntu.com/ubuntu/ubuntu-bionic.git
関連するバグレポートから得た解決策: https://bugs.freedesktop.org/show_bug.cgi?id=105887
カーネルのコンパイルに必要なパッケージをインストールし、Ubuntuカーネルパッチをダウンロードします。
Sudo apt install git flex bison bc libssl-dev gawk libudev-dev ocl-icd-opencl-dev libpci-dev libelf-dev python2.7 libncurses-dev fakeroot kernel-wedge binfmt-support ksh lsscsi binfmt-support libpcre16-3 libpcre3-dev libpcre32-3 libpcrecpp0v5 libsepol1-dev libattr1-dev libblkid-dev libpcre16-3 libpcre3-dev libpcre32-3 libpcrecpp0v5 libselinux1-dev libsepol1-dev uuid-dev debugedit libarchive13 libdw1 liblua5.2-0 liblzo2-2 libnspr4 libnss3 librpm8 librpmbuild8 librpmio8 librpmsign8 rpm rpm-common rpm2cpio spl-dkms
git clone --depth 1 --single-branch --branch v4.17.2 git://git.launchpad.net/~ubuntu-kernel-test/ubuntu/+source/linux/+git/mainline-crack v4.17.2
cd v4.17.2
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.17.2/0001-base-packaging.patch
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.17.2/0002-UBUNTU-SAUCE-add-vmlinux.strip-to-BOOT_TARGETS1-on-p.patch
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.17.2/0003-UBUNTU-SAUCE-tools-hv-lsvmbus-add-manual-page.patch
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.17.2/0004-UBUNTU-SAUCE-no-up-disable-pie-when-gcc-has-it-enabl.patch
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.17.2/0005-debian-changelog.patch
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.17.2/0006-configs-based-on-Ubuntu-4.17.0-3.4.patch
https://patchwork.freedesktop.org/patch/229363/ からパッチをダウンロードし、i915.patchで名前を変更します。すべてのパッチを適用します。
patch -p1 < 0001-base-packaging.patch
patch -p1 < 0002-UBUNTU-SAUCE-add-vmlinux.strip-to-BOOT_TARGETS1-on-p.patch
patch -p1 < 0003-UBUNTU-SAUCE-tools-hv-lsvmbus-add-manual-page.patch
patch -p1 < 0004-UBUNTU-SAUCE-no-up-disable-pie-when-gcc-has-it-enabl.patch
patch -p1 < 0005-debian-changelog.patch
patch -p1 < 0006-configs-based-on-Ubuntu-4.17.0-3.4.patch
patch -p1 < i915.patch
現在のカーネル構成からカーネル構成を作成します。
yes "" | make oldconfig
必要でない場合は、ZFSを無効にします。
Debian.master/rules.d/AMD64.mkでdo_zfs = falseを設定します
カーネルの構築:
make deb-pkg
# find the debian package files first
dpkg -i $KERNEL_DEB_FILES
ドライバーはkernel-HEADERパッケージの一部であるように見えるため、これらをインストールするだけで十分です。
カーネルDebianパッケージをインストールした後、Grubを更新します。
Sudo update-grub
Grub設定で新しいデフォルトカーネルを設定し、grubを再度更新します。
Sudo vim /etc/default/grub
HDMIの問題はなくなりました。