#!/bin/bash
# Creates new ramdisk image from ./initrd/* and puts it in disk/initrd.gz
sync
if [ -d initrd ] && [ -d disk ] && [ -d mnt ]; then
	echo -n creating new ramdisk..
	dd if=/dev/zero of=disk/initrd bs=1k count=4096 > /dev/null 2>/dev/null
	echo done

	echo -n formatting new ramdisk..
	mkfs.minix disk/initrd > /dev/null
	#mkfs.minix disk/initrd
	echo done

	echo -n mounting ramdisk..
	mount -o loop disk/initrd mnt
	mount | grep loop | sed s/^.*type//

	echo -n copying root filesystem over..  
	cp -a initrd/* mnt
	# Intermittently crashes while finishing copy.
	sync
	echo done

	echo -n unmounting ramdisk..
	umount mnt; mount | grep loop && echo existing loops detected.
	echo done

	echo -n gzipping initrd..
	gzip -f -9 disk/initrd;
	sync
	echo done
else
	echo Directories missing.  mnt, initrd, disk.  Not in correct directory?
	exit 0
fi
