天天看點

簡單複制粘貼個linux紅帽6

我們先簡單搞個linux,首先掌握其骨架

1.先在一個硬碟上建立兩個分區,并且建立檔案系統,然後将兩個分區分别挂載在/mnt/boot,/mnt/myroot上。

其中/mnt/boot模仿真正linux中/boot./mnt/myroot模仿 根目錄‘/’

2.安裝grub.grub-install --root-diretctory=/mnt /dev/sdb。就會自動建立個grub目錄

這裡default=0是指預設啟動第一個root kernel initrd就是567行的内容。

timeout=10隻等待選擇啟動grub菜單界面的時間。

這裡kernel後面可以加個quiet或txt.分别表示系統開啟時不顯示,顯示在txt菜單中。

3.在/mnt/myroot/目錄下加入bin,boot,dev,etc/rc.d,home,lib,proc,root,sbin,sys,tmp,usr/{bin,sbin},var/log

4.把二進制程式/sbin/init複制到/mnt/myroot/sbin

  把/bin/bash 指派到/mnt/myroot/bin

5.執行init需要對應得一些庫

  使用ldd /sbin/init去查找init需要什麼庫檔案,将需要的庫檔案拷貝到/mnt/myroot/lib中即可。

  用同樣的方法把/bin/bash需要的庫同樣拷貝進去。

6.因為redhat6的系統中與redhat5系統在init中做了修改,這裡原來在/etc/inittab中的功能分割到了/etc/inittab和/etc/init目錄中。因為/etc/rc.d/rc.sysinit的執行由/etc/init/rcS.conf中執行,是以必須把這個檔案也要輔助過去。

7.自己建立個/mnt/myroot/etc/rc.d/rc.sysinit檔案,

  在裡面開啟/bin/bash

  1 #! /bin/bash

  2 #

  3 echo -e "\tWelcome to \e[31msuper star \033[0m linux."

  4 insmod /lib/modules/mii.ko

  5 insmod /lib/modules/pcnet32.ko

  6 ifconfig eth0 192.168.18.201/24

  7 ifconfig lo 127.0.0.1/8

  8 /bin/bash

8.建立完成之後一定要複制/etc/selinux到/mnt/myroot/selinux中。因為沒有這個軟體不可以正常啟動init

9.注意這裡還不可以,會提示你init:failed to spawn....:no such factory等等問題。這時候你需要建立一個bash的軟連結/bin/sh 指令ln -s bash /mnt/myroot/bin/sh .

ps:這裡說明一下/bin ,/sbin,/usr/bin,/usr/sbin的差別

  1./bin目錄下都是系統必備的執行程式。例如 awk cut mail bash sleep su

  2./sbin放一些系統管理的必備程式。例如 ifconfig free mke2fs mkswap modinfo fsck restart fdisk

  3./usr/bin目錄下放置的一些應用軟體的執行文檔。例如 find locate free g++ renice

  4./usr/sbin下放置一些關于網絡管理的文檔。例如

其實linux磁盤鏡像檔案中包含很多rpm包,可以将其挂載在/mnt/cdrom上,設定在/etc/yum.repos.d/cdrom.repo檔案,将baseurl=/mnt/cdrom/Packages。就可以正常使用yum install 指令了。

注意使用sync 指令将緩沖區的内容寫到磁盤中,防止一旦斷電後緩沖區的内容未寫入磁盤中。在使用cp之後也要使用兩次。

本文轉自 神迹難覓 51CTO部落格,原文連結:http://blog.51cto.com/ji123/1944199,如需轉載請自行聯系原作者

繼續閱讀