1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83
|
#!/bin/sh -e
ARCH=`dpkg --print-architecture`
PROGNAME=make-autoinst-initrd
cwd=`pwd`
if [ "$1" = "--arch" ]; then
ARCH=$2
shift 2
fi
if [ "$#" -ne 1 ]; then
echo >&2 "usage: $PROGNAME [--arch arch] kernel_package"
exit 1
fi
kernelpackage=$1
if [ ! -e $kernelpackage ]; then
echo >&2 "$PROGNAME: $kernelpackage not found"
exit 1
fi
TMPPATH=${TMPDIR:-/tmp}/installer.$$
if ! mkdir -m 0700 $TMPPATH; then
echo >&2 "$PROGNAME: unable to create temporary directory '$TMPPATH'"
exit 1
fi
dd if=/dev/zero of=$TMPPATH/initrd bs=1024 count=4096
/sbin/mke2fs -Fq -N 2048 $TMPPATH/initrd
mkdir $TMPPATH/mnt
mount -o loop $TMPPATH/initrd $TMPPATH/mnt
cd $TMPPATH/mnt
mkdir bin dev etc lib
mkdir lib/python1.5
ln -s bin sbin
ln -s . usr
(cd dev; /dev/MAKEDEV std console fd0 hda hdb hdc hdd sda sdb sdc sdd scd)
#cp -r $cwd/binaries/* .
tar xzf /usr/lib/autoinstall/$ARCH/initrd-bin.tar.gz
#if [ "$1" = "--interactive" ]; then
# cp $cwd/interactive/installer* bin
#fi
dpkg --extract $kernelpackage $TMPPATH/kernel
kernelversion=`ls $TMPPATH/kernel/lib/modules`
/usr/lib/autoinstall/depmod.pl \
-F $TMPPATH/kernel/boot/System.map-$kernelversion \
-B $TMPPATH/kernel/lib/modules \
> $TMPPATH/kernel/lib/modules/$kernelversion/modules.dep \
2>/dev/null
(cd lib; /usr/lib/autoinstall/mkmodules --scsi --net --confdir=$cwd/conf --kerneldir=$TMPPATH/kernel)
cp $TMPPATH/kernel/boot/vmlinuz* $cwd/linux
rm -rf $TMPPATH/kernel
cp /usr/lib/autoinstall/linuxrc .
chmod +x linuxrc
if [ -e $cwd/conf/scsip1.lst ]; then
cp $cwd/conf/scsip1.lst etc
fi
/usr/lib/autoinstall/$ARCH/make-autoinst-initrd $TMPPATH/mnt
cd $cwd
umount $TMPPATH/mnt && rm -rf $TMPPATH/mnt
gzip -9 $TMPPATH/initrd
rm -f initrd.gz
cp $TMPPATH/initrd.gz .
rm $TMPPATH/initrd.gz
rmdir $TMPPATH
exit 0
# vim:ai:et:sts=4:sw=4:tw=0:
|