#!/bin/bash

# build up a cramfs for initrd use.
# probably you will run this under fakeroot

PATH=$PATH:/usr/sbin:/sbin export PATH

list=$1
srctree=$2
basicroot=$3

echo "info: buildinitrd script, list=\"$1\" scrctree=\"$2\" basicroot=\"$3\" and pwd=\"`pwd`\""

rm -rf initrd
mkdir -p initrd
cat $list | (cd ${basicroot} && cpio --format=crc -o) | (cd initrd && cpio -id )

#(cd initrd/bin && while read thing; do /bin/ln -f busybox $thing; done) <<FUDGE
#cat
#echo
#grep
#mount
#umount
#ls
#ln
#mkdir
#mknod
#chmod
#FUDGE

(cd initrd && mkdir -p ./bin ./dev ./etc ./lib ./proc ./sbin ./var ./var/lock ./var/log ./initrd ./root ./devt)
mknod initrd/dev/console c 5 1
mknod initrd/dev/null c 1 3
ls -l initrd/dev
cp $srctree/testing/utils/linuxrc-uml.sh initrd/linuxrc
cp $srctree/testing/utils/linuxrc-funcs.sh initrd/funcs.sh

# make a cpio archive too. we might use it for initramfs.
(cd initrd; find . -print | cpio --format=newc -o ) >initrd.cpio

