📄 initrd_create
字号:
#!/bin/bash## initrd_create: make initrd rootdisk## Author: Tomas Matejicek <http://www.linux-live.org># Chinese Patch Author: atfa <http://doc.linuxfans.org>#. ../config || exit 1. ./liblinuxlive || exit 1 KERNEL=`/bin/uname -r`echo "creating empty image file initrd.img..."dd if=/dev/zero of=$INITRDIMG bs=1024 count=$RAM0SIZE >/dev/null 2>/dev/nullecho "making filesystem..."mkfs -t ext2 -F -m 0 -i 1024 $INITRDIMG >/dev/null 2>/dev/nullecho "creating empty directory $MOUNTDIR..."rm -Rf $MOUNTDIRmkdir $MOUNTDIRecho "mounting initrd.img to it..."mount -o loop $INITRDIMG $MOUNTDIRecho "creating directories..."rmdir $MOUNTDIR/lost+foundmkdir -p $MOUNTDIR/{etc,dev,bin,mnt,proc,sbin,lib,tmp,usr/bin,usr/sbin}echo "copying files to the rootdisk (this may take some time)..."touch $MOUNTDIR/etc/{m,fs}tabcp {linuxrc,liblinuxlive} $MOUNTDIR # symlink will be copied as original filechmod a+x $MOUNTDIR/linuxrc# find all lib dependencesfor BINARY in cp chmod touch tar gzip gunzip rm bash sh mount umount mv cut \ mkdir rmdir ls ln echo cat grep egrep fdisk blockdev sed\ pivot_root insmod lsmod modprobe depmod swapon eject tail tr \ chroot readlink basename dirname test sleep [ ;do for LOCATION in /bin /sbin /usr/bin /usr/sbin ; do if [ -r "$LOCATION/$BINARY" ]; then rcopy "$LOCATION/$BINARY" "$MOUNTDIR" list_libs "$LOCATION/$BINARY" | sort | uniq | while read LIB; do if [ ! -a "$MOUNTDIR/$LIB" ]; then rcopy "$LIB" "$MOUNTDIR" fi done fi donedone# this line can be safely removed when using 2.6 kernelcp -R /sbin/*.old $MOUNTDIR/sbin 2>/dev/null#filesize script by using ls + cutecho -ne "#!/bin/bash\necho \`ls -ol \"\$1\"\` | cut -d \" \" -f 4" >$MOUNTDIR/bin/filesizechmod 0755 $MOUNTDIR/bin/filesizeLMK="lib/modules/$KERNEL"#necessary modules and dependency filesrcopy /$LMK/kernel/fs/ovlfs $MOUNTDIR#copy filesystem modules, if not directly copied into kernelrcopy /$LMK/kernel/fs/ntfs $MOUNTDIR 2>/dev/nullrcopy /$LMK/kernel/fs/ext3 $MOUNTDIR 2>/dev/nullrcopy /$LMK/kernel/fs/reiserfs $MOUNTDIR 2>/dev/null#usb modulesrcopy /$LMK/kernel/drivers/usb/usbcore.* $MOUNTDIR 2>/dev/nullrcopy /$LMK/kernel/drivers/usb/host $MOUNTDIR 2>/dev/nullrcopy /$LMK/kernel/drivers/usb/storage $MOUNTDIR 2>/dev/null#disk (ide, raid, pcmcia, pnp, ide-scsi) modulesrcopy /$LMK/kernel/drivers/ide $MOUNTDIRrcopy /$LMK/kernel/drivers/pcmcia $MOUNTDIRrcopy /$LMK/kernel/drivers/pnp $MOUNTDIRrcopy /$LMK/kernel/drivers/scsi/ide-scsi.* $MOUNTDIRchroot $MOUNTDIR depmod -a 2>/dev/null # some dependences may be missingecho "unmounting $MOUNTDIR and gzipping initrd.img..."umount $MOUNTDIRgzip --best $INITRDIMGecho "deleting directory $MOUNTDIR..."rm -Rf $MOUNTDIR
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -