太仓市质监站网址,微信备份如何转换为wordpress,建设网站的整个费用预算,邢台58同城smallwl 于 2006-08-29 00:08:53发表:一. 制作initrd文件1. 选择操作系统,这里就用FC2.0吧.2. 安装busybox.在这里, 需要一些命令去做一些事情, 比如fdisk, ls ,mv……如果把所有这些文件都做到initrd中,这个文件会太庞大了, busybox就是为了解决这个问题的.从www.busybox.net上…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#make3. 定制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/shPATH/sbin:/bin:/usr/bin:/usr/sbin# Mount filesystems in /etc/fstab.if [ -x /bin/mount ]; then/bin/mount -a -vfiecho Loading modules...insmod /lib/e1000.koinsmod /lib/sunrpc.koinsmod /lib/lockd.koinsmod /lib/jbd.koinsmod /lib/ext3.koinsmod /lib/nfs.koinsmod /lib/scsi_mod.koinsmod /lib/sd_mod.koinsmod /lib/libata.koinsmod /lib/ata_piix.koinsmod /lib/sata_sis.koecho Loading modules done#sleep 15ifconfig eth0 192.168.100.100 netmask 255.255.255.0portmapsleep 15echo Connect nfs server and get image files...mount -o rsize8192,wsize8192,intr,nolock 192.168.100.1:/images /imagesecho Connecting nfs server done/images/runme.sh根据这个shell,我们知道a. 还需要bash文件,将bash复制到/tmp/initrd/m1/bin目录中,同时检查lib文件.b. [rootbackup etc]# cat fstabnone /proc proc defaults 0 0c. 硬件驱动文件,文件系统驱动文件insmod /lib/e1000.ko ------网卡insmod /lib/sunrpc.koinsmod /lib/lockd.koinsmod /lib/jbd.koinsmod /lib/ext3.koinsmod /lib/nfs.ko ------以上为文件系统insmod /lib/scsi_mod.koinsmod /lib/sd_mod.koinsmod /lib/libata.koinsmod /lib/ata_piix.koinsmod /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