Debian 10でLinux kernel をアップグレードする(4.19=>5.4)
0,目次
- はじめに
- Linux Kernelのアップデート
- カーネルのダウンロード
- カーネルの導入
- 私見
- 参考文献
1,はじめに
Debian 10(buster)はLinux Kernel 4.19が使用されている。
root@VAIO-S-SB-Debian:~# uname -a Linux VAIO-S-SB-Debian 4.19.0-8-amd64 #1 SMP Debian 4.19.98-1 (2020-01-26) x86_64 GNU/Linux
しかし、Linux Kernel 5.1以上でないと動作しないハードウェアを買ってしまった。
そこで、Debian 10にて、Linux Kernel 5.4 (LTS)を導入する。
なお、安全なカーネル更新のやり方として、apt-get経由の方法がある。
apt-cache search linux-image
普通に上記コマンドで出てくるものについては、apt-getで導入ができる。
しかし、4.19までしか現時点(2020/02/22)では提供されていない。
そこで、5.1以上のカーネルを導入するべく裏技(Ubuntuのを使う)を使用する。
(ドライバ周りで苦戦したので、実力がない人はやらないほうがいいです。。。)
1-1,追記
henrich(@henrich)様から、Debianはbackportsにて最新のパッケージが取得できる旨、ご教示いただきました。
こちらを使用することで、本稿で実施しているような、Debianのカーネルのアップグレードなのに、Ubuntuのリポジトリからkernelを持ってくるような変なことをする必要はなくなります。
Debian Backportsの使い方につき、公式サイトの下記をご参照下さい。
Debian Backports Instructions
2,Linux Kernelのアップデート
(1)カーネルのダウンロード
下記コマンドを実行する。
(A)カーネルヘッダー
wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.4.21/linux-headers-5.4.21-050421_5.4.21-050421.202002191431_all.deb
(B)カーネル
wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.4.21/linux-headers-5.4.21-050421-generic_5.4.21-050421.202002191431_amd64.deb
(C)カーネルイメージ
wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.4.21/linux-image-unsigned-5.4.21-050421-generic_5.4.21-050421.202002191431_amd64.deb
(D)各種モジュール
wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.4.21/linux-modules-5.4.21-050421-generic_5.4.21-050421.202002191431_amd64.deb
(2)カーネルの導入
導入を行う。
(A)ファイル確認
まず、ファイルを全て揃えているかの確認を行う。
ls -lha
root@VAIO-S-SB-Debian:~/workspace/linux-5.4# ls -lha 合計 69M drwxr-xr-x 2 root root 4.0K 2月 23 10:35 . drwxr-xr-x 4 root root 37 2月 22 18:46 .. -rw-r--r-- 1 root root 7.6K 2月 20 06:26 CHECKSUMS -rw-r--r-- 1 root root 1.2M 2月 20 04:53 linux-headers-5.4.21-050421-generic_5.4.21-050421.202002191431_amd64.deb -rw-r--r-- 1 root root 11M 2月 20 04:35 linux-headers-5.4.21-050421_5.4.21-050421.202002191431_all.deb -rw-r--r-- 1 root root 8.4M 2月 20 04:52 linux-image-unsigned-5.4.21-050421-generic_5.4.21-050421.202002191431_amd64.deb -rw-r--r-- 1 root root 49M 2月 20 04:53 linux-modules-5.4.21-050421-generic_5.4.21-050421.202002191431_amd64.deb
上記のように、ヘッダー、ヘッダー的ななにか、カーネルイメージ、モジュールの4つのdebファイルがあれば良い。
(B)導入開始
dpkg -i *.deb
実行結果としては、下記の通りである。
root@VAIO-S-SB-Debian:~/workspace/linux-5.4# dpkg -i *.deb 以前に未選択のパッケージ linux-headers-5.4.21-050421-generic を選択しています。 (データベースを読み込んでいます … 現在 252405 個のファイルとディレクトリがインストールされています。) linux-headers-5.4.21-050421-generic_5.4.21-050421.202002191431_amd64.deb を展開する準備をしています … linux-headers-5.4.21-050421-generic (5.4.21-050421.202002191431) を展開しています… 以前に未選択のパッケージ linux-headers-5.4.21-050421 を選択しています。 linux-headers-5.4.21-050421_5.4.21-050421.202002191431_all.deb を展開する準備をしています … linux-headers-5.4.21-050421 (5.4.21-050421.202002191431) を展開しています… 以前に未選択のパッケージ linux-image-unsigned-5.4.21-050421-generic を選択しています。 linux-image-unsigned-5.4.21-050421-generic_5.4.21-050421.202002191431_amd64.deb を展開する準備をしています … linux-image-unsigned-5.4.21-050421-generic (5.4.21-050421.202002191431) を展開しています… 以前に未選択のパッケージ linux-modules-5.4.21-050421-generic を選択しています。 linux-modules-5.4.21-050421-generic_5.4.21-050421.202002191431_amd64.deb を展開する準備をしています … linux-modules-5.4.21-050421-generic (5.4.21-050421.202002191431) を展開しています… linux-headers-5.4.21-050421 (5.4.21-050421.202002191431) を設定しています … linux-modules-5.4.21-050421-generic (5.4.21-050421.202002191431) を設定しています … linux-headers-5.4.21-050421-generic (5.4.21-050421.202002191431) を設定しています … linux-image-unsigned-5.4.21-050421-generic (5.4.21-050421.202002191431) を設定しています … I: /vmlinuz.old is now a symlink to boot/vmlinuz-4.19.0-8-amd64 I: /initrd.img.old is now a symlink to boot/initrd.img-4.19.0-8-amd64 I: /vmlinuz is now a symlink to boot/vmlinuz-5.4.21-050421-generic I: /initrd.img is now a symlink to boot/initrd.img-5.4.21-050421-generic linux-image-unsigned-5.4.21-050421-generic (5.4.21-050421.202002191431) のトリガを処理しています … /etc/kernel/postinst.d/initramfs-tools: update-initramfs: Generating /boot/initrd.img-5.4.21-050421-generic W: Possible missing firmware /lib/firmware/rtl_nic/rtl8125a-3.fw for module r8169 W: Possible missing firmware /lib/firmware/rtl_nic/rtl8107e-2.fw for module r8169 W: Possible missing firmware /lib/firmware/rtl_nic/rtl8107e-1.fw for module r8169 W: Possible missing firmware /lib/firmware/rtl_nic/rtl8168h-2.fw for module r8169 W: Possible missing firmware /lib/firmware/rtl_nic/rtl8168h-1.fw for module r8169 W: Possible missing firmware /lib/firmware/rtl_nic/rtl8168g-3.fw for module r8169 W: Possible missing firmware /lib/firmware/rtl_nic/rtl8168g-2.fw for module r8169 W: Possible missing firmware /lib/firmware/rtl_nic/rtl8106e-2.fw for module r8169 W: Possible missing firmware /lib/firmware/rtl_nic/rtl8106e-1.fw for module r8169 W: Possible missing firmware /lib/firmware/rtl_nic/rtl8411-2.fw for module r8169 W: Possible missing firmware /lib/firmware/rtl_nic/rtl8411-1.fw for module r8169 W: Possible missing firmware /lib/firmware/rtl_nic/rtl8402-1.fw for module r8169 W: Possible missing firmware /lib/firmware/rtl_nic/rtl8168f-2.fw for module r8169 W: Possible missing firmware /lib/firmware/rtl_nic/rtl8168f-1.fw for module r8169 W: Possible missing firmware /lib/firmware/rtl_nic/rtl8105e-1.fw for module r8169 W: Possible missing firmware /lib/firmware/rtl_nic/rtl8168e-3.fw for module r8169 W: Possible missing firmware /lib/firmware/rtl_nic/rtl8168e-2.fw for module r8169 W: Possible missing firmware /lib/firmware/rtl_nic/rtl8168e-1.fw for module r8169 W: Possible missing firmware /lib/firmware/rtl_nic/rtl8168d-2.fw for module r8169 W: Possible missing firmware /lib/firmware/rtl_nic/rtl8168d-1.fw for module r8169 W: Possible missing firmware /lib/firmware/nvidia/gp107/sec2/sig-1.bin for module nouveau W: Possible missing firmware /lib/firmware/nvidia/gp107/sec2/image-1.bin for module nouveau W: Possible missing firmware /lib/firmware/nvidia/gp107/sec2/desc-1.bin for module nouveau W: Possible missing firmware /lib/firmware/nvidia/gp106/sec2/sig-1.bin for module nouveau W: Possible missing firmware /lib/firmware/nvidia/gp106/sec2/image-1.bin for module nouveau W: Possible missing firmware /lib/firmware/nvidia/gp106/sec2/desc-1.bin for module nouveau W: Possible missing firmware /lib/firmware/nvidia/gp104/sec2/sig-1.bin for module nouveau W: Possible missing firmware /lib/firmware/nvidia/gp104/sec2/image-1.bin for module nouveau W: Possible missing firmware /lib/firmware/nvidia/gp104/sec2/desc-1.bin for module nouveau W: Possible missing firmware /lib/firmware/nvidia/gp102/sec2/sig-1.bin for module nouveau W: Possible missing firmware /lib/firmware/nvidia/gp102/sec2/image-1.bin for module nouveau W: Possible missing firmware /lib/firmware/nvidia/gp102/sec2/desc-1.bin for module nouveau W: Possible missing firmware /lib/firmware/nvidia/gv100/acr/ucode_load.bin for module nouveau /etc/kernel/postinst.d/zz-update-grub: Generating grub configuration file … Found background image: /usr/share/images/desktop-base/desktop-grub.png Linux イメージを見つけました: /boot/vmlinuz-5.4.21-050421-generic Found initrd image: /boot/initrd.img-5.4.21-050421-generic Linux イメージを見つけました: /boot/vmlinuz-4.19.0-8-amd64 Found initrd image: /boot/initrd.img-4.19.0-8-amd64 Linux イメージを見つけました: /boot/vmlinuz-4.9.0-12-amd64 Found initrd image: /boot/initrd.img-4.9.0-12-amd64 Linux イメージを見つけました: /boot/vmlinuz-4.9.0-11-amd64 Found initrd image: /boot/initrd.img-4.9.0-11-amd64 Linux イメージを見つけました: /boot/vmlinuz-4.9.0-9-amd64 Found initrd image: /boot/initrd.img-4.9.0-9-amd64 完了 root@VAIO-S-SB-Debian:~/workspace/linux-5.4#
(C)再起動
reboot
(D)更新確認
Linuxカーネルが更新されたことを確認します。
jskny@VAIO-S-SB-Debian:~$ uname -r 5.4.21-050421-generic
3,私見
公式が提供していないLinuxカーネルにアップデートするとなると、カーネルコンパイルだとおもっていた。
だが、DebianはUbuntuのLinuxカーネルイメージを流用できるらしく(怪しい)、それを今回試した。
一応、なんとか、動いた。
だが、NVIDIAのドライバが動かなくなり、解決に手間取ったことなどを考えると、下手にLinuxカーネルのアップデートとかは行わないほうが良いと考える。
最近のコメント