linux远程安装文件,通过image文件远程安装已经配置的Linux
smallwl 于 2006-08-29 00:08:53發表:
一. 制作initrd文件
1. 選擇操作系統,這里就用FC2.0吧.
2. 安裝busybox.
在這里, 需要一些命令去做一些事情, 比如fdisk, ls ,mv……如果把所有這些文件都做到initrd中,這個文件會太龐大了, busybox就是為了解決這個問題的.
從www.busybox.net上下載最新的版本, 解開后里面有一個INSTALL,按照INSTALL安裝就可以了.
#cd /tmp/busybox
#tar xjvf busybox-1.1.0.tar.tar
#cd busybox-1.1.0
#make O=/tmp/busybox1 allyesconfig
#cd /tmp/busybox1
#make
3. 定制initrd
因為定制的initrd可能要包含一些文件,所以字節數需要大一點
#mkdir /tmp/initrd && cd /tmp/initrd
#mkinitrd initrd-new x.x.x-xx(后面的是kernel版本號)
在當前目錄下會生成一個initrd-new文件.
#zcat initrd-new > 1(也可以使用gunzip)
#mkdir m1
#mount -oloop 1 m1
#cd m1
#mv bin bin.bak
#rm -rf sbin
在m1目錄中就是initrd包含的文件了,目標機器讀到initrd文件后,會去執行sbin/init文件,這個文件目前指到linuxrc,我們需要busybox
#cd /tmp/busybox1
#make PREFIX=/tmp/initrd/m1
再看看/tmp/initrd/m1/下的bin和shin目錄
查一下busybox依賴的lib文件:
#ldd /tmp/busybox1/busybox
然后把對應的lib文件以及link放到/tmp/initrd/m1/lib目錄中,
Busybox默認首先執行etc/init.d/rcS文件,所以我們要先建一個rcS文件:
#!/bin/sh
PATH=/sbin:/bin:/usr/bin:/usr/sbin
# Mount filesystems in /etc/fstab.
if [ -x /bin/mount ]; then
/bin/mount -a -v
fi
echo "Loading modules..."
insmod /lib/e1000.ko
insmod /lib/sunrpc.ko
insmod /lib/lockd.ko
insmod /lib/jbd.ko
insmod /lib/ext3.ko
insmod /lib/nfs.ko
insmod /lib/scsi_mod.ko
insmod /lib/sd_mod.ko
insmod /lib/libata.ko
insmod /lib/ata_piix.ko
insmod /lib/sata_sis.ko
echo "Loading modules done"
#sleep 15
ifconfig eth0 192.168.100.100 netmask 255.255.255.0
portmap
sleep 15
echo "Connect nfs server and get image files..."
mount -o rsize=8192,wsize=8192,intr,nolock 192.168.100.1:/images /images
echo "Connecting nfs server done"
/images/runme.sh
根據這個shell,我們知道
a. 還需要bash文件,將bash復制到/tmp/initrd/m1/bin目錄中,同時檢查lib文件.
b. [root@backup etc]# cat fstab
none /proc proc defaults 0 0
c. 硬件驅動文件,文件系統驅動文件
insmod /lib/e1000.ko ------網卡
insmod /lib/sunrpc.ko
insmod /lib/lockd.ko
insmod /lib/jbd.ko
insmod /lib/ext3.ko
insmod /lib/nfs.ko ------以上為文件系統
insmod /lib/scsi_mod.ko
insmod /lib/sd_mod.ko
insmod /lib/libata.ko
insmod /lib/ata_piix.ko
insmod /lib/sata_sis.ko ------以上為硬盤控制器驅動
對于硬盤控制器,如果是IDE,就不需要,我這里是sata硬盤,比較惡心,如果是scsi硬盤,還需要一個aic
這些文件是從同類型機器上安裝了FC2后獲得的.
d. 需要一個portmap文件,在/sbin目錄下.
e. Runme.sh需要自己手動建
接下來,還要處理dev目錄中內容,我對dev目錄不太了解,直接從/dev復制是不可以,只好使用現成的..
所有的文件都搞定后:
#cd /tmp/initrd/
#umount m1
#gzip -9 1
#cp 1.gz initrd-new
總結
以上是生活随笔為你收集整理的linux远程安装文件,通过image文件远程安装已经配置的Linux的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 设置重生点指令(我的世界命令方块设置重生
- 下一篇: linux命令基本格式教程,Linux命