Strawberry Group | Topic Three, Byte Part

T3, Byte Part ( 1 )

SELECTING THE BOOT TARGET

DESCRIBING THE RED HAT ENTERPRISE LINUX 8 BOOT PROCESS

1.

The machine is powered on. System frimware run POST (Power on Self Test) and intialize some of the hardware.

( configure system BIOs or UEFI by Pressing F2 )

———————————

เฆธเฆฟเฆธเงเฆŸเง‡เฆฎ เฆซเฆพเฆฐเงเฆฎเฆ“เฆฏเฆผเงเฆฏเฆพเฆฐ เฆ†เฆธเฆฒเง‡ เฆฆเง‡เฆ–เฆคเง‡ เฆ•เง‡เฆฎเฆจ ?

เฆฆเง‡เฆ–เฆคเง‡ เฆ•เง‡เฆฎเฆจ เฆนเฆฌเง‡ เฆคเฆพ เฆจเฆฟเฆฐเงเฆญเฆฐ เฆ•เฆฐเง‡ เฆ†เฆชเฆจเฆฟ เฆเฆŸเฆฟ เฆ•เง‹เฆฅเฆพเฆฏเฆผ เฆฆเง‡เฆ–เฆ›เง‡เฆจเฅค เฆเฆฐ เฆฎเง‚เฆฒเฆค เฆฆเงเฆŸเฆฟ เฆฐเง‚เฆช เฆฐเงŸเง‡เฆ›เง‡:

  • เฆ‡เฆจเงเฆŸเฆพเฆฐเฆซเง‡เฆธ เฆฌเฆพ เฆธเงเฆ•เงเฆฐเฆฟเฆจเง‡ เฆฏเง‡เฆฎเฆจ เฆฆเง‡เฆ–เฆพเฆฏเฆผ (BIOS/UEFI)
  • เฆนเฆพเฆฐเงเฆกเฆ“เฆฏเฆผเงเฆฏเฆพเฆฐเง‡ เฆฏเง‡เฆฎเฆจ เฆฆเง‡เฆ–เฆพเฆฏเฆผ (BIOS Chip)

2.

เฆธเฆฟเฆธเงเฆŸเง‡เฆฎ เฆซเฆพเฆฐเงเฆฎเฆ“เฆฏเฆผเงเฆฏเฆพเฆฐ เฆเฆ•เฆŸเฆฟ bootable เฆกเฆฟเฆญเฆพเฆ‡เฆธ เฆ–เงเฆเฆœเง‡ เฆฌเง‡เฆฐ เฆ•เฆฐเง‡, เฆฏเฆพ เฆนเฆฏเฆผเฆคเง‹ UEFI เฆฌเงเฆŸ เฆซเฆพเฆฐเงเฆฎเฆ“เฆฏเฆผเงเฆฏเฆพเฆฐเง‡ เฆ•เฆจเฆซเฆฟเฆ—เฆพเฆฐ เฆ•เฆฐเฆพ เฆฅเฆพเฆ•เง‡ เฆ…เฆฅเฆฌเฆพ BIOS-เฆ เฆจเฆฟเฆฐเงเฆงเฆพเฆฐเฆฟเฆค serial เฆ…เฆจเงเฆธเฆพเฆฐเง‡ เฆธเฆฌ เฆกเฆฟเฆธเงเฆ•เง‡ Master Boot Record (MBR) เฆ–เงเฆเฆœเง‡ เฆฆเง‡เฆ–เง‡เฅค

—————————————–

เฆฌเฆพเฆธเงเฆคเฆฌ เฆ‰เฆฆเฆพเฆนเฆฐเฆฃ:

เฆงเฆฐเงเฆจ, เฆ†เฆชเฆจเฆพเฆฐ เฆ•เฆฎเงเฆชเฆฟเฆ‰เฆŸเฆพเฆฐเง‡ เฆคเฆฟเฆจเฆŸเฆฟ เฆธเงเฆŸเง‹เฆฐเง‡เฆœ เฆกเฆฟเฆญเฆพเฆ‡เฆธ เฆฐเฆฏเฆผเง‡เฆ›เง‡:

  • เฆเฆ•เฆŸเฆฟ SSD (เฆฏเง‡เฆ–เฆพเฆจเง‡ เฆ‰เฆ‡เฆจเงเฆกเง‹เฆœ เฆ‡เฆจเงเฆธเฆŸเฆฒ เฆ•เฆฐเฆพ เฆ†เฆ›เง‡)
  • เฆเฆ•เฆŸเฆฟ เฆนเฆพเฆฐเงเฆกเฆกเฆฟเฆธเงเฆ• (เฆกเง‡เฆŸเฆพ เฆธเงเฆŸเง‹เฆฐเง‡เฆœเง‡เฆฐ เฆœเฆจเงเฆฏ)
  • เฆเฆ•เฆŸเฆฟ USB เฆซเงเฆฒเงเฆฏเฆพเฆถ เฆกเงเฆฐเฆพเฆ‡เฆญ

เฆ†เฆชเฆจเฆฟ BIOS-เฆ เฆฌเงเฆŸ เฆ…เฆฐเงเฆกเฆพเฆฐ เฆเฆญเฆพเฆฌเง‡ เฆธเง‡เฆŸ เฆ•เฆฐเง‡เฆ›เง‡เฆจ:

  • USB เฆกเงเฆฐเฆพเฆ‡เฆญ,
  • SSD
  • เฆนเฆพเฆฐเงเฆกเฆกเฆฟเฆธเงเฆ•

เฆเฆ–เฆจ เฆ•เฆฎเงเฆชเฆฟเฆ‰เฆŸเฆพเฆฐ เฆšเฆพเฆฒเง เฆนเฆฒเง‡, เฆซเฆพเฆฐเงเฆฎเฆ“เฆฏเฆผเงเฆฏเฆพเฆฐ เฆชเงเฆฐเฆฅเฆฎเง‡ USB เฆกเงเฆฐเฆพเฆ‡เฆญเง‡ bootable เฆซเฆพเฆ‡เฆฒ (UEFI เฆฌเฆพ MBR) เฆ†เฆ›เง‡ เฆ•เฆฟ เฆจเฆพ เฆฆเง‡เฆ–เง‡เฅค

เฆฏเฆฆเฆฟ เฆจเฆพ เฆฅเฆพเฆ•เง‡, เฆคเฆ–เฆจ SSD เฆคเง‡ เฆ–เง‹เฆเฆœเง‡, เฆเฆฌเฆ‚ เฆฏเฆฆเฆฟ เฆธเง‡เฆ–เฆพเฆจเง‡ bootable เฆธเฆฟเฆธเงเฆŸเง‡เฆฎ เฆชเฆพเฆ“เฆฏเฆผเฆพ เฆฏเฆพเฆฏเฆผ, เฆคเฆฌเง‡ เฆธเง‡เฆŸเฆฟ เฆฅเง‡เฆ•เง‡ เฆฌเงเฆŸ เฆนเฆฏเฆผเฅค

เฆเฆ‡ เฆชเฆฆเงเฆงเฆคเฆฟ เฆจเฆฟเฆถเงเฆšเฆฟเฆค เฆ•เฆฐเง‡ เฆฏเง‡, เฆธเฆฟเฆธเงเฆŸเง‡เฆฎ เฆ เฆฟเฆ• เฆ•เง‹เฆจ เฆกเฆฟเฆญเฆพเฆ‡เฆธ เฆฅเง‡เฆ•เง‡ เฆ…เฆชเฆพเฆฐเง‡เฆŸเฆฟเฆ‚ เฆธเฆฟเฆธเงเฆŸเง‡เฆฎ เฆšเฆพเฆฒเง เฆ•เฆฐเฆฌเง‡เฅค

3

เฆธเฆฟเฆธเงเฆŸเง‡เฆฎ เฆซเฆพเฆฐเงเฆฎเฆ“เฆฏเฆผเงเฆฏเฆพเฆฐ, Disk เฆฅเง‡เฆ•เง‡ เฆเฆ•เฆŸเฆฟ boot loader read เฆ•เฆฐเง‡ เฆเฆฌเฆ‚ เฆเฆฐเฆชเฆฐ เฆธเฆฟเฆธเงเฆŸเง‡เฆฎเง‡เฆฐ Control boot loader-เฆŸเฆฟเฆฐ เฆ•เฆพเฆ›เง‡ Pass เฆ•เฆฐเง‡เฅค

Red Hat Enterprise Linux 8 เฆธเฆฟเฆธเงเฆŸเง‡เฆฎเง‡ เฆฌเงเฆฏเฆฌเฆนเงƒเฆค เฆฌเงเฆŸ เฆฒเง‹เฆกเฆพเฆฐ เฆนเฆฒเง‹ GRUB2 (GRand Unified Bootloader version 2)เฅค

—————————-

  • Disk เฆฅเง‡เฆ•เง‡ boot loader เฆฌเฆฒเฆคเง‡ เฆ•เฆฟ เฆฌเงเฆเฆพเฆจ เฆนเงŸเง‡เฆ›เง‡ ?
    • GRUB2 เฆธเฆพเฆงเฆพเฆฐเฆฃเฆค Hard Disk/SSD เฆถเงเฆฐเงเฆฐ เฆ…เฆ‚เฆถเง‡ (boot sector / EFI partition) เฆ‡เฆจเฆธเงเฆŸเฆฒ เฆนเงŸ,
    • เฆฏเฆพเฆคเง‡ เฆ•เฆฎเงเฆชเฆฟเฆ‰เฆŸเฆพเฆฐ เฆšเฆพเฆฒเง เฆนเฆฒเง‡ เฆชเงเฆฐเฆฅเฆฎเง‡ GRUB2 เฆฒเง‹เฆก เฆนเงŸเง‡ เฆชเฆฐเง‡ Linux เฆฌเฆพ เฆ…เฆจเงเฆฏ OS เฆšเฆพเฆฒเง เฆ•เฆฐเฆคเง‡ เฆชเฆพเฆฐเง‡เฅค

4

GRUB2, เฆเฆฐ /boot/grub2/grub.cfg เฆ•เฆจเฆซเฆฟเฆ—เฆพเฆฐเง‡เฆถเฆจ เฆซเฆพเฆ‡เฆฒเฆŸเฆฟ เฆฅเง‡เฆ•เง‡ เฆฒเง‹เฆก เฆนเงŸ เฆเฆฌเฆ‚ เฆเฆ•เฆŸเฆฟ เฆฎเง‡เฆจเง เฆชเงเฆฐเฆฆเฆฐเงเฆถเฆจ เฆ•เฆฐเง‡, เฆฏเง‡เฆ–เฆพเฆจเง‡ เฆ†เฆชเฆจเฆฟ เฆ•เง‹เฆจ KERNEL เฆฌเงเฆŸ เฆ•เฆฐเฆฌเง‡เฆจ เฆคเฆพ เฆจเฆฟเฆฐเงเฆฌเฆพเฆšเฆจ เฆ•เฆฐเฆคเง‡ เฆชเฆพเฆฐเฆฌเง‡เฆจเฅค

  • เฆเฆ‡ Main Configuration File-เฆŸเฆฟ เฆœเง‡เฆจเฆพเฆฐเง‡เฆŸ เฆ•เฆฐเง‡,
    • Directory: /etc/grub.d/
    • File: /etc/default/grub
    • Command: grub2-mkconfig เฆฌเงเฆฏเฆฌเฆนเฆพเฆฐ เฆ•เฆฐเง‡เฅค

5

เฆฏเฆ–เฆจ เฆเฆ•เฆŸเฆฟ KERNEL เฆจเฆฟเฆฐเงเฆฌเฆพเฆšเฆจ เฆ•เฆฐเฆพ เฆนเงŸ เฆฌเฆพ timeout expire เฆนเฆฏเฆผเง‡ เฆฏเฆพเฆฏเฆผ, เฆคเฆ–เฆจ เฆฌเงเฆŸ เฆฒเง‹เฆกเฆพเฆฐ (GRUB2) เฆจเฆฟเฆšเง‡เฆฐ เฆฆเงเฆ‡เฆŸเฆฟ เฆœเฆฟเฆจเฆฟเฆธ disk เฆฅเง‡เฆ•เง‡ memory-เฆคเง‡ เฆฒเง‹เฆก เฆ•เฆฐเง‡:

  • Kernel
  • initramfs

initramfs เฆนเฆฒเง‹ เฆเฆ•เฆŸเฆฟ เฆ†เฆฐเงเฆ•เฆพเฆ‡เฆญ file, เฆฏเง‡เฆ–เฆพเฆจเง‡ เฆฌเงเฆŸเง‡เฆฐ เฆœเฆจเงเฆฏ เฆชเงเฆฐเฆฏเฆผเง‹เฆœเฆจเง€เฆฏเฆผ เฆธเฆ•เฆฒ เฆนเฆพเฆฐเงเฆกเฆ“เฆฏเฆผเงเฆฏเฆพเฆฐ เฆกเงเฆฐเฆพเฆ‡เฆญเฆพเฆฐ (kernel modules), initialization scripts, เฆเฆฌเฆ‚ เฆ…เฆจเงเฆฏเฆพเฆจเงเฆฏ เฆ—เงเฆฐเงเฆคเงเฆฌเฆชเง‚เฆฐเงเฆฃ เฆซเฆพเฆ‡เฆฒ เฆฅเฆพเฆ•เง‡เฅค

Red Hat Enterprise Linux 8-เฆ, initramfs เฆจเฆฟเฆœเง‡เฆ‡ เฆเฆ•เฆŸเฆฟ เฆชเง‚เฆฐเงเฆฃเฆพเฆ™เงเฆ— เฆฌเงเฆฏเฆฌเฆนเฆพเฆฐเฆฏเง‹เฆ—เงเฆฏ เฆธเฆฟเฆธเงเฆŸเง‡เฆฎ เฆงเฆพเฆฐเฆฃ เฆ•เฆฐเง‡เฅค

  • เฆเฆ‡ initramfs เฆซเฆพเฆ‡เฆฒเฆŸเฆฟ เฆ•เฆจเฆซเฆฟเฆ—เฆพเฆฐ เฆ•เฆฐเฆพ เฆฏเฆพเฆฏเฆผ เฆจเฆฟเฆšเง‡เฆฐ เฆ‰เฆชเฆพเฆฏเฆผเง‡:
    • Directory: /etc/dracut.conf.d/ เฆเฆฐ เฆ•เฆจเฆซเฆฟเฆ—เฆพเฆฐเง‡เฆถเฆจ เฆซเฆพเฆ‡เฆฒ เฆ“
    • Command: dracut เฆฌเงเฆฏเฆฌเฆนเฆพเฆฐ เฆ•เฆฐเง‡เฅค

เฆ…เฆจเงเฆฏเฆฆเฆฟเฆ•เง‡,

  • Command: lsinitrd เฆฌเงเฆฏเฆฌเฆนเฆพเฆฐ เฆ•เฆฐเฆพ เฆนเงŸ initramfs file เฆเฆฐ เฆญเฆฟเฆคเฆฐเง‡เฆฐ เฆ•เฆจเฆŸเง‡เฆจเงเฆŸ เฆฆเง‡เฆ–เฆคเง‡ เฆฌเฆพ เฆซเฆพเฆ‡เฆฒเฆŸเฆฟเฆ•เง‡ inspect เฆ•เฆฐเฆคเง‡เฅค

———————————————

เฆธเฆนเฆœเฆญเฆพเฆฌเง‡ เฆฌเงเฆฏเฆพเฆ–เงเฆฏเฆพ:

  • KERNEL เฆจเฆฟเฆฐเงเฆฌเฆพเฆšเฆจ เฆฌเฆพ เฆŸเฆพเฆ‡เฆฎเฆ†เฆ‰เฆŸ เฆนเฆ“เฆฏเฆผเฆพ
    • เฆฏเฆ–เฆจ เฆ•เฆฎเงเฆชเฆฟเฆ‰เฆŸเฆพเฆฐ เฆšเฆพเฆฒเง เฆนเฆฏเฆผ, เฆคเฆ–เฆจ เฆ—เงเฆฐเฆพเฆฌ (GRUB) เฆฌเฆพ เฆ…เฆจเงเฆฏ เฆ•เง‹เฆจเง‹ boot loader เฆ†เฆชเฆจเฆพเฆ•เง‡ เฆฒเฆฟเฆจเฆพเฆ•เงเฆธ เฆšเฆพเฆฒเง เฆ•เฆฐเฆพเฆฐ เฆœเฆจเงเฆฏ เฆเฆ•เฆŸเฆฟ kernel เฆจเฆฟเฆฐเงเฆฌเฆพเฆšเฆจ เฆ•เฆฐเฆคเง‡ เฆฆเง‡เฆฏเฆผเฅค
    • เฆฏเฆฆเฆฟ เฆ†เฆชเฆจเฆฟ เฆ•เฆฟเฆ›เง เฆจเฆพ เฆ•เฆฐเง‡เฆจ, เฆคเฆพเฆนเฆฒเง‡ เฆเฆ•เฆŸเฆฟ เฆจเฆฟเฆฐเงเฆฆเฆฟเฆทเงเฆŸ เฆธเฆฎเฆฏเฆผ เฆชเฆฐ (เฆŸเฆพเฆ‡เฆฎเฆ†เฆ‰เฆŸ) เฆธเงเฆฌเฆฏเฆผเฆ‚เฆ•เงเฆฐเฆฟเฆฏเฆผเฆญเฆพเฆฌเง‡ เฆกเฆฟเฆซเฆฒเงเฆŸ kernel เฆจเฆฟเฆฐเงเฆฌเฆพเฆšเฆจ เฆนเฆฏเฆผเฅค

  • เฆกเฆฟเฆธเงเฆ• เฆฅเง‡เฆ•เง‡ เฆฒเง‹เฆก เฆ•เฆฐเฆพ
    • Selected kernel เฆเฆฌเฆ‚ initramfs (initial RAM file system) เฆฅเฆพเฆ•เง‡ เฆนเฆพเฆฐเงเฆกเฆกเฆฟเฆธเงเฆ•เง‡เฅค
    • boot loader เฆเฆ—เงเฆฒเง‹เฆ•เง‡ เฆนเฆพเฆฐเงเฆกเฆกเฆฟเฆธเงเฆ• เฆฅเง‡เฆ•เง‡ RAM memory เฆคเง‡ เฆคเงเฆฒเง‡ เฆ†เฆจเง‡เฅค

  • เฆฎเง‡เฆฎเฆฐเฆฟเฆคเง‡ Load เฆ•เฆฐเฆพ
    • kernel เฆ“ initramfs เฆฏเฆ–เฆจ RAM-เฆ เฆ†เฆธเง‡, เฆคเฆ–เฆจ เฆ•เฆฎเงเฆชเฆฟเฆ‰เฆŸเฆพเฆฐ เฆคเฆพเฆฆเง‡เฆฐ เฆฌเงเฆฏเฆฌเฆนเฆพเฆฐ เฆ•เฆฐเง‡ เฆชเงเฆฐเง‹ เฆธเฆฟเฆธเงเฆŸเง‡เฆฎ เฆšเฆพเฆฒเง เฆ•เฆฐเฆคเง‡ เฆชเฆพเฆฐเง‡เฅค
    • เฆเฆŸเฆฟ RAM-เฆ เฆจเฆพ เฆ†เฆจเฆฒเง‡ เฆ•เฆฎเงเฆชเฆฟเฆ‰เฆŸเฆพเฆฐ เฆธเง‡เฆ‡ เฆซเฆพเฆ‡เฆฒเฆ—เงเฆฒเง‹ เฆฌเงเฆฏเฆฌเฆนเฆพเฆฐ เฆ•เฆฐเฆคเง‡ เฆชเฆพเฆฐเฆฌเง‡ เฆจเฆพ, เฆ•เฆพเฆฐเฆฃ CPU เฆถเงเฆงเงเฆฎเฆพเฆคเงเฆฐ RAM เฆฅเง‡เฆ•เง‡ เฆกเง‡เฆŸเฆพ เฆชเงเฆฐเฆธเง‡เฆธ เฆ•เฆฐเฆคเง‡ เฆชเฆพเฆฐเง‡เฅค

——————————-


เฆฌเฆพเฆธเงเฆคเฆฌ เฆ‰เฆฆเฆพเฆนเฆฐเฆฃ:

initramfs-เฆเฆฐ เฆญเฆฟเฆคเฆฐเง‡ เฆ•เง€ เฆ†เฆ›เง‡ เฆคเฆพ เฆฆเง‡เฆ–เฆคเง‡:

lsinitrd /boot/initramfs-$(uname -r).img


เฆเฆ‡ เฆ•เฆฎเฆพเฆจเงเฆกเฆŸเฆฟ เฆฌเฆฐเงเฆคเฆฎเฆพเฆจ เฆ•เฆพเฆฐเงเฆจเง‡เฆฒ เฆญเฆพเฆฐเงเฆธเฆจเง‡เฆฐ initramfs เฆซเฆพเฆ‡เฆฒเฆŸเฆฟ เฆ†เฆจเฆœเฆฟเฆช เฆ•เฆฐเง‡ เฆญเฆฟเฆคเฆฐเง‡เฆฐ เฆ•เฆจเฆŸเง‡เฆจเงเฆŸ เฆฆเง‡เฆ–เฆพเฆฌเง‡, เฆฏเง‡เฆฎเฆจ /lib/modules/, /etc/init.d/, เฆ‡เฆคเงเฆฏเฆพเฆฆเฆฟเฅค

initramfs เฆซเฆพเฆ‡เฆฒ เฆจเฆคเงเฆจ เฆ•เฆฐเง‡ เฆคเงˆเฆฐเฆฟ เฆ•เฆฐเฆคเง‡ (เฆฏเฆฆเฆฟ เฆนเฆพเฆฐเงเฆกเฆ“เฆฏเฆผเงเฆฏเฆพเฆฐ เฆชเฆฐเฆฟเฆฌเฆฐเงเฆคเฆจ เฆนเฆฏเฆผ เฆฌเฆพ เฆจเฆคเงเฆจ เฆกเงเฆฐเฆพเฆ‡เฆญเฆพเฆฐ เฆฒเฆพเฆ—เง‡):

sudo dracut -f /boot/initramfs-$(uname -r).img $(uname -r)


เฆเฆ‡ เฆ•เฆฎเฆพเฆจเงเฆกเฆŸเฆฟ เฆฌเฆฐเงเฆคเฆฎเฆพเฆจ เฆ•เฆพเฆฐเงเฆจเง‡เฆฒเง‡เฆฐ เฆœเฆจเงเฆฏ เฆจเฆคเงเฆจ initramfs เฆคเงˆเฆฐเฆฟ เฆ•เฆฐเง‡เฅค dracut เฆ•เฆจเฆซเฆฟเฆ—เฆพเฆฐเง‡เฆถเฆจ เฆชเฆฐเฆฟเฆฌเฆฐเงเฆคเฆจ เฆ•เฆฐเฆคเง‡ เฆšเฆพเฆ‡เฆฒเง‡:

sudo nano /etc/dracut.conf.d/mycustom.conf เฆเฆฌเฆ‚ เฆคเฆพเฆฐ เฆญเฆฟเฆคเฆฐเง‡ เฆฒเฆฟเฆ–เงเฆจ: add_drivers+=” nvme xhci_pci “


เฆเฆ‡ เฆ•เฆจเฆซเฆฟเฆ—เฆพเฆฐเง‡เฆถเฆจ เฆ…เฆจเงเฆฏเฆพเฆฏเฆผเง€ initramfs เฆคเงˆเฆฐเฆฟ เฆนเฆฒเง‡ nvme เฆ“ xhci_pci เฆกเงเฆฐเฆพเฆ‡เฆญเฆพเฆฐเฆ“ เฆเฆคเง‡ เฆฏเงเฆ•เงเฆค เฆนเฆฌเง‡เฅค

6

Boot loader-(GRUB2) เฆเฆฌเฆพเฆฐ Kernel-เฆเฆฐ เฆ•เฆพเฆ›เง‡ control pass เฆ•เฆฐเง‡เฅค

  • เฆเฆ•เฆ‡ เฆธเฆ™เงเฆ—เง‡ boot loader-เฆ specify เฆ•เฆฐเฆพ kernel command line เฆเฆฐ เฆฏเง‡เฆ•เง‹เฆจเง‹ เฆ…เฆชเฆถเฆจ เฆเฆฌเฆ‚ เฆฎเง‡เฆฎเฆฐเฆฟเฆคเง‡ initramfs เฆเฆฐ location-เฆเฆฐ เฆคเฆฅเงเฆฏเฆ“ เฆ•เฆพเฆฐเงเฆจเง‡เฆฒเฆ•เง‡ เฆชเฆพเฆ เฆพเฆจเง‹ เฆนเฆฏเฆผเฅค

  • เฆเฆŸเฆฟ เฆ•เฆจเฆซเฆฟเฆ—เฆพเฆฐ เฆ•เฆฐเฆพ เฆนเฆฏเฆผ เฆจเฆฟเฆšเง‡เฆฐ directory, file and command เฆฌเงเฆฏเฆฌเฆนเฆพเฆฐ เฆ•เฆฐเง‡:
    • Directory: /etc/grub.d/
      • เฆฏเง‡เฆ–เฆพเฆจเง‡ GRUB เฆเฆฐ เฆธเงเฆ•เงเฆฐเฆฟเฆชเงเฆŸ เฆซเฆพเฆ‡เฆฒเฆ—เงเฆฒเง‹ เฆฅเฆพเฆ•เง‡เฅค
    • File: /etc/default/grub
      • เฆเฆ–เฆพเฆจเง‡ GRUB เฆธเฆฎเงเฆชเฆฐเงเฆ•เฆฟเฆค เฆชเงเฆฐเฆงเฆพเฆจ เฆธเง‡เฆŸเฆฟเฆ‚เฆธ เฆฏเง‡เฆฎเฆจ kernel parameters, timeout เฆ‡เฆคเงเฆฏเฆพเฆฆเฆฟ เฆธเฆ‚เฆฐเฆ•เงเฆทเฆฟเฆค เฆฅเฆพเฆ•เง‡เฅค
    • Command: grub2-mkconfig
  • เฆเฆ—เงเฆฒเง‹ เฆฌเงเฆฏเฆฌเฆนเฆพเฆฐ เฆ•เฆฐเง‡ /boot/grub2/grub.cfg เฆซเฆพเฆ‡เฆฒเฆŸเฆฟ generate เฆ•เฆฐเฆพ เฆนเฆฏเฆผ เฆฏเฆพ GRUB boot menu-เฆเฆฐ เฆœเฆจเงเฆฏ เฆฌเงเฆฏเฆฌเฆนเฆพเฆฐ เฆนเฆฏเฆผเฅค

——————————–

เฆฌเฆพเฆธเงเฆคเฆฌ เฆ‰เฆฆเฆพเฆนเฆฐเฆฃ:

เฆงเฆฐเงเฆจ เฆ†เฆชเฆจเฆฟ GRUB2 เฆฎเง‡เฆจเงเฆคเง‡ เฆกเฆฟเฆซเฆฒเงเฆŸ KERNEL เฆชเฆฐเฆฟเฆฌเฆฐเงเฆคเฆจ เฆ•เฆฐเฆคเง‡ เฆšเฆพเฆจเฅค

# sudo nano /etc/default/grub


เฆเฆ‡ เฆซเฆพเฆ‡เฆฒเง‡ เฆฒเฆพเฆ‡เฆจเฆŸเฆฟ เฆ–เงเฆเฆœเง‡ เฆฌเง‡เฆฐ เฆ•เฆฐเงเฆจ: GRUB_DEFAULT=0


เฆเฆ–เฆพเฆจเง‡ 0 เฆฎเฆพเฆจเง‡ เฆชเงเฆฐเฆฅเฆฎ KERNEL เฆ…เฆชเฆถเฆจ เฆกเฆฟเฆซเฆฒเงเฆŸ เฆนเฆฌเง‡เฅค เฆ†เฆชเฆจเฆฟ เฆšเฆพเฆ‡เฆฒเง‡ เฆเฆŸเฆฟ 1, 2 เฆฌเฆพ “Advanced options”-เฆเฆฐ เฆฎเฆคเง‹ เฆฎเง‡เฆจเง เฆŸเง‡เฆ•เงเฆธเฆŸ เฆฆเฆฟเฆฏเฆผเง‡เฆ“ เฆชเฆฐเฆฟเฆฌเฆฐเงเฆคเฆจ เฆ•เฆฐเฆคเง‡ เฆชเฆพเฆฐเง‡เฆจเฅค


เฆคเฆพเฆฐเฆชเฆฐ เฆจเฆคเงเฆจ เฆ•เฆจเฆซเฆฟเฆ—เฆพเฆฐเง‡เฆถเฆจ เฆœเง‡เฆจเฆพเฆฐเง‡เฆŸ เฆ•เฆฐเงเฆจ:

# sudo grub2-mkconfig -o /boot/grub2/grub.cfg


เฆเฆ‡ เฆ•เฆฎเฆพเฆจเงเฆกเฆŸเฆฟ /etc/grub.d/ เฆ“ /etc/default/grub เฆฅเง‡เฆ•เง‡ เฆคเฆฅเงเฆฏ เฆจเฆฟเฆฏเฆผเง‡ /boot/grub2/grub.cfg เฆซเฆพเฆ‡เฆฒ generate เฆ•เฆฐเง‡เฅค

เฆเฆ‡เฆญเฆพเฆฌเง‡ GRUB2 เฆ•เฆจเฆซเฆฟเฆ—เฆพเฆฐ เฆ•เฆฐเฆพ เฆนเฆฏเฆผ, เฆฏเฆพเฆคเง‡ เฆธเฆฟเฆธเงเฆŸเง‡เฆฎ เฆšเฆพเฆฒเงเฆฐ เฆธเฆฎเฆฏเฆผ เฆฌเงเฆŸ เฆฎเง‡เฆจเง เฆฅเง‡เฆ•เง‡ เฆฌเฆฟเฆญเฆฟเฆจเงเฆจ KERNEL เฆฌเฆพ เฆ…เฆชเฆถเฆจ เฆจเฆฟเฆฐเงเฆฌเฆพเฆšเฆจ เฆ•เฆฐเฆพ เฆฏเฆพเฆฏเฆผเฅค

7

Kernel เฆฌเงเฆŸเง‡เฆฐ เฆธเฆฎเฆฏเฆผ initramfs-เฆเฆฐ เฆฎเฆงเงเฆฏเง‡ เฆฅเฆพเฆ•เฆพ เฆกเงเฆฐเฆพเฆ‡เฆญเฆพเฆฐเฆ—เงเฆฒเง‹ เฆฌเงเฆฏเฆฌเฆนเฆพเฆฐ เฆ•เฆฐเง‡ เฆธเฆ•เฆฒ เฆนเฆพเฆฐเงเฆกเฆ“เฆฏเฆผเงเฆฏเฆพเฆฐ initialize เฆ•เฆฐเง‡, เฆฏเง‡เฆ—เงเฆฒเง‹เฆฐ เฆกเงเฆฐเฆพเฆ‡เฆญเฆพเฆฐ เฆธเง‡ เฆ–เงเฆเฆœเง‡ เฆชเฆพเฆฏเฆผเฅค

  • เฆเฆฐเฆชเฆฐ kernel, initramfs เฆนเฆคเง‡ /sbin/init execute เฆ•เฆฐเง‡, เฆฏเง‡เฆŸเฆฟ เฆชเงเฆฐเฆฅเฆฎ เฆชเงเฆฐเฆธเง‡เฆธ เฆนเฆฟเฆธเง‡เฆฌเง‡ เฆถเงเฆฐเง เฆนเฆฏเฆผ (PID 1).

Red Hat Enterprise Linux 8-เฆ /sbin/init เฆ†เฆธเฆฒเง‡ systemd-เฆเฆฐ เฆเฆ•เฆŸเฆฟ link, เฆ…เฆฐเงเฆฅเฆพเงŽ /sbin/init โ†’ /lib/systemd/systemdเฅค

เฆซเฆฒเง‡ systemd-เฆ‡ เฆชเงเฆฐเง‹ เฆธเฆฟเฆธเงเฆŸเง‡เฆฎ เฆ‡เฆจเฆฟเฆถเฆฟเฆฏเฆผเฆพเฆฒเฆพเฆ‡เฆœ เฆ•เฆฐเง‡เฅค Kernel boot time-เฆ init= command-line parameter เฆฌเงเฆฏเฆฌเฆนเฆพเฆฐ เฆ•เฆฐเง‡ init process เฆ•เฆจเฆซเฆฟเฆ—เฆพเฆฐ เฆฌเฆพ เฆจเฆฟเฆฐเงเฆงเฆพเฆฐเฆฃ เฆ•เฆฐเฆพ เฆฏเฆพเฆฏเฆผเฅค

————————————

Linux-เฆ เฆธเฆพเฆงเฆพเฆฐเฆฃ init process เฆฌเฆพ init system เฆ—เงเฆฒเง‹ เฆ•เฆฟ ?

  1. systemd
  2. SysVinit (init)
  3. Upstart
  4. OpenRC
  5. runit
  6. s6
  7. BusyBox init
  8. launchd (เฆฎเง‚เฆฒเฆค macOS เฆ)

เฆเฆ—เงเฆฒเง‹เฆฐ เฆ•เฆพเฆœ เฆนเฆฒเง‹:

  • system boot เฆ•เฆฐเฆพ
  • service เฆšเฆพเฆฒเง เฆ•เฆฐเฆพ
  • background process manage เฆ•เฆฐเฆพ
  • shutdown/reboot handle เฆ•เฆฐเฆพ

เฆฌเฆฐเงเฆคเฆฎเฆพเฆจเง‡ เฆฌเง‡เฆถเฆฟเฆฐเฆญเฆพเฆ— Linux distro-เฆคเง‡ systemd เฆธเฆฌเฆšเง‡เฆฏเฆผเง‡ เฆฌเง‡เฆถเฆฟ เฆฌเงเฆฏเฆฌเฆนเงƒเฆค เฆนเฆฏเฆผเฅค

———————————-


เฆฌเฆพเฆธเงเฆคเฆฌ เฆ‰เฆฆเฆพเฆนเฆฐเฆฃ:

PID 1 เฆ•เง‡ เฆšเง‡เฆ• เฆ•เฆฐเฆพ (systemd เฆšเฆพเฆฒเง เฆนเงŸเง‡เฆ›เง‡ เฆ•เฆฟเฆจเฆพ):

ps -p 1 -o comm=


เฆ†เฆ‰เฆŸเฆชเงเฆŸ:
systemd
เฆ…เฆฐเงเฆฅเฆพเงŽ systemd เฆ‡ PID 1 เฆเฆฌเฆ‚ เฆเฆŸเฆฟ /sbin/init เฆฅเง‡เฆ•เง‡ เฆถเงเฆฐเง เฆนเงŸเง‡เฆ›เง‡เฅค


/sbin/init เฆ†เฆธเฆฒเง‡เฆ‡ systemd เฆเฆฐ เฆฆเฆฟเฆ•เง‡ link เฆ•เฆฟเฆจเฆพ เฆšเง‡เฆ• เฆ•เฆฐเฆพ:

ls -l /sbin/init

เฆ†เฆ‰เฆŸเฆชเงเฆŸ:
lrwxrwxrwx 1 root root 20 Jul 15 12:00 /sbin/init -> ../lib/systemd/systemd


เฆฌเฆฟเฆ•เฆฒเงเฆช init เฆธเฆฟเฆธเงเฆŸเง‡เฆฎ เฆฌเงเฆฏเฆฌเฆนเฆพเฆฐ เฆ•เฆฐเฆคเง‡ เฆšเฆพเฆ‡เฆฒเง‡:

เฆ†เฆชเฆจเฆฟ เฆฏเฆฆเฆฟ systemd เฆเฆฐ เฆฌเฆฆเฆฒเง‡ เฆ…เฆจเงเฆฏ เฆ•เฆฟเฆ›เง เฆšเฆพเฆฒเฆพเฆคเง‡ เฆšเฆพเฆจ (เฆฏเง‡เฆฎเฆจ bash เฆฌเฆพ busybox), เฆคเฆฌเง‡ kernel boot เฆ…เฆชเฆถเฆจเง‡ init= เฆฌเงเฆฏเฆฌเฆนเฆพเฆฐ เฆ•เฆฐเฆคเง‡ เฆนเฆฌเง‡เฅค


GRUB menu-เฆคเง‡ (boot time-เฆ e เฆšเฆพเฆชเงเฆจ) เฆจเฆฟเฆšเง‡เฆฐ เฆฒเฆพเฆ‡เฆจ เฆ–เงเฆเฆœเงเฆจ:

linux16 /vmlinuz-โ€ฆ root=โ€ฆ ro rhgb quiet


เฆเฆฌเฆ‚ เฆเฆŸเฆฟเฆคเง‡ เฆฏเง‹เฆ— เฆ•เฆฐเงเฆจ: init=/bin/bash
เฆเฆคเง‡ /sbin/init เฆเฆฐ เฆฌเฆฆเฆฒเง‡ /bin/bash เฆถเงเฆฐเง เฆนเฆฌเง‡ (emergency shell)

เฆธเฆพเฆฐเฆธเฆ‚เฆ•เงเฆทเง‡เฆช

  • เฆ•เฆพเฆฐเงเฆจเง‡เฆฒ เฆฌเงเฆŸ เฆนเฆฒเง‡ initramfs เฆฅเง‡เฆ•เง‡ /sbin/init เฆšเฆพเฆฒเฆพเงŸเฅค
  • เฆเฆŸเฆฟ systemd-เฆ เฆฒเฆฟเฆ‚เฆ• เฆ•เฆฐเฆพ เฆฅเฆพเฆ•เง‡เฅค
  • init= เฆชเงเฆฏเฆพเฆฐเฆพเฆฎเฆฟเฆŸเฆพเฆฐ เฆฆเฆฟเงŸเง‡ init เฆธเฆฟเฆธเงเฆŸเง‡เฆฎ เฆชเฆฐเฆฟเฆฌเฆฐเงเฆคเฆจ เฆ•เฆฐเฆพ เฆฏเฆพเงŸเฅค

8

initramfs เฆฅเง‡เฆ•เง‡ เฆšเฆพเฆฒเง เฆนเฆ“เฆฏเฆผเฆพ systemd, เฆคเฆพเฆฐ เฆชเงเฆฐเฆฅเฆฎ เฆงเฆพเฆชเง‡ initrd.target เฆŸเฆพเฆฐเงเฆ—เง‡เฆŸเง‡เฆฐ เฆธเฆพเฆฅเง‡ เฆธเฆฎเงเฆชเฆฐเงเฆ•เฆฟเฆค เฆธเฆฌ Unit files เฆเฆ•เงเฆธเฆฟเฆ•เฆฟเฆ‰เฆŸ เฆ•เฆฐเง‡เฅค

  • เฆเฆ‡ เฆงเฆพเฆชเง‡เฆฐ เฆ†เฆฐเฆ“ เฆเฆ•เฆŸเฆฟ เฆ—เงเฆฐเงเฆคเงเฆฌเฆชเง‚เฆฐเงเฆฃ เฆ•เฆพเฆœ เฆนเฆฒเง‹ disk-เฆ เฆฅเฆพเฆ•เฆพ root เฆซเฆพเฆ‡เฆฒ เฆธเฆฟเฆธเงเฆŸเง‡เฆฎเฆŸเฆฟ /sysroot เฆกเฆฟเฆฐเง‡เฆ•เงเฆŸเฆฐเฆฟเฆคเง‡ mount เฆ•เฆฐเฆพเฅค

/sysroot เฆธเฆพเฆงเฆพเฆฐเฆฃเฆค initramfs-เฆเฆฐ เฆญเฆฟเฆคเฆฐเง‡ เฆฅเฆพเฆ•เง‡เฅค

  • เฆเฆ‡ root เฆซเฆพเฆ‡เฆฒ เฆธเฆฟเฆธเงเฆŸเง‡เฆฎ เฆ•เง‹เฆฅเฆพเฆฏเฆผ, เฆ•เง€เฆญเฆพเฆฌเง‡ เฆฎเฆพเฆ‰เฆจเงเฆŸ เฆนเฆฌเง‡ เฆธเง‡เฆŸเฆฟ เฆจเฆฟเฆฐเงเฆงเฆพเฆฐเฆฃ เฆ•เฆฐเฆพ เฆนเฆฏเฆผ File: /etc/fstab เฆซเฆพเฆ‡เฆฒเง‡เฆฐ เฆฎเฆพเฆงเงเฆฏเฆฎเง‡เฅค

——————————-

เฆฌเฆพเฆธเงเฆคเฆฌ เฆ‰เฆฆเฆพเฆนเฆฐเฆฃ:
/etc/fstab เฆซเฆพเฆ‡เฆฒ เฆฆเง‡เฆ–เฆคเง‡:

# cat /etc/fstab


เฆ‰เฆฆเฆพเฆนเฆฐเฆฃเฆธเงเฆฌเฆฐเง‚เฆช, /etc/fstab-เฆเฆฐ เฆเฆ•เฆŸเฆฟ เฆเฆจเงเฆŸเงเฆฐเฆฟ:
UUID=3e98fb48-87b5-4d2d-9f77-b12ab47e6ac7 / ext4 defaults 0 1


เฆเฆ‡ เฆฒเฆพเฆ‡เฆจเฆŸเฆฟ เฆฌเฆฒเง‡ เฆฆเง‡เฆฏเฆผ:

เฆ•เง‹เฆจ เฆชเฆพเฆฐเงเฆŸเฆฟเฆถเฆจ (UUID เฆ…เฆจเงเฆฏเฆพเฆฏเฆผเง€) / เฆฐเงเฆŸ เฆนเฆฟเฆธเง‡เฆฌเง‡ เฆฎเฆพเฆ‰เฆจเงเฆŸ เฆนเฆฌเง‡ เฆเฆฌเฆ‚ ext4 เฆซเฆพเฆ‡เฆฒเฆธเฆฟเฆธเงเฆŸเง‡เฆฎ เฆฌเงเฆฏเฆฌเฆนเฆพเฆฐ เฆ•เฆฐเฆพ เฆนเฆฌเง‡เฅค


initramfs-เฆ /sysroot-เฆ เฆฎเฆพเฆ‰เฆจเงเฆŸ เฆนเฆšเงเฆ›เง‡ เฆ•เฆฟเฆจเฆพ เฆฆเง‡เฆ–เฆคเง‡ (debug mode):

เฆ†เฆชเฆจเฆฟ เฆฏเฆฆเฆฟ rd.break เฆฆเฆฟเฆฏเฆผเง‡ เฆฌเงเฆŸ เฆ•เฆฐเง‡เฆจ, เฆคเฆพเฆนเฆฒเง‡ systemd เฆชเงเฆฐเฆฅเฆฎ เฆงเฆพเฆชเง‡ /sysroot เฆฎเฆพเฆ‰เฆจเงเฆŸ เฆ•เฆฐเฆพเฆฐ เฆšเง‡เฆทเงเฆŸเฆพ เฆ•เฆฐเฆฌเง‡เฅค


เฆฌเงเฆŸ เฆฎเง‡เฆจเงเฆคเง‡ e เฆšเฆพเฆชเงเฆจ เฆเฆฌเฆ‚ linux เฆฒเฆพเฆ‡เฆจเง‡ rd.break เฆฏเง‹เฆ— เฆ•เฆฐเงเฆจ:

linux … rd.break


เฆเฆฐเฆชเฆฐ เฆถเง‡เฆฒ เฆ†เฆธเฆฒเง‡ เฆฐเฆพเฆจ เฆ•เฆฐเงเฆจ:

ls /sysroot เฆเฆคเง‡ /sysroot เฆกเฆฟเฆฐเง‡เฆ•เงเฆŸเฆฐเฆฟเฆคเง‡ เฆ†เฆชเฆจเฆพเฆฐ เฆฎเง‚เฆฒ root เฆซเฆพเฆ‡เฆฒเฆธเฆฟเฆธเงเฆŸเง‡เฆฎเฆŸเฆฟ เฆฆเง‡เฆ–เฆคเง‡ เฆชเฆพเฆฌเง‡เฆจเฅค


systemd เฆ•เง€เฆญเฆพเฆฌเง‡ initrd.target เฆšเฆพเฆฒเฆพเฆฏเฆผ:

systemctl list-units –type=target –all | grep initrd

เฆเฆŸเฆฟ เฆฆเง‡เฆ–เฆพเฆฌเง‡ initrd.target เฆเฆฌเฆ‚ เฆคเฆพเฆฐ เฆธเฆพเฆฅเง‡ เฆธเฆ‚เฆถเงเฆฒเฆฟเฆทเงเฆŸ เฆ…เฆจเงเฆฏเฆพเฆจเงเฆฏ unit

เฆฏเง‡เฆฎเฆจ:

initrd-root-device.target
initrd-fs.target
initrd-root-fs.target

เฆธเฆพเฆฐเฆธเฆ‚เฆ•เงเฆทเง‡เฆช

  • systemd เฆถเงเฆฐเงเฆคเง‡ initrd.target เฆ…เฆจเงเฆฏเฆพเฆฏเฆผเง€ เฆ‡เฆ‰เฆจเฆฟเฆŸ เฆšเฆพเฆฒเฆพเฆฏเฆผเฅค
  • เฆฎเง‚เฆฒ root เฆซเฆพเฆ‡เฆฒ เฆธเฆฟเฆธเงเฆŸเง‡เฆฎ /sysroot-เฆ เฆฎเฆพเฆ‰เฆจเงเฆŸ เฆนเฆฏเฆผเฅค
  • เฆเฆ‡ เฆฎเฆพเฆ‰เฆจเงเฆŸ เฆชเฆพเฆฅ /etc/fstab เฆซเฆพเฆ‡เฆฒ เฆฆเงเฆฌเฆพเฆฐเฆพ เฆจเฆฟเฆฐเงเฆงเฆพเฆฐเฆฟเฆค เฆนเฆฏเฆผเฅค

9

เฆฎเฆพเฆ‰เฆจเงเฆŸเง‡เฆฐ เฆชเฆฐเง‡, kernel เฆเฆ•เฆŸเฆฟ switch เฆฌเฆพ pivot เฆ•เฆฐเง‡เฅคเฆ…เฆธเงเฆฅเฆพเงŸเง€ initramfs-เฆ•เง‡ เฆฌเฆพเฆฆ เฆฆเฆฟเงŸเง‡, /sysroot-เฆ เฆฅเฆพเฆ•เฆพ เฆ†เฆธเฆฒ root file system-เฆ•เง‡ เฆชเงเฆฐเฆงเฆพเฆจ root (/) เฆนเฆฟเฆธเง‡เฆฌเง‡ เฆฌเงเฆฏเฆฌเฆนเฆพเฆฐ เฆถเงเฆฐเง เฆ•เฆฐเง‡เฅค

เฆคเฆพเฆฐเฆชเฆฐ systemd เฆจเฆฟเฆœเง‡เฆ•เง‡ เฆ†เฆฌเฆพเฆฐ re-execute เฆ•เฆฐเง‡, เฆคเฆฌเง‡ เฆเฆฌเฆพเฆฐ เฆกเฆฟเฆธเงเฆ•เง‡ เฆ‡เฆจเฆธเงเฆŸเฆฒ เฆ•เฆฐเฆพ systemd-เฆเฆฐ เฆ•เฆชเฆฟ เฆฌเงเฆฏเฆฌเฆนเฆพเฆฐ เฆ•เฆฐเง‡เฅค

10

systemd เฆฌเงเฆŸ เฆ•เฆฐเฆพเฆฐ เฆชเฆฐ เฆชเงเฆฐเฆฅเฆฎเง‡ เฆกเฆฟเฆซเฆฒเงเฆŸ target เฆ–เงเฆเฆœเง‡ เฆฆเง‡เฆ–เง‡, เฆเฆŸเฆฟ เฆฆเงเฆ‡เฆญเฆพเฆฌเง‡ เฆจเฆฟเฆฐเงเฆงเฆพเฆฐเฆฟเฆค เฆนเฆคเง‡ เฆชเฆพเฆฐเง‡:

  • kernel command line-เฆ systemd.unit= เฆชเงเฆฏเฆพเฆฐเฆพเฆฎเฆฟเฆŸเฆพเฆฐ เฆนเฆฟเฆธเง‡เฆฌเง‡ เฆฆเง‡เฆ“เฆฏเฆผเฆพ เฆฅเฆพเฆ•เฆคเง‡ เฆชเฆพเฆฐเง‡,
  • เฆ…เฆฅเฆฌเฆพ เฆธเฆฟเฆธเงเฆŸเง‡เฆฎเง‡ เฆธเงเฆฅเฆพเฆฏเฆผเง€เฆญเฆพเฆฌเง‡ เฆ•เฆจเฆซเฆฟเฆ—เฆพเฆฐ เฆ•เฆฐเฆพ เฆฅเฆพเฆ•เง‡ /etc/systemd/system/default.target เฆซเฆพเฆ‡เฆฒเง‡เฆฐ เฆฎเฆพเฆงเงเฆฏเฆฎเง‡เฅค

เฆเฆฐเฆชเฆฐ systemd เฆธเง‡เฆ‡ target เฆ…เฆจเงเฆฏเฆพเฆฏเฆผเง€ เฆชเงเฆฐเฆฏเฆผเง‹เฆœเฆจเง€เฆฏเฆผ unit เฆซเฆพเฆ‡เฆฒเฆ—เงเฆฒเง‹ เฆšเฆพเฆฒเง เฆฌเฆพ เฆฌเฆจเงเฆง เฆ•เฆฐเง‡, เฆเฆฌเฆ‚ เฆคเฆพเฆฆเง‡เฆฐ เฆฎเฆงเงเฆฏเง‡ dependency เฆ—เงเฆฒเง‹ เฆธเงเฆฌเฆฏเฆผเฆ‚เฆ•เงเฆฐเฆฟเฆฏเฆผเฆญเฆพเฆฌเง‡ เฆธเฆฎเฆพเฆงเฆพเฆจ เฆ•เฆฐเง‡เฅค

เฆฎเง‚เฆฒเฆค, เฆเฆ•เฆŸเฆฟ systemd target เฆฎเฆพเฆจเง‡ เฆนเฆฒเง‹: เฆเฆฎเฆจ เฆเฆ•เฆŸเฆฟ unit-เฆเฆฐ เฆธเง‡เฆŸ เฆฏเง‡เฆ—เงเฆฒเง‹ เฆšเฆพเฆฒเง เฆนเฆฒเง‡ เฆธเฆฟเฆธเงเฆŸเง‡เฆฎ เฆเฆ•เฆŸเฆฟ เฆจเฆฟเฆฐเงเฆฆเฆฟเฆทเงเฆŸ state-เฆ เฆชเงŒเฆเฆ›เฆพเฆฏเฆผเฅค

เฆฏเง‡เฆฎเฆจ เฆŸเง‡เฆ•เงเฆธเฆŸ-เฆญเฆฟเฆคเงเฆคเฆฟเฆ• เฆฒเฆ—เฆ‡เฆจ (multi-user.target) เฆ…เฆฅเฆฌเฆพ เฆ—เงเฆฐเฆพเฆซเฆฟเฆ•เฆพเฆฒ เฆฒเฆ—เฆ‡เฆจ เฆธเงเฆ•เงเฆฐเฆฟเฆจ (graphical.target)เฅค

Short note for memorise:

  • Power ON
  • Sytem Firmware
    • Seraching Bootable Device
  • Bootable Disk (Founded Bootable Disk)
    • Bootloader GRUB (Passing Control to Boot Loader-GRUB2)
    • GRUB Menu
      • Showing Booting Kernel and Select a Kernel
    • Memory (GRUB Load to Memory)
      • kernel
      • initramfs ( archive file )
    • Kernel (Control Passing to Kernel from Boot loader-GRUB)
      • Initialize Drivers from initramfs ( archive file )
        • initramfs excute /sbin/init (PID1-systemd)
          • systemd excute initrd.target unit files
          • another process is, root file system from disk to mount /sysroot mount point. (/sysroot is initramfs mount point directory) mount by using /etc/fstab file.
      • Kernel switch to /sysroot root file system.
        • now here, /sysroot root file system in main root.
          • systemd re-execute
  • installed DISK SYSTEMD now using here after re-execution.
  • systemd now searching DEFAULT TARGET.
linux boot5 process for BIOS and UEFI Firmware

additional info. ( systemd )

systemd เฆนเฆฒ เฆเฆ•เฆŸเฆฟ init system เฆเฆฌเฆ‚ เฆธเฆฟเฆธเงเฆŸเง‡เฆฎ เฆฎเงเฆฏเฆพเฆจเง‡เฆœเฆพเฆฐ, เฆฏเฆพ Linux เฆธเฆฟเฆธเงเฆŸเง‡เฆฎเง‡ เฆฌเงเฆŸ เฆชเงเฆฐเฆธเง‡เฆธ เฆถเงเฆฐเง เฆ•เฆฐเฆพ, เฆธเฆพเฆฐเงเฆญเฆฟเฆธ เฆชเฆฐเฆฟเฆšเฆพเฆฒเฆจเฆพ, เฆŸเงเฆฐเงเฆฏเฆพเฆ•เฆฟเฆ‚, เฆเฆฌเฆ‚ เฆฐเฆฟเฆธเง‹เฆฐเงเฆธ เฆฎเงเฆฏเฆพเฆจเง‡เฆœเฆฎเง‡เฆจเงเฆŸ เฆ•เฆฐเฆพเฆฐ เฆœเฆจเงเฆฏ เฆฌเงเฆฏเฆฌเฆนเงƒเฆค เฆนเฆฏเฆผเฅค

เฆเฆŸเฆฟ เฆนเฆฒเง‹ SysVinit เฆเฆฌเฆ‚ Upstart-เฆเฆฐ เฆเฆ•เฆŸเฆฟ เฆ†เฆงเงเฆจเฆฟเฆ• เฆฌเฆฟเฆ•เฆฒเงเฆช, เฆเฆฌเฆ‚ เฆฌเฆฐเงเฆคเฆฎเฆพเฆจเง‡ เฆ…เฆจเง‡เฆ• Linux เฆกเฆฟเฆธเงเฆŸเงเฆฐเฆฟเฆฌเฆฟเฆ‰เฆถเฆจเง‡เฆ‡ เฆเฆŸเฆฟ เฆกเฆฟเฆซเฆฒเงเฆŸ init systemเฅค

1. systemd-เฆเฆฐ เฆฎเง‚เฆฒ เฆ•เฆพเฆœเฆ—เงเฆฒเง‹:

เฆ•เฆพเฆœเฆฌเฆฟเฆฌเฆฐเฆฃ
Init systemเฆธเฆฟเฆธเงเฆŸเง‡เฆฎ เฆšเฆพเฆฒเง เฆนเฆฒเง‡ เฆ•เง‹เฆจ เฆธเฆพเฆฐเงเฆญเฆฟเฆธเฆ—เงเฆฒเง‹ เฆšเฆพเฆฒเง เฆนเฆฌเง‡ เฆคเฆพ เฆจเฆฟเฆฐเงเฆงเฆพเฆฐเฆฃ เฆ•เฆฐเง‡
Service Managerเฆธเฆพเฆฐเงเฆญเฆฟเฆธ เฆšเฆพเฆฒเง/เฆฌเฆจเงเฆง/เฆฐเฆฟเฆธเงเฆŸเฆพเฆฐเงเฆŸ เฆ•เฆฐเง‡ (systemctl เฆฆเฆฟเฆฏเฆผเง‡)
Dependency Resolverเฆ•เง‹เฆจ เฆธเฆพเฆฐเงเฆญเฆฟเฆธ เฆ•เง‹เฆจเฆŸเฆพเฆฐ เฆ†เฆ—เง‡/เฆชเฆฐเง‡ เฆšเฆพเฆฒเง เฆนเฆฌเง‡ เฆคเฆพ เฆจเฆฟเฆฐเงเฆงเฆพเฆฐเฆฃ เฆ•เฆฐเง‡
Loggingjournald เฆฌเงเฆฏเฆฌเฆนเฆพเฆฐ เฆ•เฆฐเง‡ เฆฒเฆ— เฆธเฆ‚เฆ—เงเฆฐเฆน เฆ“ เฆฆเง‡เฆ–เฆพเฆฏเฆผ
Target/Runlevel Managementmulti-user.target, graphical.target เฆ‡เฆคเงเฆฏเฆพเฆฆเฆฟ
Timerscron-เฆเฆฐ เฆฎเฆคเง‹ เฆ•เฆพเฆœ เฆ•เฆฐเง‡, เฆ•เฆฟเฆจเงเฆคเง systemd-เฆญเฆฟเฆคเงเฆคเฆฟเฆ•

2. systemd เฆเฆฐ เฆ—เงเฆฐเงเฆคเงเฆฌเฆชเง‚เฆฐเงเฆฃ เฆ•เฆฎเงเฆชเง‹เฆจเง‡เฆจเงเฆŸเฆธ:

เฆ•เฆฎเงเฆชเง‹เฆจเง‡เฆจเงเฆŸเฆ•เฆพเฆœ
systemctlsystemd เฆเฆฐ CLI เฆŸเงเฆฒ (เฆธเฆพเฆฐเงเฆญเฆฟเฆธ เฆฎเงเฆฏเฆพเฆจเง‡เฆœเฆฎเง‡เฆจเงเฆŸ)
journalctlsystemd log เฆฆเง‡เฆ–เฆคเง‡ เฆฌเงเฆฏเฆฌเฆนเฆพเฆฐ เฆนเฆฏเฆผ
.serviceเฆ‡เฆ‰เฆจเฆฟเฆŸ เฆซเฆพเฆ‡เฆฒ เฆฏเฆพ เฆ•เง‹เฆจ เฆธเฆพเฆฐเงเฆญเฆฟเฆธ เฆšเฆพเฆฒเฆพเฆฌเง‡ เฆคเฆพ เฆฌเฆฒเง‡
.targetเฆเฆ• เฆฌเฆพ เฆเฆ•เฆพเฆงเฆฟเฆ• เฆธเฆพเฆฐเงเฆญเฆฟเฆธ เฆเฆ•เฆธเฆพเฆฅเง‡ เฆšเฆพเฆฒเฆพเฆจเง‹เฆฐ เฆŸเฆพเฆฐเงเฆ—เง‡เฆŸ
.mountmount points เฆชเฆฐเฆฟเฆšเฆพเฆฒเฆจเฆพ เฆ•เฆฐเง‡
.timerเฆจเฆฟเฆฐเงเฆฆเฆฟเฆทเงเฆŸ เฆธเฆฎเฆฏเฆผ เฆฌเฆพ เฆธเฆฎเฆฏเฆผเฆšเฆ•เงเฆฐเง‡ เฆ•เง‹เฆจเง‹ เฆ…เงเฆฏเฆพเฆ•เฆถเฆจ เฆšเฆพเฆฒเฆพเฆฏเฆผ

3. systemd boot process (เฆธเฆพเฆงเฆพเฆฐเฆฃ flow)

BIOS/UEFI > Bootloader (GRUB) > Linux Kernel > initramfs > systemd (PID 1) > Targets (e.g. graphical.target, multi-user.target) > Services (network, sshd, etc.)

4. เฆ•เฆฟเฆ›เง systemd เฆ•เฆฎเฆพเฆจเงเฆก (เฆธเฆพเฆงเฆพเฆฐเฆฃ เฆ‰เฆฆเฆพเฆนเฆฐเฆฃ)

เฆ•เฆพเฆœเฆ•เฆฎเฆพเฆจเงเฆก
เฆธเฆฟเฆธเงเฆŸเง‡เฆฎเง‡ เฆ•เง‹เฆจ เฆŸเฆพเฆฐเงเฆ—เง‡เฆŸ เฆšเฆพเฆฒเง เฆ†เฆ›เง‡systemctl get-default
เฆจเฆคเงเฆจ เฆŸเฆพเฆฐเงเฆ—เง‡เฆŸ เฆธเง‡เฆŸsystemctl set-default graphical.target
เฆฒเฆ— เฆšเง‡เฆ• เฆ•เฆฐเฆพjournalctl -xe
เฆจเฆฟเฆฐเงเฆฆเฆฟเฆทเงเฆŸ เฆธเฆพเฆฐเงเฆญเฆฟเฆธเง‡เฆฐ เฆฒเฆ—journalctl -u sshd
timer เฆฆเง‡เฆ–เฆคเง‡systemctl list-timers


REBOOTING AND SHUTTING DOWN

To power off or reboot a running system from the command line, you can use the systemctl command.

# systemctl poweroff
# systemctl reboot

You can also use the shorter version of these commands, poweroff and reboot, which are symbolic links to their systemctl equivalents.

# poweroff
# reboot

Note

systemctl halt and halt are also available to stop the system, poweroff เฆ•เฆฎเฆพเฆจเงเฆกเง‡เฆฐ เฆฎเฆคเง‹ เฆจเงŸ, เฆเฆ‡ เฆ•เฆฎเฆพเฆจเงเฆกเฆ—เงเฆฒเง‹ เฆธเฆฟเฆธเงเฆŸเง‡เฆฎเฆ•เง‡ เฆธเฆฎเงเฆชเง‚เฆฐเงเฆฃเฆญเฆพเฆฌเง‡ เฆฌเฆจเงเฆง เฆ•เฆฐเง‡ เฆจเฆพ; เฆฌเฆฐเฆ‚ เฆธเฆฟเฆธเงเฆŸเง‡เฆฎเฆ•เง‡ เฆเฆฎเฆจ เฆเฆ•เฆŸเฆฟ เฆจเฆฟเฆฐเฆพเฆชเฆฆ เฆ…เฆฌเฆธเงเฆฅเฆพเงŸ เฆจเฆฟเงŸเง‡ เฆ†เฆธเง‡, เฆฏเง‡เฆ–เฆพเฆจเง‡ เฆฎเงเฆฏเฆพเฆจเงเงŸเฆพเฆฒเฆฟ เฆจเฆฟเฆฐเฆพเฆชเฆฆเฆญเฆพเฆฌเง‡ เฆชเฆพเฆ“เงŸเฆพเฆฐ เฆฌเฆจเงเฆง เฆ•เฆฐเฆพ เฆฏเฆพเงŸเฅค

# systemctl halt
# halt

  • เฆเฆ–เฆพเฆจเง‡ เฆฌเง‹เฆเฆพเฆจเง‹ เฆนเฆฏเฆผเง‡เฆ›เง‡

เฆ•เฆฟเฆ›เง Linux command เฆ†เฆ›เง‡ เฆฏเง‡เฆ—เงเฆฒเง‹ เฆธเฆฟเฆธเงเฆŸเง‡เฆฎเฆ•เง‡ เฆชเงเฆฐเง‹เฆชเงเฆฐเฆฟ เฆฌเฆจเงเฆง (power off) เฆ•เฆฐเง‡ เฆจเฆพเฅค เฆฌเฆฐเฆ‚ เฆคเฆพเฆฐเฆพ: เฆธเฆฌ running service/process เฆฌเฆจเงเฆง เฆ•เฆฐเง‡ file system safely unmount เฆ•เฆฐเง‡ system เฆ•เง‡ safe shutdown เฆ…เฆฌเฆธเงเฆฅเฆพเฆฏเฆผ เฆจเฆฟเฆฏเฆผเง‡ เฆฏเฆพเฆฏเฆผ เฅค เฆคเฆพเฆฐเฆชเฆฐ เฆ†เฆชเฆจเฆฟ เฆšเฆพเฆ‡เฆฒเง‡ เฆจเฆฟเฆœเง‡ เฆนเฆพเฆคเง‡ power button เฆšเง‡เฆชเง‡ เฆ•เฆฎเงเฆชเฆฟเฆ‰เฆŸเฆพเฆฐ เฆฌเฆจเงเฆง เฆ•เฆฐเฆคเง‡ เฆชเฆพเฆฐเง‡เฆจเฅค เฆ‰เฆฆเฆพเฆนเฆฐเฆฃ:
halt
shutdown -h
เฆ†เฆ—เง‡เฆฐ เฆ…เฆจเง‡เฆ• server/system เฆ เฆเฆ‡ command เฆ—เงเฆฒเง‹ system เฆ•เง‡ safe เฆ…เฆฌเฆธเงเฆฅเฆพเฆฏเฆผ เฆจเฆฟเฆค, เฆ•เฆฟเฆจเงเฆคเง เฆธเฆฐเฆพเฆธเฆฐเฆฟ เฆฌเฆฟเฆฆเงเฆฏเงเงŽ เฆฌเฆจเงเฆง เฆ•เฆฐเฆค เฆจเฆพเฅค เฆ…เฆจเงเฆฏเฆฆเฆฟเฆ•เง‡ poweroff command เฆธเฆฐเฆพเฆธเฆฐเฆฟ system shutdown เฆ•เฆฐเง‡ เฆเฆฌเฆ‚ เฆชเฆพเฆ“เฆฏเฆผเฆพเฆฐเฆ“ เฆฌเฆจเงเฆง เฆ•เฆฐเง‡ เฆฆเง‡เฆฏเฆผเฅค


SELECTING A SYSTEMD TARGET

systemd target ?

A systemd target is a set of systemd units that the system should start to reach a desired state.

Commonly Used Targets Name

  • graphical.target
    • System supports multiple users, graphical- and text-based logins.
  • multi-user.target
    • System supports multiple users, text-based logins only.
  • rescue.target
    • sulogin prompt, basic system initialization completed.
  • emergency.target
    • sulogin prompt, initramfs pivot complete, and system root mounted on / read only.

A target can be a part of another target.

For example, the graphical.target includes multiuser.target, which in turn depends on basic.target and others.

You can view these dependencies with the following command.

# systemctl list-dependencies graphical.target | grep target

To list the available targets, use the following command.

# systemctl list-units --type=target โ€“all

Selecting a Target at Runtime

On a running system, administrators can switch to a different target using the systemctl isolate command.

# systemctl isolate multi-user.target

เฆ•เง‹เฆจเง‹ เฆเฆ•เฆŸเฆฟ target isolate เฆ•เฆฐเฆฒเง‡, systemd เฆ“เฆ‡ target เฆเฆฐ (เฆเฆฌเฆ‚ เฆคเฆพเฆฐ เฆจเฆฟเฆฐเงเฆญเฆฐเฆถเง€เฆฒเฆคเฆพ) เฆฏเง‡เฆธเฆฌ เฆธเฆพเฆฐเงเฆญเฆฟเฆธเง‡เฆฐ เฆชเงเฆฐเฆฏเฆผเง‹เฆœเฆจ เฆจเง‡เฆ‡, เฆธเง‡เฆ—เงเฆฒเง‹ เฆฌเฆจเงเฆง เฆ•เฆฐเง‡ เฆฆเง‡เฆฏเฆผ เฆเฆฌเฆ‚ เฆฏเง‡เฆธเฆฌ เฆชเงเฆฐเฆฏเฆผเง‹เฆœเฆจเง€เฆฏเฆผ เฆธเฆพเฆฐเงเฆญเฆฟเฆธ เฆเฆ–เฆจเง‹ เฆšเฆพเฆฒเง เฆนเฆฏเฆผเฆจเฆฟ, เฆธเง‡เฆ—เงเฆฒเง‹ เฆšเฆพเฆฒเง เฆ•เฆฐเง‡เฅค

เฆธเฆฌ target-เฆ‡ isolate เฆ•เฆฐเฆพ เฆฏเฆพเฆฏเฆผ เฆจเฆพเฅค เฆถเงเฆงเง เฆธเง‡เฆ‡ target-เฆ—เงเฆฒเง‹เฆ‡ isolate เฆ•เฆฐเฆพ เฆฏเฆพเฆฏเฆผ, เฆฏเฆฆเฆฟ unit file-เฆ AllowIsolate=yes เฆธเง‡เฆŸ เฆ•เฆฐเฆพ เฆฅเฆพเฆ•เง‡เฅค

เฆ‰เฆฆเฆพเฆนเฆฐเฆฃเฆธเงเฆฌเฆฐเง‚เฆช, เฆ†เฆชเฆจเฆฟ graphical.target isolate เฆ•เฆฐเฆคเง‡ เฆชเฆพเฆฐเง‡เฆจ, เฆ•เฆฟเฆจเงเฆคเง cryptsetup.target isolate เฆ•เฆฐเฆคเง‡ เฆชเฆพเฆฐเฆฌเง‡เฆจ เฆจเฆพเฅค

unprepared เฆ…เฆฌเฆธเงเฆฅเฆพเฆฏเฆผ isolate เฆšเฆพเฆฒเฆพเฆฒเง‡ network เฆฌเฆพ sshd เฆธเฆพเฆฐเงเฆญเฆฟเฆธ เฆฌเฆจเงเฆง เฆนเฆคเง‡ เฆชเฆพเฆฐเง‡ โ€” เฆซเฆฒเง‡ remote login เฆฌเฆฟเฆšเงเฆ›เฆฟเฆจเงเฆจ เฆนเฆคเง‡ เฆชเฆพเฆฐเง‡เฅค

Unit file-เฆ AllowIsolate=yes เฆ†เฆ›เง‡ เฆ•เฆฟเฆจเฆพ เฆคเฆพ เฆšเง‡เฆ• เฆ•เฆฐเฆพเฆฐ เฆœเฆจเงเฆฏ

# systemctl cat graphical.target
# systemctl cat cryptsetup.target

Setting a Default Target

Default Target

  • เฆฏเฆ–เฆจ เฆธเฆฟเฆธเงเฆŸเง‡เฆฎ เฆšเฆพเฆฒเง เฆนเฆฏเฆผ, เฆคเฆ–เฆจ systemd เฆชเงเฆฐเฆฅเฆฎเง‡ default.target เฆจเฆพเฆฎเง‡เฆฐ target-เฆŸเฆฟ เฆธเฆ•เงเฆฐเฆฟเฆฏเฆผ เฆ•เฆฐเง‡เฅค

  • เฆธเฆพเฆงเฆพเฆฐเฆฃเฆค, /etc/systemd/system/ เฆกเฆฟเฆฐเง‡เฆ•เงเฆŸเฆฐเฆฟเฆฐ เฆญเฆฟเฆคเฆฐเง‡ เฆฅเฆพเฆ•เฆพ default.target เฆนเฆฒเง‹ เฆเฆ•เฆŸเฆฟ symbolic link, เฆฏเฆพ  graphical.target เฆฌเฆพ multi-user.target-เฆเฆฐ เฆฆเฆฟเฆ•เง‡ เฆจเฆฟเฆฐเงเฆฆเง‡เฆถ เฆ•เฆฐเง‡เฅค

Viewing and Managing Default Target

# cat /etc/systemd/system/default.target

  • เฆเฆ‡ symbolic link-เฆŸเฆฟ เฆฎเงเฆฏเฆพเฆจเงเฆฏเฆผเฆพเฆฒเฆฟ editing เฆจเฆพ เฆ•เฆฐเง‡, systemctl เฆ•เฆฎเฆพเฆจเงเฆกเง‡เฆฐ เฆฆเงเฆŸเฆฟ เฆธเฆพเฆฌ-เฆ•เฆฎเฆพเฆจเงเฆก เฆฌเงเฆฏเฆฌเฆนเฆพเฆฐ เฆ•เฆฐเง‡ เฆ†เฆชเฆจเฆฟ เฆธเฆนเฆœเง‡เฆ‡ เฆเฆŸเฆฟ manage เฆ•เฆฐเฆคเง‡ เฆชเฆพเฆฐเง‡เฆจ:
    • get-default
    • set-default

# systemctl get-default

multi-user.target

# systemctl set-default graphical.target

Removed /etc/systemd/system/default.target.

Created symlink /etc/systemd/system/default.target -> /usr/lib/systemd/system/graphical.target.

# systemctl get-default

graphical.target

Selecting a Different Target at Boot Time

เฆฌเงเฆŸ เฆ•เฆฐเฆพเฆฐ เฆธเฆฎเฆฏเฆผ เฆ†เฆชเฆจเฆฟ เฆ•เฆฟ เฆเฆ•เฆŸเฆฟ
different target select เฆ•เฆฐเฆคเง‡ เฆšเฆพเฆจ ?

  • เฆคเฆพเฆนเฆฒเง‡, boot loader เฆฅเง‡เฆ•เง‡ kernel command line-เฆ เฆจเฆฟเฆšเง‡เฆฐ เฆ…เฆชเฆถเฆจเฆŸเฆฟ เฆฏเงเฆ•เงเฆค เฆ•เฆฐเฆคเง‡ เฆนเฆฌเง‡:
    • systemd.unit=target.target

เฆเฆ–เฆพเฆจเง‡ target.target เฆเฆฐ เฆœเฆพเฆฏเฆผเฆ—เฆพเฆฏเฆผ เฆ†เฆชเฆจเฆพเฆฐ เฆ•เฆพเฆ™เงเฆ•เงเฆทเฆฟเฆค เฆŸเฆพเฆฐเงเฆ—เง‡เฆŸเง‡เฆฐ เฆจเฆพเฆฎ เฆฌเฆธเฆพเฆคเง‡ เฆนเฆฌเง‡เฅค เฆฏเง‡เฆฎเฆจ:

  • multi-user.target,
  • rescue.target,
  • graphical.target เฆ‡เฆคเงเฆฏเฆพเฆฆเฆฟเฅค

เฆ•เง‡เฆจ Different target select เฆ•เฆฐเฆฌเง‡เฆจ ?

  • เฆเฆ‡ เฆ•เฆจเฆซเฆฟเฆ—เฆพเฆฐเง‡เฆถเฆจเง‡เฆฐ เฆชเฆฐเฆฟเฆฌเฆฐเงเฆคเฆจ เฆถเงเฆงเงเฆฎเฆพเฆคเงเฆฐ เฆเฆ•เฆฌเฆพเฆฐเง‡เฆฐ เฆฌเงเฆŸ-เฆเฆฐ เฆœเฆจเงเฆฏ เฆ•เฆพเฆฐเงเฆฏเฆ•เฆฐ เฆฅเฆพเฆ•เง‡เฅค

  • เฆเฆŸเฆฟ เฆฌเงเฆŸ เฆชเงเฆฐเฆธเง‡เฆธเง‡เฆฐ troubleshooting เฆ•เฆฐเฆพเฆฐ เฆœเฆจเงเฆฏ เฆเฆ•เฆŸเฆฟ เฆ•เฆพเฆฐเงเฆฏเฆ•เฆฐ เฆŸเงเฆฒ เฆนเฆฟเฆธเง‡เฆฌเง‡ เฆฌเงเฆฏเฆฌเฆนเงƒเฆค เฆนเฆฏเฆผเฅค

Different เฆเฆ•เฆŸเฆฟ systemd target เฆฌเงเฆŸ เฆŸเฆพเฆ‡เฆฎเง‡ เฆจเฆฟเฆฐเงเฆฌเฆพเฆšเฆจ เฆ•เฆฐเฆคเง‡ เฆšเฆพเฆ‡เฆฒเง‡, เฆ•เฆฟเฆญเฆพเฆฌเง‡ เฆ•เฆฐเฆคเง‡ เฆนเฆฌเง‡ ?

เฆจเฆฟเฆšเง‡เฆฐ เฆงเฆพเฆชเฆ—เงเฆฒเง‹ เฆ…เฆจเงเฆธเฆฐเฆฃ เฆ•เฆฐเงเฆจ:

  • เฆธเฆฟเฆธเงเฆŸเง‡เฆฎ เฆšเฆพเฆฒเง เฆ•เฆฐเงเฆจ เฆเฆฌเฆ‚ GRUB เฆฎเง‡เฆจเง เฆ†เฆธเฆพเฆฐ เฆœเฆจเงเฆฏ เฆ…เฆชเง‡เฆ•เงเฆทเฆพ เฆ•เฆฐเงเฆจเฅค เฆฏเง‡เฆ•เง‹เฆจเง‹ key เฆชเงเฆฐเง‡เฆธ เฆ•เฆฐเงเฆจ เฆนเง‹เฆฒเงเฆก เฆ•เฆฐเฆพเฆฐ เฆœเฆจเงเฆฏ “Enter” Key เฆฌเงเฆฏเฆพเฆคเฆฟเฆคเฅค
    • (เฆฏเฆฆเฆฟ GRUB เฆฎเง‡เฆจเง เฆจเฆพ เฆ†เฆธเง‡, เฆคเฆพเฆนเฆฒเง‡ เฆฌเงเฆŸเง‡เฆฐ เฆธเฆฎเฆฏเฆผ “Shift” เฆฌเฆพ “Esc” Key Press เฆ•เฆฐเฆคเง‡ เฆนเฆคเง‡ เฆชเฆพเฆฐเง‡เฅค)
  • เฆฏเง‡ เฆ…เฆชเฆพเฆฐเง‡เฆŸเฆฟเฆ‚ เฆธเฆฟเฆธเงเฆŸเง‡เฆฎเง‡ เฆฌเงเฆŸ เฆ•เฆฐเฆคเง‡ เฆšเฆพเฆจ, เฆธเง‡เฆŸเฆฟ เฆธเฆฟเฆฒเง‡เฆ•เงเฆŸ เฆ•เฆฐเง‡ “e” key press เฆ•เฆฐเงเฆจเฅค
    • เฆเฆฐ เฆซเฆฒเง‡, เฆ†เฆชเฆจเฆฟ GRUB entry edit เฆ•เฆฐเฆคเง‡ เฆชเฆพเฆฐเฆฌเง‡เฆจเฅค
  • linux เฆฌเฆพ linux16 เฆฆเฆฟเฆฏเฆผเง‡ เฆถเงเฆฐเง เฆนเฆ“เฆฏเฆผเฆพ เฆฒเฆพเฆ‡เฆจเฆŸเฆฟเฆคเง‡ เฆฏเฆพเฆจเฅค
    • (เฆเฆ‡ เฆฒเฆพเฆ‡เฆจเฆŸเฆฟ kernel เฆฒเฆพเฆ‡เฆจ เฆจเฆพเฆฎเง‡ เฆชเฆฐเฆฟเฆšเฆฟเฆค)
  • เฆ‰เฆ•เงเฆค เฆฒเฆพเฆ‡เฆจเง‡เฆฐ เฆถเง‡เฆทเง‡ เฆเฆ‡ เฆ…เฆชเฆถเฆจเฆŸเฆฟ เฆฏเง‹เฆ— เฆ•เฆฐเงเฆจ: systemd.unit=target.target
    • เฆ‰เฆฆเฆพเฆนเฆฐเฆฃ: systemd.unit=rescue.target
  • edit เฆเฆฐ เฆ•เฆพเฆœ เฆถเง‡เฆท เฆนเฆฒเง‡ Ctrl + X เฆ…เฆฅเฆฌเฆพ F10 เฆšเฆพเฆชเงเฆจเฅค
  • เฆเฆฐ เฆซเฆฒเง‡ edited เฆ•เฆฎเฆพเฆจเงเฆกเฆฒเฆพเฆ‡เฆจ เฆ…เฆจเงเฆฏเฆพเฆฏเฆผเง€ เฆธเฆฟเฆธเงเฆŸเง‡เฆฎ เฆฌเงเฆŸ เฆถเงเฆฐเง เฆนเฆฌเง‡เฅค

เฆฎเฆจเง‡ เฆฐเฆพเฆ–เฆคเง‡ เฆนเฆฌเง‡ !

  • เฆเฆŸเฆฟ เฆธเงเฆฅเฆพเฆฏเฆผเง€ เฆชเฆฐเฆฟเฆฌเฆฐเงเฆคเฆจ เฆจเฆฏเฆผเฅค เฆถเงเฆงเง เฆเฆ•เฆฌเฆพเฆฐเง‡เฆฐ เฆฌเงเฆŸเง‡เฆฐ เฆœเฆจเงเฆฏ เฆชเงเฆฐเฆฏเง‹เฆœเงเฆฏเฅค
  • เฆชเฆฐเฆฌเฆฐเงเฆคเง€ เฆฌเงเฆŸเง‡ systemd เฆ†เฆฌเฆพเฆฐ เฆชเง‚เฆฐเงเฆฌเฆจเฆฟเฆฐเงเฆงเฆพเฆฐเฆฟเฆค default.target เฆฌเงเฆฏเฆฌเฆนเฆพเฆฐ เฆ•เฆฐเฆฌเง‡เฅค
  • เฆเฆŸเฆฟ เฆฌเฆฟเฆถเง‡เฆท เฆ•เฆฐเง‡ troubleshooting เฆ…เฆฅเฆฌเฆพ เฆฐเฆฟเฆ•เฆญเฆพเฆฐเฆฟ เฆ•เฆฐเฆพเฆฐ เฆธเฆฎเฆฏเฆผ เฆ•เฆพเฆœเง‡ เฆ†เฆธเง‡เฅค

Strawberry Group | Topic Three, Byte Part

Sorry! you cannot copy content of this page.