You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
107 lines
2.6 KiB
107 lines
2.6 KiB
17 years ago
|
#!/bin/sh
|
||
|
# --- SDE-COPYRIGHT-NOTE-BEGIN ---
|
||
|
# This copyright note is auto-generated by ./scripts/Create-CopyPatch.
|
||
|
#
|
||
|
# Filename: package/.../lilo/boot/makeimages.sh
|
||
|
# Copyright (C) 2008 The OpenSDE Project
|
||
|
# Copyright (C) 2004 - 2006 The T2 SDE Project
|
||
|
#
|
||
|
# More information can be found in the files COPYING and README.
|
||
|
#
|
||
|
# This program is free software; you can redistribute it and/or modify
|
||
|
# it under the terms of the GNU General Public License as published by
|
||
|
# the Free Software Foundation; version 2 of the License. A copy of the
|
||
|
# GNU General Public License can be found in the file COPYING.
|
||
|
# --- SDE-COPYRIGHT-NOTE-END ---
|
||
|
|
||
|
if [ "$1" = -reroot ] ; then
|
||
|
echo "Old PATH: $PATH"
|
||
|
PATH="../../sbin:../../bin:../../../sbin:../usr/bin:$PATH"
|
||
|
echo "New PATH: $PATH"
|
||
|
echo "Old LD_LIBRARY_PATH: $LD_LIBRARY_PATH"
|
||
|
export LD_LIBRARY_PATH="../../lib:../../usr/lib:$LD_LIBRARY_PATH"
|
||
|
LD_LIBRARY_PATH=${LD_LIBRARY_PATH%:}
|
||
|
echo "New LD_LIBRARY_PATH: $LD_LIBRARY_PATH"
|
||
|
shift
|
||
|
fi
|
||
|
|
||
|
if [ "$1" = -combo ] ; then
|
||
|
combo=1
|
||
|
elif [ "$#" != 0 ] ; then
|
||
|
echo "usage: $0 [-reroot] [-combo]"
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
tmpfile=`mktemp -p $PWD`
|
||
|
tmpdir=$tmpfile.dir
|
||
|
mkdir $tmpdir || exit 1
|
||
|
rc=0
|
||
|
|
||
|
tmpdev=
|
||
|
for x in /dev/loop/* ; do
|
||
|
if losetup $x $tmpfile 2> /dev/null ; then
|
||
|
tmpdev=$x ; break
|
||
|
fi
|
||
|
done
|
||
|
if [ -z "$tmpdev" ] ; then
|
||
|
echo "No free loopback device found!"
|
||
|
rm -f $tmpfile ; rmdir $tmpdir
|
||
|
exit 1
|
||
|
fi
|
||
|
echo "Using $tmpdev."
|
||
|
|
||
|
for image in initrd boot_144 boot_288
|
||
|
do
|
||
|
case ${image} in
|
||
|
initrd)
|
||
|
echo "Creating ${image}.gz ..."
|
||
|
size=4096 ;;
|
||
|
boot_144)
|
||
|
echo "Creating ${image}.img ..."
|
||
|
size=1440 ;;
|
||
|
boot_288)
|
||
|
echo "Creating ${image}.img ..."
|
||
|
size=2880 ;;
|
||
|
esac
|
||
|
|
||
|
dd if=/dev/zero of=$tmpfile bs=1024 count=$size &> /dev/null
|
||
|
losetup -d $tmpdev ; losetup $tmpdev $tmpfile || rc=1
|
||
|
mke2fs -q $tmpdev &> /dev/null ; mount $tmpdev $tmpdir || rc=1
|
||
|
|
||
|
case ${image} in
|
||
|
initrd)
|
||
|
cp -a initrd/* $tmpdir || rc=1
|
||
|
;;
|
||
|
|
||
|
boot_144|boot_288)
|
||
|
cp -a boot/{vmlinuz,lilo-help.txt} $tmpdir || rc=1
|
||
|
if [ -f /boot/boot-text.b ]; then
|
||
|
cp /boot/boot-text.b $tmpdir/boot.b || rc=1
|
||
|
fi
|
||
|
liloconf=lilo-conf-${image#boot_}
|
||
|
if [ $image = boot_288 -o "$combo" = 1 ] ; then
|
||
|
cp initrd.gz $tmpdir || rc=1
|
||
|
[ $image = boot_144 ] && liloconf=lilo-conf-1x2
|
||
|
fi
|
||
|
sed -e "s,/mnt/,$tmpdir/,g" \
|
||
|
-e "s,/dev/floppy/0,$tmpdev,;" \
|
||
|
< boot/$liloconf > $tmpdir/lilo.conf || rc=1
|
||
|
lilo -C $tmpdir/lilo.conf > /dev/null || rc=1
|
||
|
;;
|
||
|
esac
|
||
|
|
||
|
umount $tmpdir
|
||
|
|
||
|
case ${image} in
|
||
|
initrd) gzip -9 < $tmpfile > $image.gz || rc=1 ;;
|
||
|
*) cp $tmpfile $image.img || rc=1 ;;
|
||
|
esac
|
||
|
done
|
||
|
|
||
|
losetup -d $tmpdev
|
||
|
rm -f $tmpfile
|
||
|
rmdir $tmpdir
|
||
|
|
||
|
exit $rc
|
||
|
|