天天看點

linux第六周微職位

1、請較長的描述CentOS系統的啟動流程(詳細到每個過程系統做了哪些事情)

1)加電自檢,BIOS啟動引導階段;

     在該過程中實作硬體的初始化以及查找啟動媒體;

     從MBR中裝載啟動引導管理器(GRUB)并運作該啟動引導管理;

2)GRUB啟動引導階段;

     裝載stage1

     裝載stage1.5

     裝載stage2

     讀取/boot/grub.conf檔案并顯示啟動菜單;

     裝載所選的kernel和initrd檔案到記憶體中

3)核心階段:

     運作核心啟動參數;

     解壓initrd檔案并挂載initd檔案系統,裝載必須的驅動;

     挂載根檔案系統

4)init使用者空間初始化階段:

     啟動/sbin/init程式;

     運作rc.sysinit腳本,設定系統環境,啟動swap分區,檢查和挂載檔案系統;

     讀取/etc/inittab檔案,運作在/et/rc.d/rc<#>.d中定義的不同運作級别的服務初始化腳本;

     打開字元終端1-6号控制台/打開圖形顯示管理,設定登入

2、為運作于虛拟機上的CentOS 6添加一塊新硬體,提供兩個主分區;

(1) 為硬碟建立兩個主分區;并為其安裝grub;

(2) 為硬碟的第一個主分區提供核心和ramdisk檔案; 為第二個分區提供rootfs;

(3) 為rootfs提供bash、ls、cat程式及所依賴的庫檔案;

(4) 為grub提供配置檔案;

(5) 将新的硬碟設定為第一啟動項并能夠正常啟動目标主機;

  ~]#  fdisk /dev/sdc

  ~]#  partx -a /dev/sdc

  ~]#  mkfs -t ext4 /dev/sdc1 

  ~]#  mkfs -t ext4 /dev/sdc2

  ~]#  mkdir /mnt/{boot,sysroot}

  ~]#  mount /dev/sdc1 /mnt/boot/

  ~]#  mount /dev/sdc2 /mnt/sysroot/

  ~]#  cp /boot/vmlinuz-2.6.32-573.el6.x86_64 /mnt/boot/

  ~]#  cp /boot/initramfs-2.6.32-573.el6.x86_64.img /mnt/boot/

  ~]#  vim /mnt/boot/grub.conf  #建立一個grub配置檔案

default=0

timeout=15

title Centos6.70 homemake

root (hd0,0)

kernel /vmlinuz-2.6.32-573.el6.x86_64 ro root=/dev/sdc2 selinux=0 init=/bin/bash

initrd /initramfs-2.6.32-573.el6.x86_64.img

  ~]#  mkdir -p /mnt/rootfs/{bin,lib64}

  ~]#  cp -r /bin/{bin,ls,cat} /mnt/rootfs/bin/

  ~]#  cp -r /bin/{bash,ls,cat} /mnt/rootfs/bin/      #複制bash,ls,cat,所依賴的庫檔案 

  ~]#  cp $(ldd /bin/bash | awk '$3~/^\/lib64/print $3}') /mnt/rootfs/lib64/#

  ~]#  cp $(ldd /bin/bash | awk '$3~/^\/lib64/print $3}') /mnt/rootfs/lib64/

  ~]#  cp $(ldd /bin/bash | awk '$3~/^\/lib64/{print $3}') /mnt/rootfs/lib64/

  ~]#  cp $(ldd /bin/ls | awk '$3~/^\/lib64/{print $3}') /mnt/rootfs/lib64/

  ~]#  cp $(ldd /bin/cat | awk '$3~/^\/lib64/{print $3}') /mnt/rootfs/lib64/

重新開機服務設定從sdc啟動進入系統

3、制作一個kickstart檔案以及一個引導鏡像。描述其過程。

# Kickstart file automatically generated by anaconda.

#version=DEVEL

install

cdrom

lang zh_CN.UTF-8

keyboard us

network --onboot no --device eth0 --bootproto dhcp --noipv6

rootpw  --iscrypted $6$We6z2yOuLLzQlEQQ$97ev7j9SgwMI0P5hRj79nccpgyPxqIQxSixn69PUIsJA/BmnY92sFl7QoBF2W4IeS79Nm.c0iI5ACdVqWOCFT/

firewall --service=ssh

authconfig --enableshadow --passalgo=sha512

selinux --enforcing

timezone --utc 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

#clearpart --none

#part /boot --fstype=ext4 --size=200

#part swap --size=8192

#part / --fstype=ext4 --grow --size=200

repo --name="CentOS"  --baseurl=cdrom:sr0 --cost=100

%packages

@base

@chinese-support

@core

@debugging

@development

@directory-client

@java-platform

@network-file-system-client

@print-client

@server-platform

@server-policy

@workstation-policy

pax

oddjob

sgpio

device-mapper-persistent-data

systemtap-client

jpackage-utils

samba-winbind

certmonger

pam_krb5

krb5-workstation

~]#mkdir -p /data/iso/isolinux 

~]#cp /media/isolinux/* /data/iso/isolinux/ 

~]#cp /root/anaconda-ks.cfg  /data/iso/isolinux/myks.cfg 

~]#mkisofs -R -J -T -v –no-emul-boot –boot-load-size 4 –boot-info-table -V "CentOS 6.8 x86_64 boot" -b /data/iso/isolinux/isolinux.bin -c /data/iso/isolinux/boot.cat -o /root/boot.iso myiso        

#建立引導鏡像

      本文轉自xinrenbaodao  51CTO部落格,原文連結:http://blog.51cto.com/11832904/1954061,如需轉載請自行聯系原作者

繼續閱讀