sourceの入手と展開
$ wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.11.tar.xz https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.11.tar.sign $ unxz ./linux-5.11.tar.xz $ gpg --verify ./linux-5.11.tar.sign gpg: assuming signed data in './linux-5.11.tar' gpg: Signature made Mon 15 Feb 2021 06:11:32 PM JST gpg: using RSA key 647F28654894E3BD457199BE38DBBDC86092693E gpg: Good signature from "Greg Kroah-Hartman <gregkh@linuxfoundation.org>" [unknown] gpg: aka "Greg Kroah-Hartman (Linux kernel stable release signing key) <greg@kroah.com>" [undefined] gpg: aka "Greg Kroah-Hartman <gregkh@kernel.org>" [unknown] gpg: WARNING: This key is not certified with a trusted signature! gpg: There is no indication that the signature belongs to the owner. Primary key fingerprint: 647F 2865 4894 E3BD 4571 99BE 38DB BDC8 6092 693E $ tar tvf ./linux-5.11.tar | lv $ tar xf ./linux-5.11.tar $ cd linux-5.11
$ cp /boot/config-`uname -r` ./.config $ yes "" | make oldconfig
$ tar xf ../linux_5.10.9-1.debian.tar.xz debian/certs/ $ time make -j`nproc` bindeb-pkg : BTF: .tmp_vmlinux.btf: pahole (pahole) is not available Failed to generate BTF for vmlinux Try to disable CONFIG_DEBUG_INFO_BTF make[3]: *** [Makefile:1165: vmlinux] Error 1 make[2]: *** [debian/rules:7: build-arch] Error 2 dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2 make[1]: *** [scripts/Makefile.package:83: bindeb-pkg] Error 2 make: *** [Makefile:1528: bindeb-pkg] Error 2 $ sudo apt install dwarves
$ time make -j`nproc` bindeb-pkg : dpkg-deb: building package 'linux-libc-dev' in '../linux-libc-dev_5.11.0-1_amd64.deb'. dpkg-deb: building package 'linux-image-5.11.0' in '../linux-image-5.11.0_5.11.0-1_amd64.deb'. dpkg-deb: building package 'linux-image-5.11.0-dbg' in '../linux-image-5.11.0-dbg_5.11.0-1_amd64.deb'. dpkg-genbuildinfo --build=binary dpkg-genchanges --build=binary >../linux-5.11.0_5.11.0-1_amd64.changes dpkg-genchanges: info: binary-only upload (no source code included) dpkg-source --after-build . dpkg-buildpackage: info: binary-only upload (no source included) $ ls -1s ../linux*.deb 7932 ../linux-headers-5.11.0_5.11.0-1_amd64.deb 728724 ../linux-image-5.11.0-dbg_5.11.0-1_amd64.deb 52136 ../linux-image-5.11.0_5.11.0-1_amd64.deb 1124 ../linux-libc-dev_5.11.0-1_amd64.deb
$ sudo apt install ../linux-image-5.11.0_5.11.0-1_amd64.deb ../linux-libc-dev_5.11.0-1_amd64.deb ../linux-headers-5 .11.0_5.11.0-1_amd64.deb
$ sudo sbsign --key ~/MOK.priv --cert ~/MOK.pem /boot/vmlinuz-5.11.0 --output vmlinuz-5.11.0 $ sudo mv ./vmlinuz-5.11.0 /boot/vmlinuz-5.11.0
$ find /lib/modules/5.11.0/updates/dkms/ -type f | xargs -n1 sudo ./scripts/sign-file sha256 ~/MOK.priv ~/MOK.der
patchを入手する.patchは2種類ある. 5.11からの累積パッチ,若しくはすぐ前のバージョンからのインクリメンタルパッチを入手する.
累積パッチ
$ wget https://cdn.kernel.org/pub/linux/kernel/v5.x/patch-5.11.8.xz
インクリメンタルパッチ
$ wget https://cdn.kernel.org/pub/linux/kernel/v5.x/incr/patch-5.11.7-8.xz
sourceディレクトリに移動して目的のpatchを適用する
$ cd linux-5.11
累積パッチの場合
$ xzcat ../patch-5.11.8.xz | patch -p1
インクリメンタルパッチの場合
$ xzcat ../patch-5.11.7-8.xz | patch -p1
コメント