mirror of
https://github.com/AlexisTM/RT-WiFi.git
synced 2024-12-18 21:28:07 +00:00
63 lines
2.3 KiB
Bash
Executable File
63 lines
2.3 KiB
Bash
Executable File
#!/bin/bash
|
|
# Copyright 2009-2013 Luis R. Rodriguez <mcgrof@do-not-panic.com>
|
|
#
|
|
# Since we provide ssb, ethernet modules and most importantly
|
|
# DRM drivers, people may want to update the initramfs image
|
|
# of their distribution. This can also help people who may
|
|
# want to wireless-boot their systems.
|
|
|
|
KLIB="$1"
|
|
ver=$(echo $KLIB | awk -F "/lib/modules/" '{print $2}' | awk -F"/" '{print $1}')
|
|
dir=/boot/
|
|
|
|
LSB_RED_ID=$(/usr/bin/lsb_release -i -s &> /dev/null)
|
|
|
|
if [[ -z $LSB_RED_ID && -f "/etc/os-release" ]]; then
|
|
# Let's try with os-release. Fedora doesn't have
|
|
# lsb_release anymore.
|
|
LSB_RED_ID=$(sed -n '/^NAME/ s/^NAME=\(.*\)$/\1/p' /etc/os-release)
|
|
fi
|
|
|
|
case $LSB_RED_ID in
|
|
"Ubuntu")
|
|
echo "Updating ${LSB_RED_ID}'s initramfs for $ver under $dir ..."
|
|
mkinitramfs -o $dir/initrd.img-$ver $ver
|
|
echo "Will now run update-grub to ensure grub will find the new initramfs ..."
|
|
update-grub
|
|
;;
|
|
"Debian")
|
|
echo "Updating ${LSB_RED_ID}'s initramfs for $ver under $dir ..."
|
|
mkinitramfs -o $dir/initrd.img-$ver $ver
|
|
echo "Will now run update-grub to ensure grub will find the new initramfs ..."
|
|
update-grub
|
|
;;
|
|
"Fedora")
|
|
# This adds a -compat-drivers suffixed initramfs with a new grub2
|
|
# entry to not override distribution's default stuff.
|
|
INITRAMFS=${dir}initramfs-$ver-compat-drivers.img
|
|
KERNEL=${dir}vmlinuz-$ver
|
|
GRUB_TITLE="Fedora ($ver) with compat-drivers"
|
|
|
|
echo "Updating ${LSB_RED_ID}'s initramfs for $ver under $dir ..."
|
|
mkinitrd --force $INITRAMFS $ver
|
|
|
|
# If a previous compat-drivers entry for the same kernel exists
|
|
# do not add it again.
|
|
grep -q "${GRUB_TITLE}" /etc/grub2.cfg &> /dev/null
|
|
if [[ "$?" == "1" ]]; then
|
|
echo "Will now run grubby to add a new kernel entry ..."
|
|
# Add a new kernel entry
|
|
grubby --grub2 --copy-default --add-kernel="$KERNEL" --initrd="$INITRAMFS" --title="$GRUB_TITLE"
|
|
fi
|
|
;;
|
|
*)
|
|
echo "Note:"
|
|
echo "You may or may not need to update your initramfs, you should if"
|
|
echo "any of the modules installed are part of your initramfs. To add"
|
|
echo "support for your distribution to do this automatically send a"
|
|
echo "patch against \"$(basename $0)\". If your distribution does not"
|
|
echo "require this send a patch with the '/usr/bin/lsb_release -i -s'"
|
|
echo "($LSB_RED_ID) tag for your distribution to avoid this warning."
|
|
;;
|
|
esac
|