在虛擬中可以藉助一個宿主機來安裝一個小型的linux作業系統,其步驟是:
第一步是:添加grub
在宿主機上添加一新的磁碟並劃分三個分區:sdb1、sdb2、sdb3分別為100M 、512M、128M ,以ext3的檔案系統形式來格式化。在宿主機上建立兩個目錄#mkdir /mnt/boot #mkdir /mnt/sysroot。把sdb1掛載到/mnt/boot中#monut /dev/sdb1 /mnt/boot 下面是添加grub的步驟了已經在上一篇部落格中詳細介紹過了。這裡是採用第二種方式來添加grub。
第二步是:複製kernel 到磁碟上。
#mount /dev/sdb1 /mnt/boot
#cp /boot/vmlinuz-2.6.18-164.el5 /mnt/boot/vmlinuz
第三步是:解壓initrd-2.6.18-164.el5.img
#mkdir /tmp/linux
#cp /boot/ initrd-2.6.18-164.el5.img /tmp/linux
#cd /tmp/linux
#mv initrd-2.6.18-164.el5.img initrd-2.6.18-164.el5.img.gz
#gzip –d initrd-2.6.18-164.el5.img.gz
#cpio –id < initrd-2.6.18-164.el5.img
因為這個檔案不能直接使用,要編輯此目錄下的init這個指令碼
vim init
把有/dev/vol0/root 改為/dev/sda2
第三步建立目錄
#mount /dev/sdb2 /mnt/sysroot
#cd /mnt/sysroot
#mkdir –pv {/etc/rc.d,bin,sbin,usr,var,proc,sys,tmp,lib,mnt,media,misc,opt,dev,srv}
#cp /sbin/init sbin/
#cp /bin/bash bin/
#vim etc/inittab
{
id:3:initdefault:
si::sysinit:/etc/rc.d/rc.sysinit
}
#vim etc/rc.d/rc.sysinit
{
#!/bin/bash
Echo –e “\tWelcome to LLinux”
/bin/bash
}
給rc.sysinit 一個執行許可權
#chmod +x etc/rc.d/rc.sysinit
第四步複製所需的庫檔案
用ldd可查看一個命令所依賴的庫檔案,並複製所需的庫檔案到/mnt/sysroot/lib中
#ldd bin/bash
#ldd bin/init
第六步是封裝
在/tmp/linux目錄中有initrd-2.6.18-164.el5.img這個檔案
把這個檔案刪除
#rm initrd-2.6.18-164.el5.img
還有:bin dev etc init lib proc sbin sys sysroot
這些檔案重新封裝一下
#find . | cpio –o –H newc –quit | gzip -9 > /mnt/boot/initrd.gz
最後為grub添加一設定檔:
#cd grub
#vim grub.conf
{
default=0
timeout=5
title Llinux
root (hd0,0)
kernel /vmlinuz ro root=/dev/sda2
initrd /initrd.gz
}
用chroot 來測試一下是否能夠啟動
在最後建立一虛擬機器並用到這個磁碟這樣我們的一個小Linux就成功的安裝了。
本文出自 “linux學習” 部落格