主題2.01:システムの起動とLinuxカーネル(13)

2.01.1 ブートプロセスとGRUB

重要度:☆☆☆☆(4)

概要

  • ブートプロセス中およびリカバリモードのLinuxシステムを適切に操作する。関連するブートローダはGRUB バージョン2 である。BIOS と UEFI のシステム両方をカバーする。

詳細

  • BIOS と UEFI
    • Master Boot Record (MBR)
    • EFI System Partition (ESP), efibootmgr, UEFI shell
  • ブートローダの標準的なオプションの変更とブートローダのシェル(コマンドライン)の使用。
  • ブートローダの開始とカーネルへの引継ぎ。
  • GRUB の起動メニューを生成する。
    • grub-mkconfig, grub2-mkconfig
  • カーネルローダブルモジュールのロード。
    • initrd, initramfs
  • ハードウェアの初期化と設定。
    • デバイス、モジュール
  • ファイルシステムのチェックとマウント。
  • デーモン / サービスの初期化と設定。
    • systemctl, systemd.unit
  • ハードディスクまたはリムーバルデバイスにおけるブートローダのインストール場所を知っている。
  • grub-install, grub2-install
    • /boot/, /boot/grub/,/boot/grub2/ および /boot/efi/ の内容

2.01.2 システム起動のカスタマイズ

重要度:☆☆(2)

概要

  • さまざまなターゲットのシステムサービスの動作を照会および変更する。systemd と Linux のブートプロセスについての十分な理解が必要である。これには、systemd ターゲットの操作も含まれる。

詳細

  • systemd
    • /usr/lib/systemd/, /etc/systemd/, /run/systemd/, systemctl, systemd-delta
    • systemctl status,systemctl list-units,systemctl start/stop,systemctl enable/disable,systemctl mask/unmask
  • systemd のrescue モードemergency モード

2.01.3 Linux カーネルの構成要素

重要度:☆☆(2)

概要

  • 特定のハードウェア、ハードウェアドライバ、システムリソース、およびさまざまな要求に必要となるカーネルの構成要素を利用する。これには、異なる種類のカーネルイメージを実装すること、安定版および開発版のカーネルとパッチを区別すること、カーネルモジュールを利用することなども含まれる。

詳細

  • Kernel の配布形式。
    • bzImage , xz データ圧縮
  • Kernelのモジュールとドキュメント。
    • /usr/src/linux/
    • /usr/src/linux/Documentation/

2.01.4 Linuxカーネルのコンパイル

重要度:☆☆(2)

概要

  • Linuxカーネルの特定の機能を必要に応じて取り込んだり無効化するために、カーネルを適切に構成できる。また、必要に応じてLinuxカーネルをコンパイルし、新しいカーネルに変更点を書き込み、initrdイメージを作成し、新しいカーネルをインストールできる。

詳細

  • /usr/src/linux/
    • /usr/src/linux/.config
  • カーネルの Makefile
  • Kernel 2.6.x、3.x、4.x、5.x のmakeのターゲット。
    • all, config, xconfig, menuconfig, gconfig, oldconfig, mrproper, bzImage, modules, modules_install, rpm-pkg, binrpm-pkg, deb-pkg
  • カーネル構成をカスタマイズする。
  • 新しいカーネルおよび適切なカーネルモジュールを構築する。
    • /lib/modules/kernel-version/, gzip, bzip2
  • 新しいカーネルおよび必要なモジュールをインストールする。
    • module tools, depmod
  • ブートマネージャが新しいカーネルおよび関連付けられたファイルを探せるようにする。
  • モジュールの構成ファイル
  • DKMS を使用してカーネルのモジュールをコンパイルする。
    • dkms
  • initrd を構成する。
    • Dracut,mkinitrd, mkinitramfs

2.01.5 カーネル実行時における管理とトラブルシューティング

重要度:☆☆☆(3)

概要

2.6.x、3.x、4.x、5.x カーネルとそのロード可能なモジュールについての管理や照会ができる。ブートおよび実行時の一般的な問題を特定および修正することができる。udevを使用したデバイスの検知と管理について理解する。これには、udevルールのトラブルシューティングが含まれる。

詳細

  • コマンドラインユーティリティを使用して、現在実行中のカーネルおよびカーネルモジュールに関する情報を取得する。
    • depmod, modinfo
  • 手作業でカーネルモジュールをロードおよびアンロードする。
    • modprobe, insmod, lsmod, rmmod
  • モジュールをアンロードできるタイミングを判断する。
  • モジュールが受け取るパラメータを判断する。
    • /etc/modprobe.d/
  • カーネルのバージョンを確認する。
    • uname
    • /lib/modules/kernel-version/modules.dep
  • モジュールをファイル名ではなく別の名前でロードできるようにシステムを設定する。
  • /proc ファイルシステム
    • /proc/sys/kernel/
    • /etc/sysctl.conf, /etc/sysctl.d/, /sbin/sysctl
  • /sys ファイルシステム (sysfs)
  • /bootおよび /lib/modules の内容
  • 利用可能なハードウェアに関する情報を分析するツール
    • dmesg, lspci, lsdev, lsusb, journalctl
  • udevルール
    • udevmonitor, udevadm monitor, /etc/udev/
    • /etc内のモジュール設定ファイル
  • カーネルダンプを取得する。設定は含まない。
    • kdump, kexec

関連リンク