Bài giảng Hệ điều hành Linux căn bản - Boot Linux - Lê Ngọc Sơn

pdf 17 trang huongle 7120
Bạn đang xem tài liệu "Bài giảng Hệ điều hành Linux căn bản - Boot Linux - Lê Ngọc Sơn", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfbai_giang_he_dieu_hanh_linux_can_ban_boot_linux_le_ngoc_son.pdf

Nội dung text: Bài giảng Hệ điều hành Linux căn bản - Boot Linux - Lê Ngọc Sơn

  1. HỆ ĐIỀU HÀNH LINUX CĂN BẢN Lê Ngọc Sơn lnson@fit.hcmus.edu.vn
  2. NỘ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 2
  3. QUÁ TRÌNH BOOT LINUX Master Boot Record Hard disk Server image= label=linux read only Load kernel và detect hardware grub.conf vmlinuz và initrd Server The grand father of Mount file system all process read only /etc/inittab Run all scripts pointed Run level to from run level 3 Login
  4. QUÁ 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. 4
  5. BOOT 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. 5
  6. BOOT 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) Đĩa đầu tiên, partition đầu tiên 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 6
  7. BOOT 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. 7
  8. BOOT LOADER GRUB (TT) Một số lệnh của grub: sử dụng trong mode grub, hoặc trong file grub.conf 8
  9. BOOT 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 Đĩa IDE đầu tiên, partition đầu tiên read-only other = /dev/hda2 label=Windows server 2003 table=/dev/hda 9
  10. BOOT 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 10
  11. 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. 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. 11
  12. TIẾ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??? 12
  13. TIẾN TRÌNH INIT (TT) 13
  14. TIẾ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. 14
  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 start stop 15
  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/ start. Những script bắt đầu bằng K, hệ thống sẽ gọi chạy lệnh: /etc/rc.d/init.d stop. 16
  17. Q & A 17