宿主机linux,宿主机上安装小linux
今天自己利用vmwere軟件做了一個小型的linux,下面把實驗心得寫出來分享給大家。
實驗環境:使用vmwere軟件,在已經創建的一個虛擬機中再添加一塊硬盤,5G左右就已經足夠(為了以后實驗別太吝嗇自己的空間喲)。
實驗操作:
打開此虛擬機,以root或管理員身份登錄后,使用fdisk –l命令查看硬盤分區情況,此時發現新添加的硬盤未分區(這里我們假設第一塊硬盤是/dev/sda,第二塊硬盤是/dev/sdb),此處便是/dev/sdb未做任何處理,
然后對此塊硬盤進行分區,由于實驗需要,暫時我們將此硬盤分為兩個分區(根分區和boot分區)/dev/sdb1及/dev/sdb2,方便操作以及后期的使用,此處我們將這兩個分區格式化為ext3格式,
fdisk /dev/sdb
mke2fs –j/dev/sdb1
mke2fs –j /dev/sdb2
(此處硬盤規劃:將/dev/sdb1創建為500M大小,為以后的boot分區,/dev/sdb1創建為512M大小為以后的根分區/)
然后建立兩個掛載點,/mnt/boot及/mnt/sysroot,分別將先前的兩個分區掛載在這兩個掛載點上,
mkdir /mnt/boot
mkdir /mnt/sysroot
mount /dev/sdb1 /mnt/boot
mount /dev/sdb2/mnt/sysroot
然后我們就可以在第一塊分區上創建系統引導程序(這里我們使用grub-install命令創建grub),
grub-install –root-directory=/mnt/dev/sdb
cd/mnt/boot
切換到/mnt/boot目錄下,我們就發現已經多了幾個文件,更包含grub目錄,此時grub目錄下面并沒有grub.conf配置文件,稍后我們將作配置,這時系統肯定無法啟動,
接下來我們再將系統中的vmlinuz-2.6.18-164.el5(此處因為版本不同可能會和您的版本號不同)文件拷到/mnt/boot目錄下,
cpvmlinuz-2.6.18-164.el5.img.
此時我們需要對另外一個文件initrd-2.6.18-164.el5.img作一定的處理,切換到系統/tmp目錄中,創建一個目錄:
mkdirinitrd
cp/boot/ initrd-2.6.18-164.el5.img/tmp/initrd
切換到此目錄下利用zcat和cpio命令展開此文件
zcat initrd-2.6.18-128.el5.img |cpio –id
然后編輯展開目錄下的init文件中
修改mkrootdev -t ext3 -o defaults,ro /dev/vol0/root
為mkrootdev -t ext3 -o defaults,rosda2
保存退出(此處sda2為要創建文件的根目錄)
然后再將此目錄下的文件歸檔并壓縮到指定目錄,命名為initrd.gz
rm –finitrd-2.6.18-164.el5.img
find . |cpio -H newc -o --quiet |gzip -9 > /mnt/boot/initrd.g
這時再來編輯grub配置文件grub.conf
default=0
timeout=10
title kingshuo's little linux
root (hd0,0)
kernel /vmlinuz ro root=/dev/sda2quiet
initrd /initrd.gz
然后進入/mnt/sysroot目錄中創建系統必需的目錄
mkdir -p {boot,proc,sys,dev,home,root,etc/{rc.d,sysconfig,init.d},bin,sbin,lib,usr/{bin,sbin,lib,include},var/{log,run},tmp,mnt,opt,media
再編輯/mnt/sysroot/etc/inittab文件
id:3:initdefault:
si::sysinit:/etc/rc.d/rc.sysinit
保存退出
再編輯/mnt/sysroot/etc/rc.d/rc.sysinit文件
#!/bin/bash
echo -e echo -e "\t\tWelcome to \033[31;1mLittle\033[0m Linux..."
/bin/bash
因為此文件是個系統初始化啟動腳本故需要添加執行權限
chmod+x/mnt/sysroot/etc/rc.d/rc.sysinit
此時系統還沒有運行環境,需要使用拷貝bash
還需要拷貝與bash運行調用的庫函數
ldd /bin/bash
cp /bin/bash/mnt/sysroot/bin/bash
cd/mnt/sysroot/bin/
cp /lib/libtermcap.so.2 /mnt/sysroot/lib/
cp /lib/libdl.so.2/mnt/sysroot/lib/
cp /lib/libc.so.6/mnt/sysroot/lib/
cp /lib/ld-linux.so.2/mnt/sysroot/lib/
然后進入/mnt/boot/bash,建立鏈接
ln–svbash sh
這時您就可以在當前虛擬機上測試了
這時您還不太相信吧,接下來您可以再新建一個虛擬機,利用現有的虛擬磁盤
準備停當后打開剛建的虛擬機,見證奇跡的時刻到了!
當然在這個系統中不能實現過多的命令,當您想實現更多的功能,想要添加相應的命令時,按照上述命令執行相應命令及函數的拷貝,自己趕快實驗吧!
由于能力有限,可能某些細節及原理上敘述的不是很清楚,也難免有錯誤,歡迎大家指正!下面有個小腳本能夠實行小linux的創建,有興趣的話可以嘗試一下!
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的宿主机linux,宿主机上安装小linux的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux采用存储管理方式,19.Lin
- 下一篇: c语言扫描图片的坐标,tc 如何在指定坐