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
|
#!/bin/ash
# copyright 2004 vagrant@freegeek.org, distributed under the terms of the
# GNU General Public License version 2 or any later version.
if [ -e /etc/lessdisks/server.config ]; then
. /etc/lessdisks/server.config
fi
if [ "yes" = "$use_mknbi" ]; then
use_mknbi=true
fi
if [ "true" != "$use_mknbi" ]; then
echo "skipping mknbi generation..."
exit 0
fi
# mkelf-linux is the newer standard
if [ -n "$(which mkelf-linux)" ]; then
mknbi_command=mkelf-linux
elif [ -n "$(which mknbi-linux)" ]; then
mknbi_command=mknbi-linux
else
echo "couldn't find mknbi-linux or mkelf-linux... exiting..."
exit 1
fi
if [ -z "$mknbi_opts" ]; then
mknbi_opts="--ip=dhcp"
fi
# turn kernel-images into network-bootable kernel images
cd /boot
for kernel in `ls vmlinuz* | egrep -v "\.nb"` ; do
if [ -L "$kernel" ]; then
realkernel=$(readlink $kernel)
if [ -e "$realkernel" ]; then
echo "making symbolic link from $kernel.nb to $realkernel.nb"
ln -sf $realkernel.nb $kernel.nb
fi
else
echo "making $kernel.nb"
kversion=$(echo $kernel | cut -d "-" -f 2,3,4,5,6)
if [ "$kversion" = "vmlinuz" ]; then
kversion=
else
kversion="-$kversion"
fi
initrd=
initrd_error=
if [ -s "initrd.img$kversion" ]; then
initrd="initrd.img$kversion"
echo "using initrd: $initrd"
elif [ -e "initrd.img$kversion" ]; then
echo "WARNING: initrd.img$kversion has zero size!"
echo "not making $kernel.nb"
initrd_error=true
fi
if [ -z "$initrd_error" ]; then
$mknbi_command $mknbi_opts $kernel $initrd > $kernel.nb
fi
fi
echo
done
|