過程(1):
首先在宿主機上添加一塊新的硬盤
分區格式化並掛載
源碼編譯安裝內核(支持硬盤,cup,pci,硬件支持)
安裝grub
第一次測試
1.添加一塊新的硬盤
我們添加的sdc
(a)使系統識別我們新添加的硬盤
[root@centos6 ~]# echo "- - -" > /sys/class/scsi_host/host0/scan [root@centos6 ~]# echo "- - -" > /sys/class/scsi_host/host1/scan [root@centos6 ~]# echo "- - -" > /sys/class/scsi_host/host2/scan [root@centos6 ~]# lsblk sdc 8:32 0 20G 0 disk //成功識別
2.分區格式化並掛載
[root@centos6 ~]# fdisk /dev/sdc [root@centos6 ~]# lsblk sdc 8:32 0 20G 0 disk ├─sdc1 8:33 0 509.9M 0 part //作爲/boot分區 └─sdc2 8:34 0 10G 0 part //作爲根分區 [root@centos6 ~]# mkfs -t ext4 /dev/sdc1 [root@centos6 ~]# mkfs -t ext4 /dev/sdc2 [root@centos6 ~]# blkid /dev/sdc1: UUID="f71f933c-8a83-461f-adc7-4c7f2ba34da2" TYPE="ext4" /dev/sdc2: UUID="099506f4-fb21-421e-87c6-fe1bbbd03680" TYPE="ext4" [root@centos6 ~]# mount /dev/sdc1 /mnt/boot [root@centos6 ~]# mount /dev/sdc2 /mnt/sysroot/ [root@centos6 ~]# mount /dev/sdc1 on /mnt/boot type ext4 (rw) /dev/sdc2 on /mnt/sysroot type ext4 (rw)
3.源碼編譯安裝內核
//不採用模塊方式,直接將關鍵驅動做進內核核心中 [root@centos6 ~]# tar xf linux-3.10.67.tar.xz -C /usr/src //我們採用3.10版本的內核 [root@centos6 ~]# cd /usr/src [root@centos6 src]# ln -sv linux-3.10.67/ linux [root@centos6 src]# cd linux [root@centos6 linux]# make allnoconfig ==> 從頭開始選擇 [root@centos6 linux]# lscpu //查看cpu [root@centos6 linux]# lspci //查看pci、硬盤 [root@centos6 linux]# make menuconfig //選擇硬件平臺 [*] 64-bit kernel --> 啓用 [*] Enable loadable module support ---> [*] Module unloading 支持模塊動態裝卸載 Processor type and features ---> [*] Symmetric multi-processing support 多處理器支持 Processor family (Generic-x86-64) ---> (X) Generic-x86-64 Bus options (PCI etc.) ---> [*] PCI support 啓用PCI總線 Device Drivers ---> SCSI device support ---> <*> SCSI device support <*> SCSI disk support [*] Fusion MPT device support ---> 由上圖可知 <*> Fusion MPT ScsiHost drivers for SPI <*> Fusion MPT misc device (ioctl) driver
[root@centos6 linux]# make bzImage //只編譯核心(不編譯模塊) [root@centos6 linux]# cp arch/x86/boot/bzImage /mnt/boot/vmlinuz
//內核文件已近存在,由於我們把硬件驅動直接編譯在內核中,所有不需要initrd文件
4.在目標磁盤上boot目錄上安裝grub
[root@centos6 ~]# grub-install --root-directory=/mnt/ /dev/sdc
//提供grub的配置文件
[root@centos6 linux]# vim /mnt/boot/grub/grub.conf default=0 timeout=5 hiddenmenu title sxj Minu root (hd0,0) kernel /vmlinuz root=/dev/sda2
5.第一次測試(第一次測試啓動(只有內核和grub))