52083d8a4b
The config for generating a generic initrd can be interesting because it will allow you to return the initrd to its original generic state.
56 lines
1.3 KiB
Bash
Executable File
56 lines
1.3 KiB
Bash
Executable File
#!/bin/sh -efu
|
|
# predictable file locations make bootloader configuration simple;
|
|
# this script relates to features.in/stage2/stage1/scripts.d/81-make-initfs
|
|
|
|
[ -n "$GLOBAL_KFLAVOURS" ] ||
|
|
{ echo "** KFLAVOURS is empty" >&2; exit 0; }
|
|
|
|
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; }
|
|
|
|
cd /boot
|
|
|
|
# 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
|
|
|
|
if [ -n "$GLOBAL_VM_INITRDFEATURES" ]; then
|
|
for INITRDFEATURE in $GLOBAL_VM_INITRDFEATURES; do
|
|
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
|
|
done
|
|
fi
|
|
|
|
for KVER in $kver; do
|
|
make-initrd -N -v -k "$KVER" AUTODETECT= -c /etc/initrd.mk.oem \
|
|
|| { echo "** Error: make-initrd failed" >&2; exit 1; }
|
|
done
|
|
|
|
case "$GLOBAL_ARCH" in
|
|
e2k)
|
|
kname=image;;
|
|
*)
|
|
kname=vmlinuz;;
|
|
esac
|
|
|
|
rm -f $kname initrd.img
|
|
ln -s $kname-$KVER $kname ||:
|
|
ln -s initrd-$KVER.img initrd.img
|
|
|
|
:
|