LinuCエヴァンジェリストの鯨井貴博@opensourcetechです。
Linux Kernelの再構築方法の紹介です。
CentOS8のデフォルトカーネル(4.18.0-193.el8.x86_64)を新しめのカーネルにしてみます。
https://www.kernel.org/
CentOS8は、以下の状態。
カーネルのダウンロードとその展開の為に、そこそこディスクスペースが必要になるので、
HDD容量だけは気を付けたいところです。
今回のようにCentOS8(最小限インストール)+Linuxカーネル5.7.10だと、
再構築に必要なパッケージなど入れて、HDDが25GB程度あれば大丈夫かと思います。
[root@centos8test ~]# cat /etc/centos-release CentOS Linux release 8.2.2004 (Core) [root@centos8test ~]# uname -a Linux centos8test 4.18.0-193.el8.x86_64 #1 SMP Fri May 8 10:59:10 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux [root@centos8test ~]# uname -r 4.18.0-193.el8.x86_64
具体的には、この記事でインストールした直後です。
https://www.opensourcetech.tokyo/entry/20200723/1595471579
カーネルをダウンロードするのに必要な、wgetなどをまずインストールします。
※お好みで、curlなどを使ってください。
[root@centos8test src]# wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.7.10.tar.xz -bash: wget: コマンドが見つかりません [root@centos8test src]# yum -y install wget メタデータの期限切れの最終確認: 0:41:13 時間前の 2020年07月23日 11時34分26秒 に実施しま した。 依存関係が解決しました。 ======================================================================================== パッケージ アーキテクチャー バージョン リポジトリー サイズ ======================================================================================== インストール中: wget x86_64 1.19.5-8.el8_1.1 AppStream 735 k トランザクションの概要 ======================================================================================== インストール 1 パッケージ ダウンロードサイズの合計: 735 k インストール済みのサイズ: 2.9 M パッケージのダウンロード: wget-1.19.5-8.el8_1.1.x86_64.rpm 2.0 MB/s | 735 kB 00:00 ---------------------------------------------------------------------------------------- 合計 718 kB/s | 735 kB 00:01 警告: /var/cache/dnf/AppStream-a520ed22b0a8a736/packages/wget-1.19.5-8.el8_1.1.x86_64.rpm: ヘッダー V3 RSA/SHA256 Signature、鍵 ID 8483c65d: NOKEY CentOS-8 - AppStream 496 kB/s | 1.6 kB 00:00 GPG 鍵 0x8483C65D をインポート中: Userid : "CentOS (CentOS Official Signing Key) <security@centos.org>" Fingerprint: 99DB 70FA E1D7 CE22 7FB6 4882 05B5 55B3 8483 C65D From : /etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial 鍵のインポートに成功しました トランザクションの確認を実行中 トランザクションの確認に成功しました。 トランザクションのテストを実行中 トランザクションのテストに成功しました。 トランザクションを実行中 準備 : 1/1 インストール中 : wget-1.19.5-8.el8_1.1.x86_64 1/1 scriptlet の実行中: wget-1.19.5-8.el8_1.1.x86_64 1/1 検証 : wget-1.19.5-8.el8_1.1.x86_64 1/1 インストール済み: wget-1.19.5-8.el8_1.1.x86_64 完了しました!
カーネルの入手。
最新stableの5.7.10を取得しました。
ダウンロード先は、FHSに基づいて「/usr/src」にしました。
[root@centos8test src]# wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.7.10.tar.xz --2020-07-23 12:19:26-- https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.7.10.tar.xz cdn.kernel.org (cdn.kernel.org) をDNSに問いあわせています... 2a04:4e42:1a::432, 151.101.109.176 cdn.kernel.org (cdn.kernel.org)|2a04:4e42:1a::432|:443 に接続しています... 失敗しました: Connection timed out. cdn.kernel.org (cdn.kernel.org)|151.101.109.176|:443 に接続しています... 接続しました。 HTTP による接続要求を送信しました、応答を待っています... 200 OK 長さ: 112722840 (108M) [application/x-xz] `linux-5.7.10.tar.xz' に保存中 linux-5.7.10.tar.xz 100%[=========================>] 107.50M 10.2MB/s 時間 10s 2020-07-23 12:21:49 (10.3 MB/s) - `linux-5.7.10.tar.xz' へ保存完了 [112722840/112722840] [root@centos8test src]# ls -lh 合計 108M drwxr-xr-x. 2 root root 6 5月 11 2019 debug drwxr-xr-x. 2 root root 6 5月 11 2019 kernels -rw-r--r--. 1 root root 108M 7月 22 16:44 linux-5.7.10.tar.xz
tarballの解凍。
tarコマンドをインストールします。
[root@centos8test src]# yum -y install tar メタデータの期限切れの最終確認: 0:51:37 時間前の 2020年07月23日 11時34分26秒 に実施しま した。 依存関係が解決しました。 ======================================================================================== パッケージ アーキテクチャー バージョン リポジトリー サイズ ======================================================================================== インストール中: tar x86_64 2:1.30-4.el8 BaseOS 838 k トランザクションの概要 ======================================================================================== インストール 1 パッケージ ダウンロードサイズの合計: 838 k インストール済みのサイズ: 2.8 M パッケージのダウンロード: tar-1.30-4.el8.x86_64.rpm 2.4 MB/s | 838 kB 00:00 ---------------------------------------------------------------------------------------- 合計 299 kB/s | 838 kB 00:02 トランザクションの確認を実行中 トランザクションの確認に成功しました。 トランザクションのテストを実行中 トランザクションのテストに成功しました。 トランザクションを実行中 準備 : 1/1 インストール中 : tar-2:1.30-4.el8.x86_64 1/1 scriptlet の実行中: tar-2:1.30-4.el8.x86_64 1/1 検証 : tar-2:1.30-4.el8.x86_64 1/1 インストール済み: tar-2:1.30-4.el8.x86_64 完了しました!
そして、解凍。
長いですが、見るとカーネルがどんな機能を担っているか、 なんとかく見えてきます。
ファイルシステム・デバイス関連・暗号化関連などです。
ログ全体は、こちら。
[root@centos8test src]# Jxvf linux-5.7.10.tar.xz linux-5.7.10/ linux-5.7.10/.clang-format linux-5.7.10/.cocciconfig linux-5.7.10/.get_maintainer.ignore linux-5.7.10/.gitattributes linux-5.7.10/.gitignore linux-5.7.10/.mailmap linux-5.7.10/COPYING linux-5.7.10/CREDITS linux-5.7.10/Documentation/ linux-5.7.10/Documentation/.gitignore linux-5.7.10/Documentation/ABI/ linux-5.7.10/Documentation/ABI/README . . 省略 . . linux-5.7.10/Kbuild linux-5.7.10/Kconfig linux-5.7.10/LICENSES/ linux-5.7.10/LICENSES/deprecated/ linux-5.7.10/LICENSES/deprecated/GPL-1.0 linux-5.7.10/LICENSES/deprecated/ISC linux-5.7.10/LICENSES/deprecated/Linux-OpenIB linux-5.7.10/LICENSES/deprecated/X11 linux-5.7.10/LICENSES/dual/ linux-5.7.10/LICENSES/dual/Apache-2.0 linux-5.7.10/LICENSES/dual/CDDL-1.0 linux-5.7.10/LICENSES/dual/MPL-1.1 linux-5.7.10/LICENSES/exceptions/ linux-5.7.10/LICENSES/exceptions/GCC-exception-2.0 linux-5.7.10/LICENSES/exceptions/Linux-syscall-note linux-5.7.10/LICENSES/preferred/ linux-5.7.10/LICENSES/preferred/BSD-2-Clause linux-5.7.10/LICENSES/preferred/BSD-3-Clause linux-5.7.10/LICENSES/preferred/BSD-3-Clause-Clear linux-5.7.10/LICENSES/preferred/GPL-2.0 linux-5.7.10/LICENSES/preferred/LGPL-2.0 linux-5.7.10/LICENSES/preferred/LGPL-2.1 linux-5.7.10/LICENSES/preferred/MIT linux-5.7.10/MAINTAINERS linux-5.7.10/Makefile linux-5.7.10/README linux-5.7.10/arch/ linux-5.7.10/arch/.gitignore linux-5.7.10/arch/Kconfig linux-5.7.10/arch/alpha/ linux-5.7.10/arch/alpha/Kconfig linux-5.7.10/arch/alpha/Kconfig.debug linux-5.7.10/arch/alpha/Makefile . . 省略 . . linux-5.7.10/arch/arc/ linux-5.7.10/arch/arc/Kbuild linux-5.7.10/arch/arc/Kconfig linux-5.7.10/arch/arc/Kconfig.debug linux-5.7.10/arch/arc/Makefile . . 省略 . . linux-5.7.10/arch/arm/ linux-5.7.10/arch/arm/Kconfig linux-5.7.10/arch/arm/Kconfig-nommu linux-5.7.10/arch/arm/Kconfig.debug linux-5.7.10/arch/arm/Makefile . . 省略 . . linux-5.7.10/arch/arm64/ linux-5.7.10/arch/arm64/Kbuild linux-5.7.10/arch/arm64/Kconfig linux-5.7.10/arch/arm64/Kconfig.debug linux-5.7.10/arch/arm64/Kconfig.platforms linux-5.7.10/arch/arm64/Makefile linux-5.7.10/arch/arm64/boot/ linux-5.7.10/arch/arm64/boot/.gitignore linux-5.7.10/arch/arm64/boot/Makefile . . 省略 . . linux-5.7.10/arch/c6x/ linux-5.7.10/arch/c6x/Kconfig linux-5.7.10/arch/c6x/Kconfig.debug linux-5.7.10/arch/c6x/Makefile . . 省略 . . linux-5.7.10/arch/csky/ linux-5.7.10/arch/csky/Kconfig linux-5.7.10/arch/csky/Kconfig.debug linux-5.7.10/arch/csky/Kconfig.platforms linux-5.7.10/arch/csky/Makefile . . 省略 . . linux-5.7.10/arch/h8300/ linux-5.7.10/arch/h8300/Kconfig linux-5.7.10/arch/h8300/Kconfig.cpu linux-5.7.10/arch/h8300/Kconfig.debug linux-5.7.10/arch/h8300/Makefile linux-5.7.10/arch/h8300/boot/ linux-5.7.10/arch/h8300/boot/Makefile . . 省略 . . linux-5.7.10/arch/hexagon/ linux-5.7.10/arch/hexagon/Kconfig linux-5.7.10/arch/hexagon/Kconfig.debug linux-5.7.10/arch/hexagon/Makefile . . 省略 . . linux-5.7.10/arch/ia64/ linux-5.7.10/arch/ia64/Kconfig linux-5.7.10/arch/ia64/Kconfig.debug linux-5.7.10/arch/ia64/Makefile . . 省略 . . linux-5.7.10/arch/m68k/ linux-5.7.10/arch/m68k/68000/ linux-5.7.10/arch/m68k/68000/Makefile . . 省略 . . linux-5.7.10/arch/microblaze/ linux-5.7.10/arch/microblaze/Kconfig linux-5.7.10/arch/microblaze/Kconfig.debug linux-5.7.10/arch/microblaze/Kconfig.platform linux-5.7.10/arch/microblaze/Makefile . . 省略 . . linux-5.7.10/arch/mips/ linux-5.7.10/arch/mips/Kbuild linux-5.7.10/arch/mips/Kbuild.platforms linux-5.7.10/arch/mips/Kconfig linux-5.7.10/arch/mips/Kconfig.debug linux-5.7.10/arch/mips/Makefile . . 省略 . . linux-5.7.10/arch/nds32/ linux-5.7.10/arch/nds32/Kconfig linux-5.7.10/arch/nds32/Kconfig.cpu linux-5.7.10/arch/nds32/Kconfig.debug linux-5.7.10/arch/nds32/Makefile . . 省略 . . linux-5.7.10/arch/nios2/ linux-5.7.10/arch/nios2/Kconfig linux-5.7.10/arch/nios2/Kconfig.debug linux-5.7.10/arch/nios2/Makefile . . 省略 . . linux-5.7.10/arch/openrisc/ linux-5.7.10/arch/openrisc/Kconfig linux-5.7.10/arch/openrisc/Kconfig.debug linux-5.7.10/arch/openrisc/Makefile . . 省略 . . linux-5.7.10/arch/parisc/ linux-5.7.10/arch/parisc/Kconfig linux-5.7.10/arch/parisc/Kconfig.debug linux-5.7.10/arch/parisc/Makefile . . 省略 . . linux-5.7.10/arch/powerpc/ linux-5.7.10/arch/powerpc/Kbuild linux-5.7.10/arch/powerpc/Kconfig linux-5.7.10/arch/powerpc/Kconfig.debug linux-5.7.10/arch/powerpc/Makefile . . 省略 . . linux-5.7.10/arch/riscv/ linux-5.7.10/arch/riscv/Kbuild linux-5.7.10/arch/riscv/Kconfig linux-5.7.10/arch/riscv/Kconfig.debug linux-5.7.10/arch/riscv/Kconfig.socs linux-5.7.10/arch/riscv/Makefile . . 省略 . . linux-5.7.10/arch/s390/ linux-5.7.10/arch/s390/Kbuild linux-5.7.10/arch/s390/Kconfig linux-5.7.10/arch/s390/Kconfig.debug linux-5.7.10/arch/s390/Makefile . . 省略 . . linux-5.7.10/arch/sh/ linux-5.7.10/arch/sh/Kconfig linux-5.7.10/arch/sh/Kconfig.cpu linux-5.7.10/arch/sh/Kconfig.debug linux-5.7.10/arch/sh/Makefile . . 省略 . . linux-5.7.10/arch/sparc/ linux-5.7.10/arch/sparc/Kbuild linux-5.7.10/arch/sparc/Kconfig linux-5.7.10/arch/sparc/Kconfig.debug linux-5.7.10/arch/sparc/Makefile . . 省略 . . linux-5.7.10/arch/um/ linux-5.7.10/arch/um/.gitignore linux-5.7.10/arch/um/Kconfig linux-5.7.10/arch/um/Kconfig.debug linux-5.7.10/arch/um/Makefile . . 省略 . . linux-5.7.10/arch/unicore32/ linux-5.7.10/arch/unicore32/.gitignore linux-5.7.10/arch/unicore32/Kconfig linux-5.7.10/arch/unicore32/Kconfig.debug linux-5.7.10/arch/unicore32/Makefile . . 省略 . . linux-5.7.10/arch/x86/ linux-5.7.10/arch/x86/.gitignore linux-5.7.10/arch/x86/Kbuild linux-5.7.10/arch/x86/Kconfig linux-5.7.10/arch/x86/Kconfig.assembler linux-5.7.10/arch/x86/Kconfig.cpu linux-5.7.10/arch/x86/Kconfig.debug linux-5.7.10/arch/x86/Makefile linux-5.7.10/arch/xtensa/ linux-5.7.10/arch/xtensa/Kconfig linux-5.7.10/arch/xtensa/Kconfig.debug linux-5.7.10/arch/xtensa/Makefile . . 省略 . . linux-5.7.10/block/ linux-5.7.10/block/Kconfig linux-5.7.10/block/Kconfig.iosched linux-5.7.10/block/Makefile . . 省略 . . linux-5.7.10/certs/ linux-5.7.10/certs/.gitignore linux-5.7.10/certs/Kconfig linux-5.7.10/certs/Makefile linux-5.7.10/certs/blacklist.c linux-5.7.10/certs/blacklist.h linux-5.7.10/certs/blacklist_hashes.c linux-5.7.10/certs/blacklist_nohashes.c linux-5.7.10/certs/system_certificates.S linux-5.7.10/certs/system_keyring.c linux-5.7.10/crypto/ linux-5.7.10/crypto/842.c linux-5.7.10/crypto/Kconfig linux-5.7.10/crypto/Makefile linux-5.7.10/crypto/acompress.c linux-5.7.10/crypto/adiantum.c linux-5.7.10/crypto/aead.c linux-5.7.10/crypto/aegis.h linux-5.7.10/crypto/aegis128-core.c linux-5.7.10/crypto/aegis128-neon-inner.c linux-5.7.10/crypto/aegis128-neon.c linux-5.7.10/crypto/aes_generic.c linux-5.7.10/crypto/aes_ti.c linux-5.7.10/crypto/af_alg.c linux-5.7.10/crypto/ahash.c linux-5.7.10/crypto/akcipher.c linux-5.7.10/crypto/algapi.c linux-5.7.10/crypto/algboss.c linux-5.7.10/crypto/algif_aead.c linux-5.7.10/crypto/algif_hash.c linux-5.7.10/crypto/algif_rng.c linux-5.7.10/crypto/algif_skcipher.c linux-5.7.10/crypto/ansi_cprng.c linux-5.7.10/crypto/anubis.c linux-5.7.10/crypto/api.c linux-5.7.10/crypto/arc4.c . . 省略 . . linux-5.7.10/drivers/ linux-5.7.10/drivers/Kconfig linux-5.7.10/drivers/Makefile . . 省略 . . linux-5.7.10/drivers/gpu/drm/amd/amdgpu/amdgpu_display.h linux-5.7.10/drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c . . 省略 . . linux-5.7.10/drivers/gpu/drm/radeon/r600.c linux-5.7.10/drivers/gpu/drm/radeon/r600_blit_shaders.c linux-5.7.10/drivers/gpu/drm/radeon/r600_blit_shaders.h linux-5.7.10/drivers/gpu/drm/radeon/r600_cs.c linux-5.7.10/drivers/gpu/drm/radeon/r600_dma.c linux-5.7.10/drivers/gpu/drm/radeon/r600_dpm.c linux-5.7.10/drivers/gpu/drm/radeon/r600_dpm.h linux-5.7.10/drivers/gpu/drm/radeon/r600_hdmi.c linux-5.7.10/drivers/gpu/drm/radeon/r600_reg.h linux-5.7.10/drivers/gpu/drm/radeon/r600d.h . . 省略 . . linux-5.7.10/drivers/ide/ linux-5.7.10/drivers/ide/Kconfig linux-5.7.10/drivers/ide/Makefile . . 省略 . . linux-5.7.10/drivers/iio/temperature/ linux-5.7.10/drivers/iio/temperature/Kconfig linux-5.7.10/drivers/iio/temperature/Makefile . . 省略 . . linux-5.7.10/drivers/input/tablet/ linux-5.7.10/drivers/input/tablet/Kconfig linux-5.7.10/drivers/input/tablet/Makefile linux-5.7.10/drivers/input/tablet/acecad.c linux-5.7.10/drivers/input/tablet/aiptek.c linux-5.7.10/drivers/input/tablet/gtco.c linux-5.7.10/drivers/input/tablet/hanwang.c linux-5.7.10/drivers/input/tablet/kbtab.c linux-5.7.10/drivers/input/tablet/pegasus_notetaker.c linux-5.7.10/drivers/input/tablet/wacom_serial4.c linux-5.7.10/drivers/input/touchscreen/ linux-5.7.10/drivers/input/touchscreen/88pm860x-ts.c linux-5.7.10/drivers/input/touchscreen/Kconfig linux-5.7.10/drivers/input/touchscreen/Makefile . . 省略 . . linux-5.7.10/drivers/macintosh/ linux-5.7.10/drivers/macintosh/Kconfig linux-5.7.10/drivers/macintosh/Makefile . . 省略 . . linux-5.7.10/drivers/md/raid0.c linux-5.7.10/drivers/md/raid0.h linux-5.7.10/drivers/md/raid1-10.c linux-5.7.10/drivers/md/raid1.c linux-5.7.10/drivers/md/raid1.h linux-5.7.10/drivers/md/raid10.c linux-5.7.10/drivers/md/raid10.h linux-5.7.10/drivers/md/raid5-cache.c linux-5.7.10/drivers/md/raid5-log.h linux-5.7.10/drivers/md/raid5-ppl.c linux-5.7.10/drivers/md/raid5.c linux-5.7.10/drivers/md/raid5.h . . 省略 . . linux-5.7.10/drivers/net/ethernet/cisco/ linux-5.7.10/drivers/net/ethernet/cisco/Kconfig linux-5.7.10/drivers/net/ethernet/cisco/Makefile . . 省略 . . linux-5.7.10/drivers/platform/x86/fujitsu-laptop.c linux-5.7.10/drivers/platform/x86/fujitsu-tablet.c . . 省略 . . linux-5.7.10/drivers/platform/x86/surface3-wmi.c linux-5.7.10/drivers/platform/x86/surface3_button.c linux-5.7.10/drivers/platform/x86/surface3_power.c linux-5.7.10/drivers/platform/x86/surfacepro3_button.c . . 省略 . . linux-5.7.10/drivers/thunderbolt/xdomain.c linux-5.7.10/drivers/tty/ linux-5.7.10/drivers/tty/Kconfig linux-5.7.10/drivers/tty/Makefile linux-5.7.10/drivers/tty/amiserial.c linux-5.7.10/drivers/tty/cyclades.c linux-5.7.10/drivers/tty/ehv_bytechan.c linux-5.7.10/drivers/tty/goldfish.c linux-5.7.10/drivers/tty/hvc/ linux-5.7.10/drivers/tty/hvc/Kconfig linux-5.7.10/drivers/tty/hvc/Makefile linux-5.7.10/drivers/tty/hvc/hvc_console.c linux-5.7.10/drivers/tty/hvc/hvc_console.h. . 省略 . . linux-5.7.10/fs/ linux-5.7.10/fs/9p/ linux-5.7.10/fs/9p/Kconfig linux-5.7.10/fs/9p/Makefile l. . 省略 . . linux-5.7.10/fs/autofs/ linux-5.7.10/fs/autofs/Kconfig linux-5.7.10/fs/autofs/Makefile l. . 省略 . . inux-5.7.10/fs/btrfs/ linux-5.7.10/fs/btrfs/Kconfig linux-5.7.10/fs/btrfs/Makefile . . 省略 . . linux-5.7.10/fs/cachefiles/ linux-5.7.10/fs/cachefiles/Kconfig linux-5.7.10/fs/cachefiles/Makefle . . 省略 . . linux-5.7.10/fs/ceph/ linux-5.7.10/fs/ceph/Kconfig linux-5.7.10/fs/ceph/Makefile . . 省略 . . linux-5.7.10/fs/cifs/ linux-5.7.10/fs/cifs/Kconfig linux-5.7.10/fs/cifs/Makefile . . 省略 . . linux-5.7.10/fs/coda/ linux-5.7.10/fs/coda/Kconfig linux-5.7.10/fs/coda/Makefile . . 省略 . . linux-5.7.10/fs/compat.c linux-5.7.10/fs/compat_binfmt_elf.c linux-5.7.10/fs/configfs/ linux-5.7.10/fs/configfs/Kconfig linux-5.7.10/fs/configfs/Makefile . . 省略 . . linux-5.7.10/fs/cramfs/ linux-5.7.10/fs/cramfs/Kconfig linux-5.7.10/fs/cramfs/Makefile linux-5.7.10/fs/cramfs/README linux-5.7.10/fs/cramfs/inode.c linux-5.7.10/fs/cramfs/internal.h linux-5.7.10/fs/cramfs/uncompress.c . . 省略 . . linux-5.7.10/fs/debugfs/ linux-5.7.10/fs/debugfs/Makefile linux-5.7.10/fs/debugfs/file.c linux-5.7.10/fs/debugfs/inode.c linux-5.7.10/fs/debugfs/internal.h . . 省略 . . linux-5.7.10/fs/erofs/ linux-5.7.10/fs/erofs/Kconfig linux-5.7.10/fs/erofs/Makefile linux-5.7.10/fs/erofs/compress.h linux-5.7.10/fs/erofs/data.c linux-5.7.10/fs/erofs/decompressor.c linux-5.7.10/fs/erofs/dir.c linux-5.7.10/fs/erofs/erofs_fs.h linux-5.7.10/fs/erofs/inode.c linux-5.7.10/fs/erofs/internal.h linux-5.7.10/fs/erofs/namei.c linux-5.7.10/fs/erofs/super.c linux-5.7.10/fs/erofs/tagptr.h linux-5.7.10/fs/erofs/utils.c linux-5.7.10/fs/erofs/xattr.c linux-5.7.10/fs/erofs/xattr.h linux-5.7.10/fs/erofs/zdata.c linux-5.7.10/fs/erofs/zdata.h linux-5.7.10/fs/erofs/zmap.c linux-5.7.10/fs/erofs/zpvec.h . . 省略 . . linux-5.7.10/fs/exportfs/ linux-5.7.10/fs/exportfs/Makefile linux-5.7.10/fs/exportfs/expfs.c . . 省略 . . linux-5.7.10/fs/ext2/ linux-5.7.10/fs/ext2/Kconfig linux-5.7.10/fs/ext2/Makefile . . 省略 . . linux-5.7.10/fs/ext4/ linux-5.7.10/fs/ext4/Kconfig linux-5.7.10/fs/ext4/Makefile . . 省略 . . linux-5.7.10/fs/fat/ linux-5.7.10/fs/fat/Kconfig linux-5.7.10/fs/fat/Makefile . . 省略 . . linux-5.7.10/fs/freevxfs/ linux-5.7.10/fs/freevxfs/Kconfig linux-5.7.10/fs/freevxfs/Makefile . . 省略 . . linux-5.7.10/fs/fuse/ linux-5.7.10/fs/fuse/Kconfig linux-5.7.10/fs/fuse/Makefile . . 省略 . . linux-5.7.10/fs/gfs2/ linux-5.7.10/fs/gfs2/Kconfig linux-5.7.10/fs/gfs2/Makefile . . 省略 . . linux-5.7.10/fs/hfs/ linux-5.7.10/fs/hfs/Kconfig linux-5.7.10/fs/hfs/Makefile . . 省略 . . linux-5.7.10/fs/hfsplus/ linux-5.7.10/fs/hfsplus/Kconfig linux-5.7.10/fs/hfsplus/Makefile . . 省略 . . linux-5.7.10/fs/isofs/ linux-5.7.10/fs/isofs/Kconfig linux-5.7.10/fs/isofs/Makefile . . 省略 . . linux-5.7.10/fs/jfs/ linux-5.7.10/fs/jfs/Kconfig linux-5.7.10/fs/jfs/Makefile . . 省略 . . linux-5.7.10/fs/minix/ linux-5.7.10/fs/minix/Kconfig linux-5.7.10/fs/minix/Makefile linux-5.7.10/fs/minix/bitmap.c linux-5.7.10/fs/minix/dir.c linux-5.7.10/fs/minix/file.c linux-5.7.10/fs/minix/inode.c linux-5.7.10/fs/minix/itree_common.c linux-5.7.10/fs/minix/itree_v1.c linux-5.7.10/fs/minix/itree_v2.c linux-5.7.10/fs/minix/minix.h linux-5.7.10/fs/minix/namei.c . . 省略 . . linux-5.7.10/fs/nfs/ linux-5.7.10/fs/nfs/Kconfig linux-5.7.10/fs/nfs/Makefile . . 省略 . . linux-5.7.10/fs/ocfs2/ linux-5.7.10/fs/ocfs2/Kconfig linux-5.7.10/fs/ocfs2/Makefile . . 省略 . . linux-5.7.10/fs/reiserfs/ linux-5.7.10/fs/reiserfs/Kconfig linux-5.7.10/fs/reiserfs/Makefile . . 省略 . . linux-5.7.10/fs/xfs/ linux-5.7.10/fs/xfs/Kconfig linux-5.7.10/fs/xfs/Makefile . . 省略 . . linux-5.7.10/include/linux/netfilter_ipv4.h linux-5.7.10/include/linux/netfilter_ipv4/ linux-5.7.10/include/linux/netfilter_ipv4/ip_tables.h linux-5.7.10/include/linux/netfilter_ipv6.h linux-5.7.10/include/linux/netfilter_ipv6/ linux-5.7.10/include/linux/netfilter_ipv6/ip6_tables.h . . 省略 . . linux-5.7.10/include/net/bluetooth/ linux-5.7.10/include/net/bluetooth/bluetooth.h . . 省略 . . linux-5.7.10/kernel/dma/ linux-5.7.10/kernel/dma/Kconfig linux-5.7.10/kernel/dma/Makefile . . 省略 . . linux-5.7.10/lib/xz/ linux-5.7.10/lib/xz/Kconfig linux-5.7.10/lib/xz/Makefile . . 省略 . . linux-5.7.10/mm/kasan/ linux-5.7.10/mm/kasan/Makefile . . 省略 . . linux-5.7.10/net/802/ linux-5.7.10/net/802/Kconfig linux-5.7.10/net/802/Makefile . . 省略 . . linux-5.7.10/scripts/Makefile linux-5.7.10/scripts/Makefile.asm-generic linux-5.7.10/scripts/Makefile.build linux-5.7.10/scripts/Makefile.clean . . 省略 . . linux-5.7.10/security/ linux-5.7.10/security/Kconfig linux-5.7.10/security/Kconfig.hardening linux-5.7.10/security/Makefile linux-5.7.10/security/apparmor/ linux-5.7.10/security/apparmor/.gitignore linux-5.7.10/security/apparmor/Kconfig . . 省略 . . linux-5.7.10/security/keys/ linux-5.7.10/security/keys/Kconfig linux-5.7.10/security/keys/Makefile linux-5.7.10/security/keys/big_key.c linux-5.7.10/security/keys/compat.c linux-5.7.10/security/keys/compat_dh.c linux-5.7.10/security/keys/dh.c linux-5.7.10/security/keys/encrypted-keys/ linux-5.7.10/security/keys/encrypted-keys/Makefile . . 省略 . . linux-5.7.10/security/selinux/ linux-5.7.10/security/selinux/.gitignore linux-5.7.10/security/selinux/Kconfig linux-5.7.10/security/selinux/Makefile . . 省略 . . linux-5.7.10/security/smack/ linux-5.7.10/security/smack/Kconfig linux-5.7.10/security/smack/Makefile linux-5.7.10/security/smack/smack.h linux-5.7.10/security/smack/smack_access.c linux-5.7.10/security/smack/smack_lsm.c linux-5.7.10/security/smack/smack_netfilter.c linux-5.7.10/security/smack/smackfs.c linux-5.7.10/security/tomoyo/ linux-5.7.10/security/tomoyo/.gitignore linux-5.7.10/security/tomoyo/Kconfig linux-5.7.10/security/tomoyo/Makefile . . 省略 . . linux-5.7.10/security/yama/ linux-5.7.10/security/yama/Kconfig linux-5.7.10/security/yama/Makefile linux-5.7.10/security/yama/yama_lsm.c linux-5.7.10/sound/ linux-5.7.10/sound/Kconfig linux-5.7.10/sound/Makefile . . 省略 . . linux-5.7.10/tools/arch/riscv/ linux-5.7.10/tools/arch/riscv/include/ linux-5.7.10/tools/arch/riscv/include/uapi/ linux-5.7.10/tools/arch/riscv/include/uapi/asm/ linux-5.7.10/tools/arch/riscv/include/uapi/asm/bitsperlong.h linux-5.7.10/tools/arch/riscv/include/uapi/asm/perf_regs.h linux-5.7.10/tools/arch/riscv/include/uapi/asm/unistd.h . . 省略 . . linux-5.7.10/usr/ linux-5.7.10/usr/.gitignore linux-5.7.10/usr/Kconfig linux-5.7.10/usr/Makefile linux-5.7.10/usr/default_cpio_list linux-5.7.10/usr/gen_init_cpio.c linux-5.7.10/usr/gen_initramfs.sh linux-5.7.10/usr/include/ linux-5.7.10/usr/include/.gitignore linux-5.7.10/usr/include/Makefile linux-5.7.10/usr/initramfs_data.S linux-5.7.10/virt/ linux-5.7.10/virt/Makefile linux-5.7.10/virt/kvm/ linux-5.7.10/virt/kvm/Kconfig linux-5.7.10/virt/kvm/arm/ linux-5.7.10/virt/kvm/arm/aarch32.c linux-5.7.10/virt/kvm/arm/arch_timer.c linux-5.7.10/virt/kvm/arm/arm.c linux-5.7.10/virt/kvm/arm/hyp/ linux-5.7.10/virt/kvm/arm/hyp/aarch32.c linux-5.7.10/virt/kvm/arm/hyp/timer-sr.c linux-5.7.10/virt/kvm/arm/hyp/vgic-v3-sr.c linux-5.7.10/virt/kvm/arm/hypercalls.c . . 省略 . . linux-5.7.10/virt/lib/ linux-5.7.10/virt/lib/Kconfig linux-5.7.10/virt/lib/Makefile linux-5.7.10/virt/lib/irqbypass.c
解凍されたディレクトの確認。
ディレクトリ名だけざっと見ても、どのようなコードがあるか何となくイメージが出来るかもしれません。
[root@centos8test src]# ls debug kernels linux-5.7.10 linux-5.7.10.tar.xz [root@centos8test src]# cd linux-5.7.10 [root@centos8test linux-5.7.10]# ls COPYING Kbuild MAINTAINERS arch crypto include kernel net security usr CREDITS Kconfig Makefile block drivers init lib samples sound virt Documentation LICENSES README certs fs ipc mm scripts tools
そして、カーネル再構築に必要なパッケージをインストールしておきます。
[root@centos8test linux-5.7.10]# yum -y install make メタデータの期限切れの最終確認: 6:05:55 時間前の 2020年07月23日 14時36分19秒 に実施しました。 依存関係が解決しました。 ========================================================================================================= パッケージ アーキテクチャー バージョン リポジトリー サイズ ========================================================================================================= インストール中: make x86_64 1:4.2.1-10.el8 BaseOS 498 k トランザクションの概要 ========================================================================================================= インストール 1 パッケージ ダウンロードサイズの合計: 498 k インストール済みのサイズ: 1.4 M パッケージのダウンロード: make-4.2.1-10.el8.x86_64.rpm 899 kB/s | 498 kB 00:00 --------------------------------------------------------------------------------------------------------- 合計 192 kB/s | 498 kB 00:02 トランザクションの確認を実行中 トランザクションの確認に成功しました。 トランザクションのテストを実行中 トランザクションのテストに成功しました。 トランザクションを実行中 準備 : 1/1 インストール中 : make-1:4.2.1-10.el8.x86_64 1/1 scriptlet の実行中: make-1:4.2.1-10.el8.x86_64 1/1 検証 : make-1:4.2.1-10.el8.x86_64 1/1 インストール済み: make-1:4.2.1-10.el8.x86_64 完了しました!
[root@centos8test linux-5.7.10]# yum -y groupinstall "Development Tools" メタデータの期限切れの最終確認: 6:07:20 時間前の 2020年07月23日 14時36分19秒 に実施しました。 依存関係が解決しました。 ========================================================================================================= パッケージ Arch バージョン Repo サイズ ========================================================================================================= group/module パッケージをインストール中: asciidoc noarch 8.6.10-0.5.20180627gitf7c2274.el8 AppStream 216 k autoconf noarch 2.69-27.el8 AppStream 710 k automake noarch 1.16.1-6.el8 AppStream 713 k binutils x86_64 2.30-73.el8 BaseOS 5.7 M bison x86_64 3.0.4-10.el8 AppStream 688 k byacc x86_64 1.9.20170709-4.el8 AppStream 91 k ctags x86_64 5.8-22.el8 AppStream 170 k diffstat x86_64 1.61-7.el8 AppStream 44 k flex x86_64 2.6.1-9.el8 AppStream 320 k gcc x86_64 8.3.1-5.el8.0.2 AppStream 23 M gcc-c++ x86_64 8.3.1-5.el8.0.2 AppStream 12 M gdb x86_64 8.2-11.el8 AppStream 297 k git x86_64 2.18.4-2.el8_2 AppStream 186 k glibc-devel x86_64 2.28-101.el8 BaseOS 1.0 M intltool noarch 0.51.0-11.el8 AppStream 66 k jna x86_64 4.5.1-5.el8 AppStream 242 k libtool x86_64 2.4.6-25.el8 AppStream 709 k ltrace x86_64 0.7.91-28.el8 AppStream 160 k patchutils x86_64 0.3.4-10.el8 AppStream 116 k perl-Fedora-VSP noarch 0.001-9.el8 AppStream 24 k perl-generators noarch 1.10-9.el8 AppStream 18 k pesign x86_64 0.112-25.el8 AppStream 181 k pkgconf x86_64 1.4.2-1.el8 BaseOS 38 k pkgconf-m4 noarch 1.4.2-1.el8 BaseOS 17 k pkgconf-pkg-config x86_64 1.4.2-1.el8 BaseOS 15 k redhat-rpm-config noarch 122-1.el8 AppStream 83 k rpm-build x86_64 4.14.2-37.el8 AppStream 171 k rpm-sign x86_64 4.14.2-37.el8 BaseOS 78 k source-highlight x86_64 3.1.8-16.el8 AppStream 661 k strace x86_64 4.24-9.el8 BaseOS 972 k systemtap x86_64 4.2-6.el8 AppStream 18 k valgrind x86_64 1:3.15.0-11.el8 AppStream 12 M valgrind-devel x86_64 1:3.15.0-11.el8 AppStream 91 k 依存関係のインストール中: adobe-mappings-cmap noarch 20171205-3.el8 AppStream 2.1 M adobe-mappings-cmap-deprecated noarch 20171205-3.el8 AppStream 119 k adobe-mappings-pdf noarch 20180407-1.el8 AppStream 707 k annobin x86_64 8.90-1.el8.0.1 AppStream 201 k atk x86_64 2.28.1-1.el8 AppStream 272 k avahi-libs x86_64 0.7-19.el8 BaseOS 62 k boost-atomic x86_64 1.66.0-7.el8 AppStream 13 k boost-chrono x86_64 1.66.0-7.el8 AppStream 22 k boost-date-time x86_64 1.66.0-7.el8 AppStream 29 k boost-filesystem x86_64 1.66.0-7.el8 AppStream 48 k boost-regex x86_64 1.66.0-7.el8 AppStream 281 k boost-system x86_64 1.66.0-7.el8 AppStream 18 k boost-thread x86_64 1.66.0-7.el8 AppStream 58 k boost-timer x86_64 1.66.0-7.el8 AppStream 20 k bzip2 x86_64 1.0.6-26.el8 BaseOS 60 k cairo x86_64 1.15.12-3.el8 AppStream 721 k copy-jdk-configs noarch 3.7-1.el8 AppStream 27 k cpp x86_64 8.3.1-5.el8.0.2 AppStream 10 M cups-libs x86_64 1:2.2.6-33.el8 BaseOS 432 k docbook-dtds noarch 1.0-69.el8 AppStream 377 k docbook-style-xsl noarch 1.79.2-7.el8 AppStream 1.6 M dwz x86_64 0.12-9.el8 AppStream 109 k dyninst x86_64 10.1.0-4.el8 AppStream 3.8 M efi-srpm-macros noarch 3-2.el8 AppStream 22 k efivar-libs x86_64 36-1.el8 BaseOS 97 k elfutils x86_64 0.178-7.el8 BaseOS 540 k emacs-filesystem noarch 1:26.1-5.el8 BaseOS 69 k fontconfig x86_64 2.13.1-3.el8 BaseOS 275 k fontpackages-filesystem noarch 1.44-22.el8 BaseOS 16 k fribidi x86_64 1.0.4-8.el8 AppStream 89 k gc x86_64 7.6.4-3.el8 AppStream 109 k gd x86_64 2.2.5-6.el8 AppStream 144 k gdb-headless x86_64 8.2-11.el8 AppStream 3.7 M gdk-pixbuf2 x86_64 2.36.12-5.el8 BaseOS 467 k gdk-pixbuf2-modules x86_64 2.36.12-5.el8 AppStream 109 k gettext-common-devel noarch 0.19.8.1-17.el8 BaseOS 419 k gettext-devel x86_64 0.19.8.1-17.el8 BaseOS 331 k ghc-srpm-macros noarch 1.4.2-7.el8 AppStream 9.3 k git-core x86_64 2.18.4-2.el8_2 AppStream 4.0 M git-core-doc noarch 2.18.4-2.el8_2 AppStream 2.3 M glibc-headers x86_64 2.28-101.el8 BaseOS 473 k go-srpm-macros noarch 2-16.el8 AppStream 14 k google-droid-sans-fonts noarch 20120715-13.el8 AppStream 2.5 M graphite2 x86_64 1.3.10-10.el8 AppStream 122 k graphviz x86_64 2.40.1-40.el8 AppStream 1.7 M gtk-update-icon-cache x86_64 3.22.30-5.el8 AppStream 32 k gtk2 x86_64 2.24.32-4.el8 AppStream 3.4 M guile x86_64 5:2.0.14-7.el8 AppStream 3.5 M harfbuzz x86_64 1.7.5-3.el8 AppStream 295 k hicolor-icon-theme noarch 0.17-2.el8 AppStream 49 k isl x86_64 0.16.1-6.el8 AppStream 841 k jasper-libs x86_64 2.0.14-4.el8 AppStream 167 k java-1.8.0-openjdk-headless x86_64 1:1.8.0.262.b10-0.el8_2 AppStream 34 M javapackages-filesystem noarch 5.3.0-1.module_el8.0.0+11+5b8c10bd AppStream 30 k jbig2dec-libs x86_64 0.14-2.el8 AppStream 67 k jbigkit-libs x86_64 2.1-14.el8 AppStream 55 k kernel-headers x86_64 4.18.0-193.6.3.el8_2 BaseOS 4.0 M lcms2 x86_64 2.9-2.el8 AppStream 165 k libICE x86_64 1.0.9-15.el8 AppStream 74 k libSM x86_64 1.2.3-1.el8 AppStream 48 k libX11 x86_64 1.6.8-3.el8 AppStream 611 k libX11-common noarch 1.6.8-3.el8 AppStream 158 k libXau x86_64 1.0.8-13.el8 AppStream 36 k libXaw x86_64 1.0.13-10.el8 AppStream 194 k libXcomposite x86_64 0.4.4-14.el8 AppStream 28 k libXcursor x86_64 1.1.15-3.el8 AppStream 36 k libXdamage x86_64 1.1.4-14.el8 AppStream 27 k libXext x86_64 1.3.3-9.el8 AppStream 45 k libXfixes x86_64 5.0.3-7.el8 AppStream 25 k libXft x86_64 2.3.2-10.el8 AppStream 66 k libXi x86_64 1.7.9-7.el8 AppStream 49 k libXinerama x86_64 1.1.4-1.el8 AppStream 16 k libXmu x86_64 1.1.2-12.el8 AppStream 74 k libXpm x86_64 3.5.12-8.el8 AppStream 58 k libXrandr x86_64 1.5.1-7.el8 AppStream 33 k libXrender x86_64 0.9.10-7.el8 AppStream 33 k libXt x86_64 1.1.5-12.el8 AppStream 186 k libXxf86misc x86_64 1.0.4-1.el8 AppStream 23 k libXxf86vm x86_64 1.1.4-9.el8 AppStream 19 k libatomic_ops x86_64 7.6.2-3.el8 AppStream 38 k libbabeltrace x86_64 1.5.4-2.el8 AppStream 201 k libdatrie x86_64 0.2.9-7.el8 AppStream 33 k libfontenc x86_64 1.1.3-8.el8 AppStream 37 k libgs x86_64 9.25-5.el8_1.1 AppStream 3.1 M libicu x86_64 60.3-2.el8_1 BaseOS 8.8 M libidn x86_64 1.34-5.el8 AppStream 239 k libijs x86_64 0.35-5.el8 AppStream 30 k libipt x86_64 1.6.1-8.el8 AppStream 50 k libjpeg-turbo x86_64 1.5.3-10.el8 AppStream 156 k libmcpp x86_64 2.7.2-20.el8 AppStream 81 k libmpc x86_64 1.0.2-9.el8 AppStream 59 k libpaper x86_64 1.1.24-22.el8 AppStream 45 k libpkgconf x86_64 1.4.2-1.el8 BaseOS 35 k librsvg2 x86_64 2.42.7-3.el8 AppStream 570 k libsecret x86_64 0.18.6-1.el8 BaseOS 163 k libstdc++-devel x86_64 8.3.1-5.el8.0.2 AppStream 2.0 M libthai x86_64 0.1.27-2.el8 AppStream 203 k libtiff x86_64 4.0.9-17.el8 AppStream 188 k libtool-ltdl x86_64 2.4.6-25.el8 BaseOS 58 k libwebp x86_64 1.0.0-1.el8 AppStream 273 k libxcb x86_64 1.13.1-1.el8 AppStream 229 k libxcrypt-devel x86_64 4.1.1-4.el8 BaseOS 25 k libxslt x86_64 1.1.32-4.el8 BaseOS 249 k lksctp-tools x86_64 1.0.18-3.el8 BaseOS 100 k lua x86_64 5.3.4-11.el8 AppStream 193 k m4 x86_64 1.4.18-7.el8 BaseOS 223 k mcpp x86_64 2.7.2-20.el8 AppStream 31 k mokutil x86_64 1:0.3.0-9.el8 BaseOS 44 k nspr x86_64 4.21.0-2.el8_0 AppStream 143 k nss x86_64 3.44.0-15.el8 AppStream 703 k nss-softokn x86_64 3.44.0-15.el8 AppStream 461 k nss-softokn-freebl x86_64 3.44.0-15.el8 AppStream 271 k nss-sysinit x86_64 3.44.0-15.el8 AppStream 70 k nss-tools x86_64 3.44.0-15.el8 AppStream 552 k nss-util x86_64 3.44.0-15.el8 AppStream 133 k ocaml-srpm-macros noarch 5-4.el8 AppStream 9.4 k openblas-srpm-macros noarch 2-2.el8 AppStream 7.9 k openjpeg2 x86_64 2.3.1-6.el8 AppStream 154 k pango x86_64 1.42.4-6.el8 AppStream 298 k patch x86_64 2.7.6-11.el8 BaseOS 138 k perl-Carp noarch 1.42-396.el8 BaseOS 30 k perl-Data-Dumper x86_64 2.167-399.el8 BaseOS 58 k perl-Digest noarch 1.17-395.el8 AppStream 27 k perl-Digest-MD5 x86_64 2.55-396.el8 AppStream 37 k perl-Encode x86_64 4:2.97-3.el8 BaseOS 1.5 M perl-Errno x86_64 1.28-416.el8 BaseOS 76 k perl-Error noarch 1:0.17025-2.el8 AppStream 46 k perl-Exporter noarch 5.72-396.el8 BaseOS 34 k perl-File-Path noarch 2.15-2.el8 BaseOS 38 k perl-File-Temp noarch 0.230.600-1.el8 BaseOS 63 k perl-Getopt-Long noarch 1:2.50-4.el8 BaseOS 63 k perl-Git noarch 2.18.4-2.el8_2 AppStream 77 k perl-HTTP-Tiny noarch 0.074-1.el8 BaseOS 58 k perl-IO x86_64 1.38-416.el8 BaseOS 141 k perl-MIME-Base64 x86_64 3.15-396.el8 BaseOS 31 k perl-Net-SSLeay x86_64 1.88-1.el8 AppStream 379 k perl-PathTools x86_64 3.74-1.el8 BaseOS 90 k perl-Pod-Escapes noarch 1:1.07-395.el8 BaseOS 20 k perl-Pod-Perldoc noarch 3.28-396.el8 BaseOS 86 k perl-Pod-Simple noarch 1:3.35-395.el8 BaseOS 213 k perl-Pod-Usage noarch 4:1.69-395.el8 BaseOS 34 k perl-Scalar-List-Utils x86_64 3:1.49-2.el8 BaseOS 68 k perl-Socket x86_64 4:2.027-3.el8 BaseOS 59 k perl-Storable x86_64 1:3.11-3.el8 BaseOS 98 k perl-Term-ANSIColor noarch 4.06-396.el8 BaseOS 46 k perl-Term-Cap noarch 1.17-395.el8 BaseOS 23 k perl-TermReadKey x86_64 2.37-7.el8 AppStream 40 k perl-Text-ParseWords noarch 3.30-395.el8 BaseOS 18 k perl-Text-Tabs+Wrap noarch 2013.0523-395.el8 BaseOS 24 k perl-Thread-Queue noarch 3.13-1.el8 AppStream 24 k perl-Time-Local noarch 1:1.280-1.el8 BaseOS 34 k perl-URI noarch 1.73-3.el8 AppStream 116 k perl-Unicode-Normalize x86_64 1.25-396.el8 BaseOS 82 k perl-XML-Parser x86_64 2.44-11.el8 AppStream 226 k perl-constant noarch 1.33-396.el8 BaseOS 25 k perl-interpreter x86_64 4:5.26.3-416.el8 BaseOS 6.3 M perl-libnet noarch 3.11-3.el8 AppStream 121 k perl-libs x86_64 4:5.26.3-416.el8 BaseOS 1.6 M perl-macros x86_64 4:5.26.3-416.el8 BaseOS 72 k perl-parent noarch 1:0.237-1.el8 BaseOS 20 k perl-podlators noarch 4.11-1.el8 BaseOS 118 k perl-srpm-macros noarch 1-25.el8 AppStream 11 k perl-threads x86_64 1:2.21-2.el8 BaseOS 61 k perl-threads-shared x86_64 1.58-2.el8 BaseOS 48 k pixman x86_64 0.38.4-1.el8 AppStream 257 k python-srpm-macros noarch 3-38.el8 AppStream 14 k python3-rpm-macros noarch 3-38.el8 AppStream 13 k qt5-srpm-macros noarch 5.12.5-3.el8 AppStream 10 k rust-srpm-macros noarch 5-2.el8 AppStream 9.2 k sgml-common noarch 0.6.3-50.el8 BaseOS 62 k systemtap-client x86_64 4.2-6.el8 AppStream 3.7 M systemtap-devel x86_64 4.2-6.el8 AppStream 2.3 M systemtap-runtime x86_64 4.2-6.el8 AppStream 504 k tbb x86_64 2018.2-9.el8 AppStream 160 k tzdata-java noarch 2020a-1.el8 AppStream 189 k unzip x86_64 6.0-43.el8 BaseOS 195 k urw-base35-bookman-fonts noarch 20170801-10.el8 AppStream 857 k urw-base35-c059-fonts noarch 20170801-10.el8 AppStream 884 k urw-base35-d050000l-fonts noarch 20170801-10.el8 AppStream 79 k urw-base35-fonts noarch 20170801-10.el8 AppStream 12 k urw-base35-fonts-common noarch 20170801-10.el8 AppStream 23 k urw-base35-gothic-fonts noarch 20170801-10.el8 AppStream 654 k urw-base35-nimbus-mono-ps-fonts noarch 20170801-10.el8 AppStream 801 k urw-base35-nimbus-roman-fonts noarch 20170801-10.el8 AppStream 865 k urw-base35-nimbus-sans-fonts noarch 20170801-10.el8 AppStream 1.3 M urw-base35-p052-fonts noarch 20170801-10.el8 AppStream 982 k urw-base35-standard-symbols-ps-fonts noarch 20170801-10.el8 AppStream 44 k urw-base35-z003-fonts noarch 20170801-10.el8 AppStream 279 k vim-filesystem noarch 2:8.0.1763-13.el8 AppStream 48 k xml-common noarch 0.6.3-50.el8 BaseOS 39 k xorg-x11-font-utils x86_64 1:7.5-40.el8 AppStream 103 k xorg-x11-fonts-ISO8859-1-100dpi noarch 7.5-19.el8 AppStream 1.1 M xorg-x11-server-utils x86_64 7.7-27.el8 AppStream 198 k zip x86_64 3.0-23.el8 BaseOS 270 k zstd x86_64 1.4.2-2.el8 AppStream 385 k 弱い依存関係のインストール中: elfutils-debuginfod-client x86_64 0.178-7.el8 AppStream 62 k gcc-gdb-plugin x86_64 8.3.1-5.el8.0.2 AppStream 117 k kernel-devel x86_64 4.18.0-193.6.3.el8_2 BaseOS 15 M perl-IO-Socket-IP noarch 0.39-5.el8 AppStream 47 k perl-IO-Socket-SSL noarch 2.066-4.el8 AppStream 297 k perl-Mozilla-CA noarch 20160104-7.el8 AppStream 15 k モジュールストリームの有効化中: javapackages-runtime 201801 グループのインストール中: Development Tools トランザクションの概要 ========================================================================================================= インストール 234 パッケージ ダウンロードサイズの合計: 212 M インストール済みのサイズ: 684 M パッケージのダウンロード: . . 省略 . . xorg-x11-server-utils-7.7-27.el8.x86_64 zip-3.0-23.el8.x86_64 zstd-1.4.2-2.el8.x86_64 完了しました!
[root@centos8test linux-5.7.10]# yum -y install ncurses-devel メタデータの期限切れの最終確認: 6:23:31 時間前の 2020年07月23日 14時36分19秒 に実施しました。 依存関係が解決しました。 ========================================================================================================= パッケージ アーキテクチャー バージョン リポジトリー サイズ ========================================================================================================= インストール中: ncurses-devel x86_64 6.1-7.20180224.el8 BaseOS 527 k 依存関係のインストール中: ncurses-c++-libs x86_64 6.1-7.20180224.el8 BaseOS 58 k トランザクションの概要 ========================================================================================================= インストール 2 パッケージ ダウンロードサイズの合計: 585 k インストール済みのサイズ: 989 k パッケージのダウンロード: (1/2): ncurses-c++-libs-6.1-7.20180224.el8.x86_64.rpm 192 kB/s | 58 kB 00:00 (2/2): ncurses-devel-6.1-7.20180224.el8.x86_64.rpm 841 kB/s | 527 kB 00:00 --------------------------------------------------------------------------------------------------------- 合計 217 kB/s | 585 kB 00:02 トランザクションの確認を実行中 トランザクションの確認に成功しました。 トランザクションのテストを実行中 トランザクションのテストに成功しました。 トランザクションを実行中 準備 : 1/1 インストール中 : ncurses-c++-libs-6.1-7.20180224.el8.x86_64 1/2 インストール中 : ncurses-devel-6.1-7.20180224.el8.x86_64 2/2 scriptlet の実行中: ncurses-devel-6.1-7.20180224.el8.x86_64 2/2 検証 : ncurses-c++-libs-6.1-7.20180224.el8.x86_64 1/2 検証 : ncurses-devel-6.1-7.20180224.el8.x86_64 2/2 インストール済み: ncurses-c++-libs-6.1-7.20180224.el8.x86_64 ncurses-devel-6.1-7.20180224.el8.x86_64 完了しました! [root@centos8test linux-5.7.10]# yum -y install openssl-devel メタデータの期限切れの最終確認: 6:57:06 時間前の 2020年07月23日 14時36分19秒 に実施しました。 依存関係が解決しました。 ========================================================================================================= パッケージ アーキテクチャー バージョン リポジトリー サイズ ========================================================================================================= インストール中: openssl-devel x86_64 1:1.1.1c-15.el8 BaseOS 2.3 M 依存関係のインストール中: keyutils-libs-devel x86_64 1.5.10-6.el8 BaseOS 48 k krb5-devel x86_64 1.17-18.el8 BaseOS 549 k libcom_err-devel x86_64 1.45.4-3.el8 BaseOS 38 k libkadm5 x86_64 1.17-18.el8 BaseOS 185 k libselinux-devel x86_64 2.9-3.el8 BaseOS 199 k libsepol-devel x86_64 2.9-1.el8 BaseOS 86 k libverto-devel x86_64 0.3.0-5.el8 BaseOS 18 k pcre2-devel x86_64 10.32-1.el8 BaseOS 605 k pcre2-utf16 x86_64 10.32-1.el8 BaseOS 228 k pcre2-utf32 x86_64 10.32-1.el8 BaseOS 220 k zlib-devel x86_64 1.2.11-13.el8 BaseOS 57 k トランザクションの概要 ========================================================================================================= インストール 12 パッケージ ダウンロードサイズの合計: 4.5 M インストール済みのサイズ: 8.1 M . . 省略 . . 検証 : keyutils-libs-devel-1.5.10-6.el8.x86_64 1/12 検証 : krb5-devel-1.17-18.el8.x86_64 2/12 検証 : libcom_err-devel-1.45.4-3.el8.x86_64 3/12 検証 : libkadm5-1.17-18.el8.x86_64 4/12 検証 : libselinux-devel-2.9-3.el8.x86_64 5/12 検証 : libsepol-devel-2.9-1.el8.x86_64 6/12 検証 : libverto-devel-0.3.0-5.el8.x86_64 7/12 検証 : openssl-devel-1:1.1.1c-15.el8.x86_64 8/12 検証 : pcre2-devel-10.32-1.el8.x86_64 9/12 検証 : pcre2-utf16-10.32-1.el8.x86_64 10/12 検証 : pcre2-utf32-10.32-1.el8.x86_64 11/12 検証 : zlib-devel-1.2.11-13.el8.x86_64 12/12 インストール済み: keyutils-libs-devel-1.5.10-6.el8.x86_64 krb5-devel-1.17-18.el8.x86_64 libcom_err-devel-1.45.4-3.el8.x86_64 libkadm5-1.17-18.el8.x86_64 libselinux-devel-2.9-3.el8.x86_64 libsepol-devel-2.9-1.el8.x86_64 libverto-devel-0.3.0-5.el8.x86_64 openssl-devel-1:1.1.1c-15.el8.x86_64 pcre2-devel-10.32-1.el8.x86_64 pcre2-utf16-10.32-1.el8.x86_64 pcre2-utf32-10.32-1.el8.x86_64 zlib-devel-1.2.11-13.el8.x86_64 完了しました! [root@centos8test linux-5.7.10]# yum -y install bc メタデータの期限切れの最終確認: 6:58:13 時間前の 2020年07月23日 14時36分19秒 に実施しました。 依存関係が解決しました。 ========================================================================================================= パッケージ アーキテクチャー バージョン リポジトリー サイズ ========================================================================================================= インストール中: bc x86_64 1.07.1-5.el8 BaseOS 129 k トランザクションの概要 ========================================================================================================= インストール 1 パッケージ ダウンロードサイズの合計: 129 k インストール済みのサイズ: 236 k パッケージのダウンロード: [=== ] --- B/s | 0 B --:-- ETA [=== ] --- B/s | 0 B --:-- ETA 100% [================================] 2.1 kB/s | 673 B 00:00 ETAbc-1.07.1-5.el8.x86_64.rpm 0% [ ] --- B/s | 0 B --:-- ETAbc-1.07.1-5.el8.x86_64.rpm 51% [================ ] 216 kB/s | 66 kB 00:00 ETAbc-1.07.1-5.el8.x86_64.rpm 394 kB/s | 129 kB 00:00 --------------------------------------------------------------------------------------------------------- 合計 114 kB/s | 129 kB 00:01 トランザクションの確認を実行中 トランザクションの確認に成功しました。 トランザクションのテストを実行中 トランザクションのテストに成功しました。 トランザクションを実行中 . . 省略 . . scriptlet の実行中: bc-1.07.1-5.el8.x86_64 1/1 検証 : bc-1.07.1-5.el8.x86_64 1/1 インストール済み: bc-1.07.1-5.el8.x86_64 完了しました! [root@centos8test linux-5.7.10]# yum -y install elfutils-libelf-devel メタデータの期限切れの最終確認: 7:00:27 時間前の 2020年07月23日 14時36分19秒 に実施しました。 依存関係が解決しました。 ========================================================================================================= パッケージ アーキテクチャー バージョン リポジトリー サイズ ========================================================================================================= インストール中: elfutils-libelf-devel x86_64 0.178-7.el8 BaseOS 58 k トランザクションの概要 ========================================================================================================= インストール 1 パッケージ ダウンロードサイズの合計: 58 k インストール済みのサイズ: 34 k パッケージのダウンロード: . . 省略 . . インストール済み: elfutils-libelf-devel-0.178-7.el8.x86_64 完了しました!
続いて、カーネルの設定(.config)の生成。
「make 何やらconfig」というコマンドで生成します。
GUI/CLIの違いだったり、メニュー形式だったり、現在の設定を引き継ぐ方法、全項目をyes/noにする方法など様々なものが用意されています。
make help
[root@centos8test linux-5.7.10]# make help Cleaning targets: clean - Remove most generated files but keep the config and enough build support to build external modules mrproper - Remove all generated files + config + various backup files distclean - mrproper + remove editor backup and patch files Configuration targets: config - Update current config utilising a line-oriented program nconfig - Update current config utilising a ncurses menu based program menuconfig - Update current config utilising a menu based program xconfig - Update current config utilising a Qt based front-end gconfig - Update current config utilising a GTK+ based front-end oldconfig - Update current config utilising a provided .config as base localmodconfig - Update current config disabling modules not loaded localyesconfig - Update current config converting local mods to core defconfig - New config with default from ARCH supplied defconfig savedefconfig - Save current config as ./defconfig (minimal config) allnoconfig - New config where all options are answered with no allyesconfig - New config where all options are accepted with yes allmodconfig - New config selecting modules when possible alldefconfig - New config with all symbols set to default randconfig - New config with random answer to all options yes2modconfig - Change answers from yes to mod if possible mod2yesconfig - Change answers from mod to yes if possible listnewconfig - List new options helpnewconfig - List new options and help text olddefconfig - Same as oldconfig but sets new symbols to their default value without prompting kvmconfig - Enable additional options for kvm guest kernel support xenconfig - Enable additional options for xen dom0 and guest kernel support tinyconfig - Configure the tiniest possible kernel testconfig - Run Kconfig unit tests (requires python3 and pytest) Other generic targets: all - Build all targets marked with [*] * vmlinux - Build the bare kernel * modules - Build all modules modules_install - Install all modules to INSTALL_MOD_PATH (default: /) dir/ - Build all files in dir and below dir/file.[ois] - Build specified target only dir/file.ll - Build the LLVM assembly file (requires compiler support for LLVM assembly generation) dir/file.lst - Build specified mixed source/assembly target only (requires a recent binutils and recent build (System.map)) dir/file.ko - Build module including final link modules_prepare - Set up for building external modules tags/TAGS - Generate tags file for editors cscope - Generate cscope index gtags - Generate GNU GLOBAL index kernelrelease - Output the release version string (use with make -s) kernelversion - Output the version stored in Makefile (use with make -s) image_name - Output the image name (use with make -s) headers_install - Install sanitised kernel headers to INSTALL_HDR_PATH (default: ./usr) Static analysers: checkstack - Generate a list of stack hogs namespacecheck - Name space analysis on compiled kernel versioncheck - Sanity check on version.h usage includecheck - Check for duplicate included header files export_report - List the usages of all exported symbols headerdep - Detect inclusion cycles in headers coccicheck - Check with Coccinelle Tools: nsdeps - Generate missing symbol namespace dependencies Kernel selftest: kselftest - Build and run kernel selftest Build, install, and boot kernel before running kselftest on it Run as root for full coverage kselftest-all - Build kernel selftest kselftest-install - Build and install kernel selftest kselftest-clean - Remove all generated kselftest files kselftest-merge - Merge all the config dependencies of kselftest to existing .config. Userspace tools targets: use "make tools/help" or "cd tools; make help" Kernel packaging: rpm-pkg - Build both source and binary RPM kernel packages binrpm-pkg - Build only the binary kernel RPM package deb-pkg - Build both source and binary deb kernel packages bindeb-pkg - Build only the binary kernel deb package snap-pkg - Build only the binary kernel snap package (will connect to external hosts) dir-pkg - Build the kernel as a plain directory structure tar-pkg - Build the kernel as an uncompressed tarball targz-pkg - Build the kernel as a gzip compressed tarball tarbz2-pkg - Build the kernel as a bzip2 compressed tarball tarxz-pkg - Build the kernel as a xz compressed tarball perf-tar-src-pkg - Build perf-5.7.10.tar source tarball perf-targz-src-pkg - Build perf-5.7.10.tar.gz source tarball perf-tarbz2-src-pkg - Build perf-5.7.10.tar.bz2 source tarball perf-tarxz-src-pkg - Build perf-5.7.10.tar.xz source tarball Documentation targets: Linux kernel internal documentation in different formats from ReST: htmldocs - HTML latexdocs - LaTeX pdfdocs - PDF epubdocs - EPUB xmldocs - XML linkcheckdocs - check for broken external links (will connect to external hosts) refcheckdocs - check for references to non-existing files under Documentation cleandocs - clean all generated files make SPHINXDIRS="s1 s2" [target] Generate only docs of folder s1, s2 valid values for SPHINXDIRS are: PCI RCU accounting admin-guide arm arm64 block bpf cdrom core-api cpu-freq crypto dev-tools doc-guide driver-api fault-injection fb filesystems firmware-guide fpga gpu hid hwmon i2c ia64 ide iio infiniband input isdn kbuild kernel-hacking leds livepatch locking m68k maintainer media mhi mips misc-devices netlabel networking openrisc parisc pcmcia power powerpc process riscv s390 scheduler scsi security sh sound sparc spi target timers trace translations usb userspace-api virt vm w1 watchdog x86 xtensa make SPHINX_CONF={conf-file} [target] use *additional* sphinx-build configuration. This is e.g. useful to build with nit-picking config. Default location for the generated documents is Documentation/output Architecture specific targets (x86): * bzImage - Compressed kernel image (arch/x86/boot/bzImage) install - Install kernel using (your) ~/bin/installkernel or (distribution) /sbin/installkernel or install to $(INSTALL_PATH) and run lilo fdimage - Create 1.4MB boot floppy image (arch/x86/boot/fdimage) fdimage144 - Create 1.4MB boot floppy image (arch/x86/boot/fdimage) fdimage288 - Create 2.8MB boot floppy image (arch/x86/boot/fdimage) isoimage - Create a boot CD-ROM image (arch/x86/boot/image.iso) bzdisk/fdimage*/isoimage also accept: FDARGS="..." arguments for the booted kernel FDINITRD=file initrd for the booted kernel i386_defconfig - Build for i386 x86_64_defconfig - Build for x86_64 make V=0|1 [targets] 0 => quiet build (default), 1 => verbose build make V=2 [targets] 2 => give reason for rebuild of target make O=dir [targets] Locate all output files in "dir", including .config make C=1 [targets] Check re-compiled c source with $CHECK (sparse by default) make C=2 [targets] Force check of all c source with $CHECK make RECORDMCOUNT_WARN=1 [targets] Warn about ignored mcount sections make W=n [targets] Enable extra build checks, n=1,2,3 where 1: warnings which may be relevant and do not occur too often 2: warnings which occur quite often but may still be relevant 3: more obscure warnings, can most likely be ignored Multiple levels can be combined with W=12 or W=123 Execute "make" or "make all" to build all targets marked with [*] For further info see the ./README file
メニュー形式の場合、以下のようになります。
make menuconfig
[root@centos8test linux-5.7.10]# make menuconfig UPD scripts/kconfig/mconf-cfg HOSTCC scripts/kconfig/mconf.o HOSTCC scripts/kconfig/lxdialog/checklist.o HOSTCC scripts/kconfig/lxdialog/inputbox.o HOSTCC scripts/kconfig/lxdialog/menubox.o HOSTCC scripts/kconfig/lxdialog/textbox.o HOSTCC scripts/kconfig/lxdialog/util.o HOSTCC scripts/kconfig/lxdialog/yesno.o HOSTCC scripts/kconfig/confdata.o HOSTCC scripts/kconfig/expr.o LEX scripts/kconfig/lexer.lex.c YACC scripts/kconfig/parser.tab.[ch] HOSTCC scripts/kconfig/lexer.lex.o HOSTCC scripts/kconfig/parser.tab.o HOSTCC scripts/kconfig/preprocess.o HOSTCC scripts/kconfig/symbol.o HOSTCC scripts/kconfig/util.o HOSTLD scripts/kconfig/mconf scripts/kconfig/mconf Kconfig # # using defaults found in /boot/config-4.18.0-193.el8.x86_64 # /boot/config-4.18.0-193.el8.x86_64:1089:warning: symbol value 'm' invalid for NF_CT_PROTO_GRE /boot/config-4.18.0-193.el8.x86_64:2949:warning: symbol value 'm' invalid for ISDN_CAPI
全項目をカーネルに組み込む(yes)・組み込まない(no)・動的モジュールとして構成する(m)などを選択していく方法。
make config
[root@centos8test linux-5.7.10]# make config HOSTCC scripts/kconfig/conf.o HOSTLD scripts/kconfig/conf scripts/kconfig/conf --oldaskconfig Kconfig # # using defaults found in /boot/config-4.18.0-193.el8.x86_64 # /boot/config-4.18.0-193.el8.x86_64:1089:warning: symbol value 'm' invalid for NF_CT_PROTO_GRE /boot/config-4.18.0-193.el8.x86_64:2949:warning: symbol value 'm' invalid for ISDN_CAPI * * Linux/x86 5.7.10 Kernel Configuration * * * Compiler: gcc (GCC) 8.3.1 20191121 (Red Hat 8.3.1-5) * * * General setup * Compile also drivers which will not load (COMPILE_TEST) [N/y/?]
新たに追加されている項目を一覧するサブコマンドもありました。
make listnewconfig
[root@centos8test linux-5.7.10]# make listnewconfig scripts/kconfig/conf --listnewconfig Kconfig # # using defaults found in /boot/config-4.18.0-193.el8.x86_64 # /boot/config-4.18.0-193.el8.x86_64:1089:warning: symbol value 'm' invalid for NF_CT_PROTO_GRE /boot/config-4.18.0-193.el8.x86_64:2949:warning: symbol value 'm' invalid for ISDN_CAPI CONFIG_BUILD_SALT="" CONFIG_SCHED_THERMAL_PRESSURE=n CONFIG_IKHEADERS=n CONFIG_UCLAMP_TASK=n CONFIG_TIME_NS=y CONFIG_BOOT_CONFIG=n CONFIG_BPF_LSM=n CONFIG_X86_CPU_RESCTRL=n CONFIG_PVH=n CONFIG_ACRN_GUEST=n CONFIG_X86_IOPL_IOPERM=y CONFIG_KEXEC_SIG=n CONFIG_LEGACY_VSYSCALL_XONLY=n CONFIG_EFI_SOFT_RESERVE=y CONFIG_EFI_DISABLE_PCI_DMA=n CONFIG_EFI_CUSTOM_SSDT_OVERLAYS=y CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS=n CONFIG_BLK_CGROUP_IOCOST=n CONFIG_ZSWAP_COMPRESSOR_DEFAULT_DEFLATE=n CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZO=y CONFIG_ZSWAP_COMPRESSOR_DEFAULT_842=n CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4=n CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4HC=n CONFIG_ZSWAP_COMPRESSOR_DEFAULT_ZSTD=n CONFIG_ZSWAP_ZPOOL_DEFAULT_ZBUD=y CONFIG_ZSWAP_ZPOOL_DEFAULT_Z3FOLD=n CONFIG_ZSWAP_ZPOOL_DEFAULT_ZSMALLOC=n CONFIG_ZSWAP_DEFAULT_ON=n CONFIG_READ_ONLY_THP_FOR_FS=n CONFIG_TLS_TOE=n CONFIG_INET_ESPINTCP=n CONFIG_IPV6_RPL_LWTUNNEL=n CONFIG_MPTCP=n CONFIG_NETFILTER_NETLINK_OSF=m CONFIG_NFT_TUNNEL=n CONFIG_NFT_OSF=n CONFIG_NFT_SYNPROXY=n CONFIG_NFT_BRIDGE_META=n CONFIG_NF_CONNTRACK_BRIDGE=n CONFIG_TIPC_CRYPTO=y CONFIG_NET_SCH_FQ_PIE=n CONFIG_NET_SCH_ETS=n CONFIG_VSOCKETS_LOOPBACK=m CONFIG_CAN_J1939=n CONFIG_CAN_KVASER_PCIEFD=n CONFIG_CAN_F81601=n CONFIG_CAN_UCAN=n CONFIG_BT_HCIBTUSB_MTK=n CONFIG_BT_MTKSDIO=n CONFIG_ETHTOOL_NETLINK=y CONFIG_EISA=n CONFIG_PCIE_EDR=n CONFIG_PCI_MESON=n CONFIG_FW_LOADER_COMPRESS=n CONFIG_FW_CACHE=y CONFIG_MHI_BUS=n CONFIG_GNSS=n CONFIG_MTD_RAW_NAND=n CONFIG_MTD_SPI_NAND=n CONFIG_MTD_HYPERBUS=n CONFIG_NVME_HWMON=n CONFIG_XILINX_SDFEC=n CONFIG_EEPROM_EE1004=n CONFIG_INTEL_MEI_HDCP=n CONFIG_MISC_ALCOR_PCI=n CONFIG_HABANA_AI=n CONFIG_UACCE=n CONFIG_SCSI_MYRB=n CONFIG_SCSI_MYRS=n CONFIG_SCSI_FDOMAIN_PCI=n CONFIG_DM_CLONE=n CONFIG_DM_DUST=n CONFIG_DM_VERITY_VERIFY_ROOTHASH_SIG=n CONFIG_WIREGUARD=n CONFIG_BAREUDP=n CONFIG_BCMGENET=n CONFIG_SYSTEMPORT=n CONFIG_NET_VENDOR_CADENCE=y CONFIG_MACB=n CONFIG_NET_VENDOR_NETERION=y CONFIG_S2IO=n CONFIG_VXGE=n CONFIG_NET_VENDOR_PACKET_ENGINES=y CONFIG_NET_VENDOR_PENSANDO=y CONFIG_IONIC=n CONFIG_NET_VENDOR_XILINX=y CONFIG_XILINX_AXI_EMAC=n CONFIG_XILINX_LL_TEMAC=n CONFIG_MDIO_MVUSB=n CONFIG_MDIO_XPCS=n CONFIG_ADIN_PHY=n CONFIG_BCM84881_PHY=n CONFIG_DP83869_PHY=n CONFIG_NXP_TJA11XX_PHY=n CONFIG_USB_NET_AQC111=n CONFIG_QTNFMAC_PCIE=n CONFIG_VIRT_WIFI=n CONFIG_IEEE802154_HWSIM=n CONFIG_KEYBOARD_APPLESPI=n CONFIG_KEYBOARD_QT1050=n CONFIG_TOUCHSCREEN_ADC=n CONFIG_TOUCHSCREEN_BU21029=n CONFIG_TOUCHSCREEN_IQS5XX=n CONFIG_INPUT_MSM_VIBRATOR=n CONFIG_INPUT_GPIO_VIBRA=n CONFIG_LDISC_AUTOLOAD=y CONFIG_SERIAL_8250_16550A_VARIANTS=n CONFIG_SERIAL_FSL_LINFLEXUART=n CONFIG_SERIAL_SPRD=n CONFIG_NULL_TTY=n CONFIG_RANDOM_TRUST_BOOTLOADER=n CONFIG_I2C_AMD_MP2=n CONFIG_I2C_NVIDIA_GPU=n CONFIG_I3C=n CONFIG_SPI_NXP_FLEXSPI=n CONFIG_SPI_SIFIVE=n CONFIG_SPI_MXIC=n CONFIG_SPI_MUX=n CONFIG_PTP_1588_CLOCK_INES=n CONFIG_PTP_1588_CLOCK_IDT82P33=n CONFIG_PTP_1588_CLOCK_IDTCM=n CONFIG_PTP_1588_CLOCK_VMW=n CONFIG_PINCTRL_LYNXPOINT=n CONFIG_PINCTRL_TIGERLAKE=n CONFIG_GPIO_XILINX=n CONFIG_GPIO_AMD_FCH=n CONFIG_POWER_SUPPLY_HWMON=y CONFIG_CHARGER_ADP5061=n CONFIG_CHARGER_LT3651=n CONFIG_SENSORS_ADM1177=n CONFIG_SENSORS_AS370=n CONFIG_SENSORS_AXI_FAN_CONTROL=n CONFIG_SENSORS_DRIVETEMP=n CONFIG_SENSORS_LTC2947_I2C=n CONFIG_SENSORS_LTC2947_SPI=n CONFIG_SENSORS_MAX31730=n CONFIG_SENSORS_MLXREG_FAN=n CONFIG_SENSORS_NPCM7XX=n CONFIG_SENSORS_BEL_PFE=n CONFIG_SENSORS_INSPUR_IPSPS=n CONFIG_SENSORS_IR38064=n CONFIG_SENSORS_IRPS5401=n CONFIG_SENSORS_ISL68137=n CONFIG_SENSORS_MAX20730=n CONFIG_SENSORS_PXE1610=n CONFIG_SENSORS_XDPE122=n CONFIG_SENSORS_TMP513=n CONFIG_WATCHDOG_OPEN_TIMEOUT=0 CONFIG_MLX_WDT=n CONFIG_TQMX86_WDT=n CONFIG_MFD_MADERA=n CONFIG_MFD_IQS62X=n CONFIG_MFD_TQMX86=n CONFIG_IR_RCMM_DECODER=n CONFIG_RC_XBOX_DVD=n CONFIG_MEDIA_CEC_RC=n CONFIG_VIDEO_V4L2_SUBDEV_API=n CONFIG_DVB_USB_CXUSB_ANALOG=n CONFIG_VIDEO_FB_IVTV_FORCE_PAT=n CONFIG_VIDEO_SECO_CEC=n CONFIG_DRM_AMD_DC_HDCP=n CONFIG_DRM_ETNAVIV=n CONFIG_DRM_GM12U320=n CONFIG_TINYDRM_HX8357D=n CONFIG_TINYDRM_ILI9225=n CONFIG_TINYDRM_ILI9341=n CONFIG_TINYDRM_ILI9486=n CONFIG_TINYDRM_MI0283QT=n CONFIG_TINYDRM_REPAPER=n CONFIG_TINYDRM_ST7586=n CONFIG_TINYDRM_ST7735R=n CONFIG_BACKLIGHT_QCOM_WLED=n CONFIG_FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER=n CONFIG_SND_BCM63XX_I2S_WHISTLER=n CONFIG_SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES=n CONFIG_SND_SOC_INTEL_BDW_RT5650_MACH=n CONFIG_SND_SOC_INTEL_GLK_DA7219_MAX98357A_MACH=n CONFIG_SND_SOC_INTEL_SOF_PCM512x_MACH=n CONFIG_SND_SOC_INTEL_SOF_CML_RT1011_RT5682_MACH=n CONFIG_SND_SOC_SOF_DEBUG_PROBES=n CONFIG_SND_SOC_ADAU7118_HW=n CONFIG_SND_SOC_ADAU7118_I2C=n CONFIG_SND_SOC_TAS2562=n CONFIG_SND_SOC_TAS2770=n CONFIG_SND_SOC_TLV320ADCX140=n CONFIG_SND_SOC_MT6660=n CONFIG_HID_CREATIVE_SB0540=n CONFIG_HID_GLORIOUS=n CONFIG_HID_MCP2221=n CONFIG_USB_CONN_GPIO=n CONFIG_USB_AUTOSUSPEND_DELAY=2 CONFIG_USB_EHCI_FSL=n CONFIG_USB_CDNS3=n CONFIG_APPLE_MFI_FASTCHARGE=n CONFIG_UCSI_CCG=n CONFIG_TYPEC_HD3SS3220=n CONFIG_TYPEC_NVIDIA_ALTMODE=n CONFIG_MMC_HSQ=n CONFIG_LEDS_LM3532=n CONFIG_LEDS_TI_LMU_COMMON=n CONFIG_RTC_DRV_ABEOZ9=n CONFIG_RTC_DRV_RV3028=n CONFIG_RTC_DRV_SD3078=n CONFIG_INTEL_IDXD=n CONFIG_PLX_DMA=n CONFIG_DW_EDMA=n CONFIG_DW_EDMA_PCIE=n CONFIG_SF_PDMA=n CONFIG_DMABUF_MOVE_NOTIFY=n CONFIG_DMABUF_SELFTESTS=n CONFIG_DMABUF_HEAPS=n CONFIG_VIRTIO_PMEM=n CONFIG_VDPA=n CONFIG_VHOST_MENU=y CONFIG_XEN_BACKEND=n CONFIG_XEN_GRANT_DMA_ALLOC=n CONFIG_GREYBUS=n CONFIG_HUAWEI_WMI=n CONFIG_XIAOMI_WMI=n CONFIG_INTEL_ATOMISP2_PM=n CONFIG_SURFACE_3_POWER_OPREGION=n CONFIG_PCENGINES_APU2=n CONFIG_LG_LAPTOP=n CONFIG_SYSTEM76_ACPI=n CONFIG_INTEL_UNCORE_FREQ_CONTROL=n CONFIG_MLXREG_IO=n CONFIG_COMMON_CLK_MAX9485=n CONFIG_COMMON_CLK_SI5341=n CONFIG_INTEL_IOMMU_SCALABLE_MODE_DEFAULT_ON=n CONFIG_ADXL372_SPI=n CONFIG_ADXL372_I2C=n CONFIG_BMA400=n CONFIG_AD7091R5=n CONFIG_AD7124=n CONFIG_AD7192=n CONFIG_AD7292=n CONFIG_AD7606_IFACE_PARALLEL=n CONFIG_AD7606_IFACE_SPI=n CONFIG_AD7768_1=n CONFIG_AD7780=n CONFIG_AD7949=n CONFIG_LTC2496=n CONFIG_MCP3911=n CONFIG_XILINX_XADC=n CONFIG_HMC425=n CONFIG_BME680=n CONFIG_SENSIRION_SGP30=n CONFIG_SPS30=n CONFIG_AD5758=n CONFIG_AD5770R=n CONFIG_LTC1660=n CONFIG_TI_DAC7311=n CONFIG_TI_DAC7612=n CONFIG_ADF4371=n CONFIG_FXAS21002C=n CONFIG_ADIS16460=n CONFIG_FXOS8700_I2C=n CONFIG_FXOS8700_SPI=n CONFIG_ADUX1020=n CONFIG_AL3010=n CONFIG_GP2AP002=n CONFIG_MAX44009=n CONFIG_NOA1305=n CONFIG_SI1133=n CONFIG_VCNL4035=n CONFIG_VEML6030=n CONFIG_SENSORS_RM3100_I2C=n CONFIG_SENSORS_RM3100_SPI=n CONFIG_MAX5432=n CONFIG_MCP41010=n CONFIG_DLHL60D=n CONFIG_DPS310=n CONFIG_ICP10100=n CONFIG_ISL29501=n CONFIG_MB1232=n CONFIG_PING=n CONFIG_VL53L0X_I2C=n CONFIG_AD2S90=n CONFIG_LTC2983=n CONFIG_MAX31856=n CONFIG_NTB_MSI=n CONFIG_PWM_DEBUG=n CONFIG_PHY_INTEL_EMMC=n CONFIG_IDLE_INJECT=n CONFIG_USB4=n CONFIG_DEV_DAX_HMEM=m CONFIG_DEV_DAX_KMEM=m CONFIG_NVMEM_SYSFS=y CONFIG_STM_PROTO_BASIC=n CONFIG_STM_PROTO_SYS_T=n CONFIG_TEE=n CONFIG_INTERCONNECT=n CONFIG_COUNTER=n CONFIG_MOST=n CONFIG_VALIDATE_FS_PARSER=n CONFIG_FS_VERITY=n CONFIG_EXFAT_FS=n CONFIG_PSTORE_ZSTD_COMPRESS=n CONFIG_EROFS_FS=n CONFIG_NFS_DISABLE_UDP_SUPPORT=y CONFIG_SUNRPC_DISABLE_INSECURE_ENCTYPES=n CONFIG_UNICODE=n CONFIG_KEYS_REQUEST_CACHE=n CONFIG_SECURITY_SELINUX_SIDTAB_HASH_BITS=9 CONFIG_SECURITY_SELINUX_SID2STR_CACHE_SIZE=256 CONFIG_SECURITY_SAFESETID=n CONFIG_SECURITY_LOCKDOWN_LSM=n CONFIG_IMA_ARCH_POLICY=n CONFIG_IMA_APPRAISE_BUILD_POLICY=n CONFIG_IMA_APPRAISE_MODSIG=n CONFIG_LSM="lockdown,yama,loadpin,safesetid,integrity,selinux,smack,tomoyo,apparmor,bpf" CONFIG_INIT_STACK_NONE=y CONFIG_INIT_ON_ALLOC_DEFAULT_ON=n CONFIG_INIT_ON_FREE_DEFAULT_ON=n CONFIG_CRYPTO_MANAGER_EXTRA_TESTS=n CONFIG_CRYPTO_ECRDSA=n CONFIG_CRYPTO_CURVE25519=n CONFIG_CRYPTO_CURVE25519_X86=n CONFIG_CRYPTO_OFB=n CONFIG_CRYPTO_NHPOLY1305_SSE2=n CONFIG_CRYPTO_NHPOLY1305_AVX2=n CONFIG_CRYPTO_ADIANTUM=n CONFIG_CRYPTO_ESSIV=m CONFIG_CRYPTO_XXHASH=n CONFIG_CRYPTO_BLAKE2B=n CONFIG_CRYPTO_BLAKE2S=n CONFIG_CRYPTO_BLAKE2S_X86=n CONFIG_CRYPTO_STREEBOG=n CONFIG_CRYPTO_STATS=n CONFIG_CRYPTO_LIB_BLAKE2S=n CONFIG_CRYPTO_LIB_CHACHA=n CONFIG_CRYPTO_LIB_CURVE25519=n CONFIG_CRYPTO_LIB_POLY1305=n CONFIG_CRYPTO_LIB_CHACHA20POLY1305=n CONFIG_CRYPTO_DEV_ATMEL_ECC=n CONFIG_CRYPTO_DEV_ATMEL_SHA204A=n CONFIG_CRYPTO_DEV_CCP_DEBUGFS=n CONFIG_CHELSIO_TLS_DEVICE=y CONFIG_CRYPTO_DEV_SAFEXCEL=n CONFIG_CRYPTO_DEV_AMLOGIC_GXL=n CONFIG_ASYMMETRIC_TPM_KEY_SUBTYPE=n CONFIG_PKCS8_PRIVATE_KEY_PARSER=n CONFIG_PACKING=n CONFIG_CRC64=n CONFIG_SYMBOLIC_ERRNAME=y CONFIG_HEADERS_INSTALL=n CONFIG_MAGIC_SYSRQ_SERIAL_SEQUENCE="" CONFIG_DEBUG_MISC=y CONFIG_PTDUMP_DEBUGFS=n CONFIG_TEST_LOCKUP=n CONFIG_DEBUG_PLIST=n CONFIG_BOOTTIME_TRACING=n CONFIG_KPROBE_EVENTS_ON_NOTRACE=n CONFIG_TRACE_EVENT_INJECT=n CONFIG_PREEMPTIRQ_DELAY_TEST=n CONFIG_SYNTH_EVENT_GEN_TEST=n CONFIG_KPROBE_EVENT_GEN_TEST=n CONFIG_KUNIT=n CONFIG_TEST_MIN_HEAP=n CONFIG_REED_SOLOMON_TEST=n CONFIG_TEST_STRSCPY=n CONFIG_TEST_BITFIELD=n CONFIG_TEST_VMALLOC=n CONFIG_TEST_BLACKHOLE_DEV=n CONFIG_TEST_MEMCAT_P=n CONFIG_TEST_STACKINIT=n CONFIG_TEST_MEMINIT=n CONFIG_HYPERV_TESTING=n
既存コンフィグを引き継ぎつつ、新たな設定はすべてデフォルト値にする場合、olddefconfigというのもあります。
[root@centos8test linux-5.7.10]# make olddefconfig scripts/kconfig/conf --olddefconfig Kconfig # # using defaults found in /boot/config-4.18.0-193.el8.x86_64 # /boot/config-4.18.0-193.el8.x86_64:1089:warning: symbol value 'm' invalid for NF_CT_PROTO_GRE /boot/config-4.18.0-193.el8.x86_64:2949:warning: symbol value 'm' invalid for ISDN_CAPI # # configuration written to .config # [root@centos8test linux-5.7.10]# ls -a . .get_maintainer.ignore CREDITS MAINTAINERS certs init net tools .. .gitattributes Documentation Makefile crypto ipc samples usr .clang-format .gitignore Kbuild README drivers kernel scripts virt .cocciconfig .mailmap Kconfig arch fs lib security .config COPYING LICENSES block include mm sound
生成されたコンフィグ(.config)を見て、自身が利用したい機能が有効となっているか、不要な設定が無効になっているか確認しておきます。
とりあえずカーネル再構築を試すだけということであれば、無理に変更等する必要がないですが。
ファイル全体は、こちら。
[root@centos8test linux-5.7.10]# cat -n .config 1 # 2 # Automatically generated file; DO NOT EDIT. 3 # Linux/x86 5.7.10 Kernel Configuration 4 # 5 6 # 7 # Compiler: gcc (GCC) 8.3.1 20191121 (Red Hat 8.3.1-5) 8 # 9 CONFIG_CC_IS_GCC=y 10 CONFIG_GCC_VERSION=80301 11 CONFIG_LD_VERSION=230000000 12 CONFIG_CLANG_VERSION=0 13 CONFIG_CC_CAN_LINK=y 14 CONFIG_CC_HAS_ASM_GOTO=y 15 CONFIG_CC_HAS_ASM_INLINE=y 16 CONFIG_IRQ_WORK=y 17 CONFIG_BUILDTIME_TABLE_SORT=y 18 CONFIG_THREAD_INFO_IN_TASK=y 19 20 # 21 # General setup 22 # 23 CONFIG_INIT_ENV_ARG_LIMIT=32 24 # CONFIG_COMPILE_TEST is not set 25 CONFIG_LOCALVERSION="" 26 # CONFIG_LOCALVERSION_AUTO is not set 27 CONFIG_BUILD_SALT="" 28 CONFIG_HAVE_KERNEL_GZIP=y 29 CONFIG_HAVE_KERNEL_BZIP2=y . . 省略 . . 8173 CONFIG_TEST_BPF=m 8174 # CONFIG_TEST_BLACKHOLE_DEV is not set 8175 # CONFIG_FIND_BIT_BENCHMARK is not set 8176 # CONFIG_TEST_FIRMWARE is not set 8177 # CONFIG_TEST_SYSCTL is not set 8178 # CONFIG_TEST_UDELAY is not set 8179 # CONFIG_TEST_STATIC_KEYS is not set 8180 # CONFIG_TEST_KMOD is not set 8181 # CONFIG_TEST_MEMCAT_P is not set 8182 CONFIG_TEST_LIVEPATCH=m 8183 # CONFIG_TEST_OBJAGG is not set 8184 # CONFIG_TEST_STACKINIT is not set 8185 # CONFIG_TEST_MEMINIT is not set 8186 # CONFIG_MEMTEST is not set 8187 # CONFIG_HYPERV_TESTING is not set 8188 # end of Kernel Testing and Coverage 8189 # end of Kernel hacking
カーネルに組み込む機能(yes/noで選択したもの)をコンパイルします。
環境の違いによって、途中でエラーとなる場合がありますが、
メッセージに従って不足しているパッケージをインストールしたり、パラメータを変更などして対応します。
make bzImage
全体のログはこちら。
[root@centos8test linux-5.7.10]# make bzImage SYSTBL arch/x86/include/generated/asm/syscalls_32.h SYSHDR arch/x86/include/generated/asm/unistd_32_ia32.h SYSHDR arch/x86/include/generated/asm/unistd_64_x32.h SYSTBL arch/x86/include/generated/asm/syscalls_64.h HYPERCALLS arch/x86/include/generated/asm/xen-hypercalls.h SYSHDR arch/x86/include/generated/uapi/asm/unistd_32.h SYSHDR arch/x86/include/generated/uapi/asm/unistd_64.h SYSHDR arch/x86/include/generated/uapi/asm/unistd_x32.h HOSTCC arch/x86/tools/relocs_32.o . . 省略 . . scripts/kconfig/conf --syncconfig Kconfig CALL scripts/checksyscalls.sh CALL scripts/atomic/check-atomics.sh DESCEND objtool CHK include/generated/compile.h LDS arch/x86/kernel/vmlinux.lds CC kernel/bpf/verifier.o AR kernel/bpf/built-in.a AR kernel/built-in.a GEN .version CHK include/generated/compile.h UPD include/generated/compile.h CC init/version.o AR init/built-in.a LD vmlinux.o MODPOST vmlinux.o MODINFO modules.builtin.modinfo GEN modules.builtin LD .tmp_vmlinux.kallsyms1 KSYM .tmp_vmlinux.kallsyms1.o LD .tmp_vmlinux.kallsyms2 KSYM .tmp_vmlinux.kallsyms2.o LD vmlinux SORTTAB vmlinux SYSMAP System.map HOSTCC arch/x86/tools/insn_decoder_test HOSTCC arch/x86/tools/insn_sanity TEST posttest arch/x86/tools/insn_decoder_test: success: Decoded and checked 5439878 instructions TEST posttest arch/x86/tools/insn_sanity: Success: decoded and checked 1000000 random instructions with 0 errors (seed:0xe40608f9) CC arch/x86/boot/a20.o AS arch/x86/boot/bioscall.o CC arch/x86/boot/cmdline.o AS arch/x86/boot/copy.o HOSTCC arch/x86/boot/mkcpustr CPUSTR arch/x86/boot/cpustr.h CC arch/x86/boot/cpu.o CC arch/x86/boot/cpuflags.o CC arch/x86/boot/cpucheck.o CC arch/x86/boot/early_serial_console.o CC arch/x86/boot/edd.o LDS arch/x86/boot/compressed/vmlinux.lds AS arch/x86/boot/compressed/kernel_info.o AS arch/x86/boot/compressed/head_64.o VOFFSET arch/x86/boot/compressed/../voffset.h CC arch/x86/boot/compressed/misc.o CC arch/x86/boot/compressed/string.o CC arch/x86/boot/compressed/cmdline.o CC arch/x86/boot/compressed/error.o OBJCOPY arch/x86/boot/compressed/vmlinux.bin RELOCS arch/x86/boot/compressed/vmlinux.relocs GZIP arch/x86/boot/compressed/vmlinux.bin.gz HOSTCC arch/x86/boot/compressed/mkpiggy MKPIGGY arch/x86/boot/compressed/piggy.S AS arch/x86/boot/compressed/piggy.o CC arch/x86/boot/compressed/cpuflags.o CC arch/x86/boot/compressed/early_serial_console.o CC arch/x86/boot/compressed/kaslr.o CC arch/x86/boot/compressed/kaslr_64.o AS arch/x86/boot/compressed/mem_encrypt.o CC arch/x86/boot/compressed/pgtable_64.o CC arch/x86/boot/compressed/acpi.o AS arch/x86/boot/compressed/efi_thunk_64.o LD arch/x86/boot/compressed/vmlinux ZOFFSET arch/x86/boot/zoffset.h AS arch/x86/boot/header.o CC arch/x86/boot/main.o CC arch/x86/boot/memory.o CC arch/x86/boot/pm.o AS arch/x86/boot/pmjump.o CC arch/x86/boot/printf.o CC arch/x86/boot/regs.o CC arch/x86/boot/string.o CC arch/x86/boot/tty.o CC arch/x86/boot/video.o CC arch/x86/boot/video-mode.o CC arch/x86/boot/version.o CC arch/x86/boot/video-vga.o CC arch/x86/boot/video-vesa.o CC arch/x86/boot/video-bios.o LD arch/x86/boot/setup.elf OBJCOPY arch/x86/boot/setup.bin OBJCOPY arch/x86/boot/vmlinux.bin HOSTCC arch/x86/boot/tools/build BUILD arch/x86/boot/bzImage Setup is 15068 bytes (padded to 15360 bytes). System is 8328 kB CRC da731b84 Kernel: arch/x86/boot/bzImage is ready (#2)
コンフィグ(.config)でm(モジュールとして利用する)を選択したものを、コンパイルします。
make modules
ログ全体は、こちら。
[root@centos8test linux-5.7.10]# make modules CALL scripts/checksyscalls.sh CALL scripts/atomic/check-atomics.sh DESCEND objtool CHK include/generated/compile.h CC [M] arch/x86/events/amd/power.o CC [M] arch/x86/events/intel/uncore.o CC [M] arch/x86/events/intel/uncore_nhmex.o CC [M] arch/x86/events/intel/uncore_snb.o CC [M] arch/x86/events/intel/uncore_snbep.o LD [M] arch/x86/events/intel/intel-uncore.o CC [M] arch/x86/events/intel/cstate.o LD [M] arch/x86/events/intel/intel-cstate.o CC [M] arch/x86/events/rapl.o CC [M] arch/x86/kernel/cpu/mce/inject.o LD [M] arch/x86/kernel/cpu/mce/mce-inject.o AS [M] arch/x86/crypto/twofish-x86_64-asm_64.o CC [M] arch/x86/crypto/twofish_glue.o LD [M] arch/x86/crypto/twofish-x86_64.o . . 省略 . . CC [M] sound/usb/misc/snd-ua101.mod.o LD [M] sound/usb/misc/snd-ua101.ko CC [M] sound/usb/snd-usb-audio.mod.o LD [M] sound/usb/snd-usb-audio.ko CC [M] sound/usb/snd-usbmidi-lib.mod.o LD [M] sound/usb/snd-usbmidi-lib.ko CC [M] sound/usb/usx2y/snd-usb-us122l.mod.o LD [M] sound/usb/usx2y/snd-usb-us122l.ko CC [M] sound/usb/usx2y/snd-usb-usx2y.mod.o LD [M] sound/usb/usx2y/snd-usb-usx2y.ko CC [M] sound/x86/snd-hdmi-lpe-audio.mod.o LD [M] sound/x86/snd-hdmi-lpe-audio.ko CC [M] sound/xen/snd_xen_front.mod.o LD [M] sound/xen/snd_xen_front.ko CC [M] virt/lib/irqbypass.mod.o LD [M] virt/lib/irqbypass.ko
コンパイルしたモジュールのインストール。
make modules_install
ログ全体は、こちら。
[root@centos8test linux-5.7.10]# make modules_install INSTALL arch/x86/crypto/blowfish-x86_64.ko INSTALL arch/x86/crypto/camellia-aesni-avx-x86_64.ko INSTALL arch/x86/crypto/camellia-aesni-avx2.ko INSTALL arch/x86/crypto/camellia-x86_64.ko INSTALL arch/x86/crypto/cast5-avx-x86_64.ko INSTALL arch/x86/crypto/cast6-avx-x86_64.ko INSTALL arch/x86/crypto/chacha-x86_64.ko INSTALL arch/x86/crypto/crc32-pclmul.ko INSTALL arch/x86/crypto/crc32c-intel.ko INSTALL arch/x86/crypto/crct10dif-pclmul.ko INSTALL arch/x86/crypto/des3_ede-x86_64.ko INSTALL arch/x86/crypto/ghash-clmulni-intel.ko INSTALL arch/x86/crypto/poly1305-x86_64.ko INSTALL arch/x86/crypto/serpent-avx-x86_64.ko INSTALL arch/x86/crypto/serpent-avx2.ko INSTALL arch/x86/crypto/serpent-sse2-x86_64.ko INSTALL arch/x86/crypto/sha512-ssse3.ko . . 省略 . . INSTALL sound/usb/hiface/snd-usb-hiface.ko INSTALL sound/usb/line6/snd-usb-line6.ko INSTALL sound/usb/line6/snd-usb-pod.ko INSTALL sound/usb/line6/snd-usb-podhd.ko INSTALL sound/usb/line6/snd-usb-toneport.ko INSTALL sound/usb/line6/snd-usb-variax.ko INSTALL sound/usb/misc/snd-ua101.ko INSTALL sound/usb/snd-usb-audio.ko INSTALL sound/usb/snd-usbmidi-lib.ko INSTALL sound/usb/usx2y/snd-usb-us122l.ko INSTALL sound/usb/usx2y/snd-usb-usx2y.ko INSTALL sound/x86/snd-hdmi-lpe-audio.ko INSTALL sound/xen/snd_xen_front.ko INSTALL virt/lib/irqbypass.ko DEPMOD 5.7.10
make bzImageでコンパイルしたカーネル組み込み機能のインストール。
make install
[root@centos8test linux-5.7.10]# make install sh ./arch/x86/boot/install.sh 5.7.10 arch/x86/boot/bzImage \ System.map "/boot"
新しいカーネルがデフォルト起動用に変更されたことを、/bootディレクトリで確認します。
vmlinuzやSystem.map/initramfsが5.7.10用に作成されています。
また、vmlinuzのシンボリックリンクも5.7.10に向いていることが分かります。
それが確認できたら再起動して、5.7.10で無事に起動できればOK。
[root@centos8test ~]# cd /boot/ [root@centos8test boot]# ls -l 合計 210472 lrwxrwxrwx. 1 root root 23 7月 24 10:08 System.map -> /boot/System.map-5.7.10 -rw-------. 1 root root 3909996 5月 8 20:07 System.map-4.18.0-193.el8.x86_64 -rw-r--r--. 1 root root 4600996 7月 24 10:08 System.map-5.7.10 -rw-r--r--. 1 root root 187648 5月 8 20:07 config-4.18.0-193.el8.x86_64 drwxr-xr-x. 3 root root 4096 7月 23 11:14 efi drwx------. 4 root root 4096 7月 23 11:17 grub2 -rw-------. 1 root root 54334239 7月 23 11:16 initramfs-0-rescue-ab3015baa6bb48818a10a264e966f18c.img -rw-------. 1 root root 29419458 7月 23 11:18 initramfs-4.18.0-193.el8.x86_64.img -rw-------. 1 root root 19588423 7月 23 11:24 initramfs-4.18.0-193.el8.x86_64kdump.img -rw-------. 1 root root 77062114 7月 24 10:09 initramfs-5.7.10.img drwxr-xr-x. 3 root root 4096 7月 23 11:15 loader drwx------. 2 root root 16384 7月 23 11:13 lost+found lrwxrwxrwx. 1 root root 20 7月 24 10:08 vmlinuz -> /boot/vmlinuz-5.7.10 -rwxr-xr-x. 1 root root 8913656 7月 23 11:16 vmlinuz-0-rescue-ab3015baa6bb48818a10a264e966f18c -rwxr-xr-x. 1 root root 8913656 5月 8 20:07 vmlinuz-4.18.0-193.el8.x86_64 -rw-r--r--. 1 root root 8542464 7月 24 10:08 vmlinuz-5.7.10 [root@centos8test boot]# reboot
起動時のGRUBメニューには、ちゃんと5.7.10が出てきます。
起動ログを見つつ起動・ログインできたら、カーネルバージョンを確認します。
無事に5.7.10になりました。
なお、起動出来ずに「kernel panic」となった場合は、旧カーネルで起動して作業のやり直しとなります。
また、コンパイルした機能が一部エラーとなって起動した場合も同様です。
[root@centos8test ~]# cat /etc/centos-release CentOS Linux release 8.2.2004 (Core) [root@centos8test ~]# uname -r 5.7.10 [root@centos8test ~]# uname -a Linux centos8test 5.7.10 #2 SMP Thu Jul 23 23:00:48 JST 2020 x86_64 x86_64 x86_64 GNU/Linux
今回はマシンパワーがないVMで実施したので、make bzImage/make modulesがそれぞれ一時間程度かかりました。
カーネルの再構築では、PCのリソースって重要ねってことも身をもって学ぶことができますw
少し前の記事でLinus TorvaldsがメインPCをアップグレードして、「meke allmodconfig」の実施が3倍になったとありましたが、なんとなくわかる気がしてきましたw
リソース大事。。。
https://lkml.org/lkml/2020/5/24/407
https://pc.watch.impress.co.jp/docs/news/yajiuma/1255074.html