Quá trình boot linux... Kernel image và initrd Kernel image là hình nh nh nhầết c a kernel đả ỏ ủ ược nén thành file vmlinuz-version.tar.gz... Tiếấn trình init …tt... • Mount /proc file
Trang 1Booting and shutting down
Tài Li u H ệ ướ ng D n H c ẫ ọ
Linux LPI
Trang 2N i dung (tt) ộ
Quá trình boot Linux
Boot loader (boot manager)
• Boot loader GRUB
• Boot loader LILO
Kernel image và initrd
Tiếến trình init và file inittab
Tiếến trình rc.sysinit
/etc/rc.d/rc script
Quá trình shutdown Linux
Trang 3Quá trình boot linux
Trang 4Quá trình boot Linux
BIOS/ POST
MBR (lilo ho c grub): cho phép l a ch n h điếều hành boot.ặ ự ọ ệ
Kernel + initrd: load kernel và detect hardware
Mount root file system (read only)
/sbin/init: tiếến trình cha c a m i tiếến trình.ủ ọ
/etc/inittab: quyếết đ nh run level và g i start các d ch v cầền thiếết c a run level đó.ị ọ ị ụ ủ
Hi n th đồề h a nếếu runlevel 5.ể ị ọ ở
Trang 5Boot loader
Boot loader hay còn g i là boot manager cho phép qu n ọ ả
lý nhiếều h điếều hành, ch n boot vào h điếều hành nào ệ ọ ệ
Hai boot loader ph biếến c a Linux: ổ ủ
• LILO (LInux LOader)
• GRUB (GRand Unified Boot loader)
Khi thay đ i file cầếu hình, GRUB t đ ng nh n biếết, ổ ự ộ ậ
LILO thì ph i dùng l nh /sbin/lilo đ update cầếu hình ả ệ ể
Ngày nay, GRUB là boot loader m c đ nh c a đ i đa sồế ặ ị ủ ạ các h đi u hành Linux ệ ể
Trang 6Boot loader GRUB
File cấấu hình grub.conf:
default=0
timeout=10
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Linux Fedora (2.6.5-1.358smp)
root (hd0,0)
kernel /vmlinuz-2.6.5-1.358smp ro root=LABEL=/ rhgb quiet initrd /initrd-2.6.5-1.358smp.img
title Windows server 20003
rootnoverify (hd0,1)
chainloader +1
Đĩa đầu tiên, partition đầu tiên
Trang 7Boot loader GRUB (tt)
Cách phần bi t partition trong boot loader GRUB khác v i cách thồng thệ ớ ường c a ủ Linux
GRUB khồng phần bi t IDE, và SCSI đĩa c ng đệ ứ ược hi u là: hd%d.ể
%d: là sồế nguyến, bắết đầều t zero đ ch partition đầều tiến.ừ ể ỉ
LILO có cách hi u thồng thể ường nh Linux: hdXY, sdXY.ư
Trang 8Boot loader GRUB (tt)
M t sồế l nh c a grub: s d ng trong mode grub, ho c trong file grub.confộ ệ ủ ử ụ ặ
Trang 9Boot loader LILO
File cấấu hình lilo.conf:
boot=/dev/hda
prompt
timeout=10
image=/boot/vmlinuz-2.6.5-1.358smp
label=Linux Fedora (2.6.5-1.358smp) root=/dev/hda1
read-only other = /dev/hda2
Đĩa IDE đầu tiên, partition đầu tiên
Trang 10Boot loader LILO (tt)
Đ cài đ t LILO làm boot loader, dùng l nh:ể ặ ệ
• /sbin/lilo – yếu cầều ph i có file lilo.conf ả
G b boot loader LILO, dùng l nh:ỡ ỏ ệ
• /sbin/lilo –u
Tìm hi u l nh lilo:ể ệ
• man lilo
Tìm hi u file cầếu hình boot loader lilo:ể
• man lilo.conf
Trang 11Kernel image và initrd
Kernel image là hình nh nh nhầết c a kernel đả ỏ ủ ược nén thành file
vmlinuz-version.tar.gz
Kernel image ch a nh ng thành phầền quan tr ng cầền thiếết đầều tiến đ boot máy ứ ữ ọ ể tính
initrd – initial ram disk: đượ ử ục s d ng đ detect phầền c ng và load driver.ể ứ
Đồềng th i mount file systems dờ ướ ại d ng read only đ tiếến hành ki m tra.ể ể
Trang 12Tiếấn trình init và file inittab
Tiếến trình init là cha c a m i tiếến trình.ủ ọ
Tiếến trình init s tìm đ c file /etc/inittab đ quyếết đ nh runlevel nào s đẽ ọ ể ị ẽ ược boot
M i dòng trong /etc/inittab có d ng nh sau:ỗ ạ ư
– id: runlevels:action:process
Nếu không định nghĩa, sẽ boot vào runlevel nào???
Trang 13Tiếấn trình init …(tt)
Trang 14Tiếấn trình rc.sysinit
Tiếến trình rc.sysinit th c thi nh ng nhi m v sau: ự ữ ệ ụ
• thiếết l p hostname c a máy tính và detect mồi tr ậ ủ ườ ng network.
• Mount /proc file system.
• Thiếết l p các tham sồế c a kernel. ậ ủ
• Thiếết l p gi h thồếng, fonts. ậ ờ ệ
• Kh i t o phần vùng swap ở ạ
• Check file system và mount l i mode read-write. ạ ở
• Load nh ng module cầền thiếết. ữ
Trang 15/etc/rc.d/rc script
Th c thi tầết c script liến quan đếến run level đó ự ả
Vd: nếếu runlevel là 5, s g i th c thi các script trong /etc/rc.d/rc5.dẽ ọ ự
Các script này là file symbolic link, link đếến các script th t s , thậ ự ường ch a trong ứ /etc/init.d
Trang 16/etc/rc.d/rc script (tt)
Nh ng script có bắết đầều bắềng S, h thồếng s g i ch y l nh: ữ ệ ẽ ọ ạ ệ
/etc/rc.d/init.d/<command> start.
Nh ng script bắết đầều bắềng K, h thồếng s g i ch y l nh: ữ ệ ẽ ọ ạ ệ
Trang 17Quá trình shut down linux
Trang 18H i & Đáp ỏ
H i & Đáp ỏ