linux啓動,grub,kickstart

一、簡述linux操做系統啓動流程

  • post→boot sequence(bios)→boot loader(mbr)→kernel(ramdisk)→rootfs→switchroot→/sbin/init→/etc/inittab,/etc/init/*.conf→設定默認運行級別→系統初始化腳本→關閉或啓動對應級別的服務→啓動終端

二、簡述grub啓動引導程序配置及命令行接口詳解

命令行接口

  • help
  • help COMMAND
  • root (hd0,0)設定根分區爲第一塊磁盤的第一個分區
  • find (hd0,0)/PATH 查找文件
  • kernel /PATH init=/sbin/init selinux=0 ro root=/dev/DEVICE 設定內核文件
  • initrd /PATH 設定ramdisk
  • boot 啓動

配置文件

  • /etc/grub.conf 是/boot/grub/grub.conf的軟連接
  • 配置項:
    • hiddenmenu:隱藏菜單
    • timeout:超時時間
    • default:默認啓動菜單項,從0開始
    • splashing:圖片
    • title:標題
    • password --md5 STRING:編輯內核時要按p輸入密碼(使用grub-md5-crypt生成)

三、實現kickstart文件製做與光盤鏡像製做

kickstart文件

  • 包括命令段,程序包段,腳本段
命令段
  • 必備:
    • 認證方式:authconfig --enableshadow --passalgo=sha512
    • bootloader位置:bootloader --location=mbr --dirverorder=sda --append="crashkernel=auto rhgb quiet"
    • 鍵盤:keyboard us 美式
    • 語言:lang en_US.UTF-8
    • 清空mbr:zerombr
    • 清除分區:clearpart --all
    • boot分區:part /boot --fstype=ext4 --size=500
    • pv分區:part pv.008002 --size=51200
    • 卷組:volgroup myvg --pesize=4096 pv.008002
    • lv:logvol / --fstype=ext4 --size=10240 myvg
    • 密碼:rootpw --iscrypted (使用openssl passwd -1 -salt `openssl rand -hex 4`生成)
    • 時區:timezone Asiz/Shanghai
  • 可選:
    • install:或upgrade 安裝或升級
    • img文件:url url=http://PATH 或cdrom
    • 文本:text,默認gui
    • 網絡:network --onboot yes --device eth0 --bootproto dhcp --noipv6
    • 防火牆:firewall --disabled
    • selinux:selinux --disabled
    • 安裝後命令:halt poweroff reboot
    • repo源:repo --name="CentOS" --baseurl=cdrom:sr0 --cost=100
程序包段
%package
@group_name
package
-package
%end
腳本段
  • %pre:安裝前腳本
  • %post:安裝後腳本

製做kickstart文件

  • 使用system-config-kickstart 圖形工具生成ks.cfg
  • 使用ksvalidator驗證ks文件的有效性

製做啓動iso

  • 將源系統的isolinux文件夾和ks文件拷貝到myboot
  • 修改配置文件 isolinux.cfg timeout=3 ks=cdrom:/ks.cfg
  • 使用mkisofs製做iso
[root@centos6-mould myboot]# cat ks.cfg
# Kickstart file automatically generated by anaconda.

#version=DEVEL
install
text
url --url=http://mirrors.aliyun.com/centos/6.9/os/x86_64/
lang en_US.UTF-8
keyboard us
network --onboot yes --device eth0 --bootproto dhcp --noipv6
rootpw --iscrypted $6$7Qqmg6dcGcdJctX3$1pOxPQQaczPgnVS2DxM9OX728VAqtg4Nq5NbXbKDlcyVJClmPMbLMBxhWYJfz9WsSym3toubAEpFI5k8ifjzP0
firewall --disabled
authconfig --enableshadow --passalgo=sha512
selinux --disabled
timezone Asia/Shanghai
bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet"
# The following is the partition information you requested
# Note that any partitions you deleted are not expressed
# here so unless you clear all partitions first, this is
# not guaranteed to work
zerombr
clearpart --all

part /boot --fstype=ext4 --asprimary --size=500
part swap --asprimary --size=1024
part / --fstype=ext4 --grow --asprimary --size=200


repo --name="CentOS" --baseurl=http://mirrors.aliyun.com/centos/6.9/os/x86_64/ --cost=100

%packages
@core
@server-policy
@workstation-policy
@Base
@Development tools
%end
[root@centos6-mould myboot]# chmod u+w isolinux/ -R
[root@centos6-mould myboot]# mkisofs -R -J -T -v --no-emul-boot --boot-load-size 4 --boot-info-table -V "centos 6 boot x86_64" -c isolinux/boot.cat -b isolinux/isolinux.bin -o /root/boot.iso myboot
相關文章
相關標籤/搜索