17-kernel 1.33 KB
Newer Older
1
#!/bin/sh -efu
2
# predictable file locations make bootloader configuration simple;
3
# this script relates to features.in/stage2/stage1/scripts.d/81-make-initfs
4

5 6
[ -n "$GLOBAL_KFLAVOURS" ] ||
  { echo "** KFLAVOURS is empty" >&2; exit 0; }
7

8 9 10 11 12 13 14 15 16 17 18
kver=
echo $GLOBAL_KFLAVOURS
for KFLAVOUR in $GLOBAL_KFLAVOURS; do
	kver+=" $(rpm -qa 'kernel-image*' \
		--qf '%{version}-%{name}-%{release}\n' \
	| grep "$KFLAVOUR" \
	| sed 's/kernel-image-//')"
done

[ ! -z "${kver#"${kver%%[! ]*}"}" ] ||
  { echo "** unable to deduce kernel version" >&2; exit 1; }
19 20 21

cd /boot

22 23 24 25
# creating a special initrd.mk
cp /etc/initrd.mk /etc/initrd.mk.oem
echo 'FEATURES += add-modules compress cleanup kbd rdshell rootfs' \
	>> /etc/initrd.mk.oem
26

27 28
if [ -n "$GLOBAL_VM_INITRDFEATURES" ]; then
	for INITRDFEATURE in $GLOBAL_VM_INITRDFEATURES; do
29 30 31 32 33 34 35
		echo "FEATURES += $INITRDFEATURE" >> /etc/initrd.mk.oem
	done
fi

if [ -n "$GLOBAL_VM_INITRDMODULES" ]; then
	for INITRDMODULE in $GLOBAL_VM_INITRDMODULES; do
		echo "MODULES_TRY_ADD += $INITRDMODULE" >> /etc/initrd.mk.oem
36 37 38
	done
fi

39
for KVER in $kver; do
40
	make-initrd -N -v -k "$KVER" AUTODETECT= -c /etc/initrd.mk.oem \
41 42
	  || { echo "** Error: make-initrd failed" >&2; exit 1; }
done
43

44
case "$GLOBAL_ARCH" in
45
e2k*)
46 47 48 49 50 51 52 53 54
	kname=image;;
*)
	kname=vmlinuz;;
esac

rm -f $kname initrd.img
ln -s $kname-$KVER $kname ||:
ln -s initrd-$KVER.img initrd.img

55
: