mirror of
git://slackware.nl/current.git
synced 2024-12-28 09:59:53 +01:00
22643bf376
a/mkinitrd-1.4.11-x86_64-11.txz: Rebuilt. setup.01.mkinitrd: revert to the previous command line for mkinitrd_command_generator.sh (the new one fails when called from the installer).
69 lines
3.6 KiB
Bash
69 lines
3.6 KiB
Bash
#!/bin/sh
|
|
#BLURB="Generate /boot/initrd.gz for the generic kernel"
|
|
|
|
# First, clear the existing initrd-tree:
|
|
if [ -f $(readlink -f boot/vmlinuz-generic) -o -f $(readlink -f boot/vmlinuz-generic-smp) ]; then
|
|
rm -rf boot/initrd-tree
|
|
fi
|
|
|
|
# Next, if boot/vmlinuz-generic is a symlink to a kernel, generate a ramdisk
|
|
# using the modules for that kernel:
|
|
KERNEL_SYMLINK="boot/vmlinuz-generic"
|
|
if [ -L $KERNEL_SYMLINK ]; then
|
|
KERNEL_VERSION="$(readlink -f $KERNEL_SYMLINK | sed "s/-smp/_smp/g" | rev | cut -f 1 -d - | rev | sed "s/_smp/-smp/g")"
|
|
# Sanity check. Not sure how/why, but there are reports we can arrive here
|
|
# without a $KERNEL_VERSION. The only way I see how is if the symlink were
|
|
# pointing to file with a malformed name
|
|
# (i.e. not ${KERNEL_SYMLINK}-${KERNEL_VERSION}).
|
|
# If ${KERNEL_VERSION} is blank, we'll bail out here.
|
|
# Any information on known cases that might cause this would be appreciated.
|
|
if [ ! "$KERNEL_VERSION" = "" ]; then
|
|
dialog --title "GENERATING INITIAL RAMDISK" --infobox \
|
|
"Generating an initial ramdisk for use with the $KERNEL_VERSION generic \
|
|
kernel. The initial ramdisk contains kernel modules needed to mount the \
|
|
root partition, and must be regenerated whenever the kernel is updated. To \
|
|
regenerate the initrd, select this setup script from within pkgtool, or run \
|
|
'geninitrd' which will produce an initial ramdisk (/boot/initrd.gz) for the \
|
|
kernel pointed to by the /$KERNEL_SYMLINK symlink." 9 68
|
|
chroot . /usr/share/mkinitrd/mkinitrd_command_generator.sh -k $KERNEL_VERSION | sed "s/-c -k/-k/g" | chroot . bash 1> /dev/null 2> /dev/null
|
|
else
|
|
dialog --title "INTERNAL ERROR" --msgbox \
|
|
"An internal error was detected. Please report the following information: \n\
|
|
KERNEL_SYMLINK = $KERNEL_SYMLINK \n\
|
|
KERNEL_SYMLINK (points to) = $(readlink -f $KERNEL_SYMLINK) \n\
|
|
KERNEL_VERSION (is blank) \n\
|
|
ls -l \$KERNEL_SYMLINK: \n\
|
|
$(ls -l $KERNEL_SYMLINK)" 0 0
|
|
fi
|
|
fi
|
|
|
|
# If boot/vmlinuz-generic-smp is a symlink to a kernel, also include the
|
|
# modules for that kernel:
|
|
KERNEL_SYMLINK="boot/vmlinuz-generic-smp"
|
|
if [ -L $KERNEL_SYMLINK ]; then
|
|
KERNEL_VERSION="$(readlink -f $KERNEL_SYMLINK | sed "s/-smp/_smp/g" | rev | cut -f 1 -d - | rev | sed "s/_smp/-smp/g")"
|
|
# Sanity check. Not sure how/why, but there are reports we can arrive here
|
|
# without a $KERNEL_VERSION. The only way I see how is if the symlink were
|
|
# pointing to file with a malformed name
|
|
# (i.e. not ${KERNEL_SYMLINK}-${KERNEL_VERSION}).
|
|
# If ${KERNEL_VERSION} is blank, we'll bail out here.
|
|
# Any information on known cases that might cause this would be appreciated.
|
|
if [ ! "$KERNEL_VERSION" = "" ]; then
|
|
dialog --title "GENERATING INITIAL RAMDISK" --infobox \
|
|
"Generating an initial ramdisk for use with the $KERNEL_VERSION generic \
|
|
kernel. The initial ramdisk contains kernel modules needed to mount the \
|
|
root partition, and must be regenerated whenever the kernel is updated. To \
|
|
regenerate the initrd, select this setup script from within pkgtool, or run \
|
|
'geninitrd' which will produce an initial ramdisk (/boot/initrd.gz) for the \
|
|
kernel pointed to by the /$KERNEL_SYMLINK symlink." 9 68
|
|
chroot . /usr/share/mkinitrd/mkinitrd_command_generator.sh -k $KERNEL_VERSION | sed "s/-c -k/-k/g" | chroot . bash 1> /dev/null 2> /dev/null
|
|
else
|
|
dialog --title "INTERNAL ERROR" --msgbox \
|
|
"An internal error was detected. Please report the following information: \n\
|
|
KERNEL_SYMLINK = $KERNEL_SYMLINK \n\
|
|
KERNEL_SYMLINK (points to) = $(readlink -f $KERNEL_SYMLINK) \n\
|
|
KERNEL_VERSION (is blank) \n\
|
|
ls -l \$KERNEL_SYMLINK: \n\
|
|
$(ls -l $KERNEL_SYMLINK)" 0 0
|
|
fi
|
|
fi
|