linux系統啟動流程

2022-01-31 23:52:44 字數 1821 閱讀 8386

post(加電自檢)-->bios(boot sequence)-->mbr(bootloader,446)-->kernel-->initrd-->(rootfs)/sbin/init(/etc/inittab)

核心設計風格:

redhat,suse 核心:動態載入  核心模組 核心:/lib/modules/"核心版本號命令的目錄"/

vmlinuz-2.6.32 /lib/modules/2.6.32/

單核心:linux(lwp)  核心:ko(kernel object)  so  微核心:windows,solaris

chroot:  chroot /path/to/temproot [command...]  chroot /test/virroot  /bin/bash

ldd /path/to/binary_file:顯示二進位制檔案所依賴的共享庫

啟動的服務不同:  執行級別:0-6  0:halt關機  1:single user mode,直接登陸管理員  2:multi user mode,no nfs  3:multi user model:text mode  4:resered  5:multi user mode,graphic mode  6:reboot

bootloader(mbr)  兩種啟動方式  lilo  grub:grand unified bootloader   stage1:mbr   stage2:/boot/grub/

grub.conf

default=0 #設定預設啟動的title的編號,從0開始 timeout=5 #等待使用者選擇的超時時長,單位是秒 splashimage=  #grub的背景 hiddenmenu #隱藏選單 password redhat(直接寫明文密碼) 或者 password --md5 ********(md5加密後的密碼)

title  # 核心標題或作業系統名稱 可自由修改  root(hd0,0) #核心檔案所在的裝置:對grub而言,所有型別的硬碟一律hd:hd#,#標識第幾個磁碟,最後的0表示對應磁碟的分割槽  kernel #核心檔案路徑,及傳遞給核心的引數  initrd #ramdisk檔案路徑

檢視執行級別 runlevel 執行級別 who -r 執行級別

檢視核心:  uname -r

安裝grub stage1: # grub grub> root (hd0,0) grub> set (hd0)

安裝grub第二種方式: # grub-install --root-directory=/

grub>find grub>root (hd#,n) grub>kernel /path/to/kernel_file grub>initrd /path/to/initrd_file grub>boot

/sbin/init: (/etc/inittab)  upstart:ubuntu,d-bus,event-driven  systemd:

id:runlevels:action:process id:識別符號 runlevels:在哪個級別執行此行

si::sysinit:/etc/rc.d/rc.sysinit

action: initdefault:設定預設執行級別 sysinit:系統初始化 wait:等待級別切換至此級別時執行 respawn:一旦程式終止,會重新啟動

/etc/rc.d/rc.sysinit完成的任務 1,啟用udev和selinux; 2,根據/etc/sysct1.conf檔案,來設定核心引數 3,設定時鐘時鐘 4,裝載鍵盤對映 5,啟用交換分割槽 6,設定主機名 7,根檔案系統檢測,並以讀寫方式重新掛載 8,啟用raid和lvm裝置 9,啟用磁碟配額 10,根據/etc/fstab,檢查並掛載其他檔案系統 11,清理過期的鎖和pid檔案

Linux系統啟動流程

這是看linuxcast的筆記 linux系統啟動 使用grub引導 順序是 bios通電自檢,並找到512位元組的mbr 是grub引導的第一階段 把控制權交給mbr grub分兩個階段引導系統 第一階段mbr中的主引導引導程式加次引導載程式 第二階段次引導引導程式載入核心映像 核心映像建立進第乙...

Linux系統啟動流程

載入 bios 的硬體資訊與進行自我測試,並依據配置取得第乙個可啟動的裝置 讀取並執行第乙個啟動裝置內 mbr 的 boot loader 亦即是 grub,spfdisk 等程式 依據 boot loader 的配置載入 kernel kernel 會開始偵測硬體與載入驅動程式 在硬體驅動成功後,...

linux系統啟動流程

核心空間啟動主要流程 1 init main.c start kernel 2 init main.c rest init 3 init main.c kernel init 4 init main.c init post 核心至使用者空間啟動主要流程 openwrt使用者空間啟動主要流程 1 et...