diff options
Diffstat (limited to 'source/a')
-rwxr-xr-x | source/a/bash/bash.SlackBuild | 9 | ||||
-rw-r--r-- | source/a/mkinitrd/geninitrd | 33 | ||||
-rw-r--r--[-rwxr-xr-x] | source/a/mkinitrd/init | 0 | ||||
-rwxr-xr-x | source/a/mkinitrd/mkinitrd.SlackBuild | 12 | ||||
-rw-r--r-- | source/a/mkinitrd/setup.01.mkinitrd | 38 |
5 files changed, 90 insertions, 2 deletions
diff --git a/source/a/bash/bash.SlackBuild b/source/a/bash/bash.SlackBuild index b058dd81..0233e6ac 100755 --- a/source/a/bash/bash.SlackBuild +++ b/source/a/bash/bash.SlackBuild @@ -31,7 +31,7 @@ PKG=$TMP/package-bash PKGNAM=bash VERSION=${VERSION:-$(echo bash-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} -BUILD=${BUILD:-1} +BUILD=${BUILD:-2} # Automatically determine the architecture we're building on: MARCH=$( uname -m ) @@ -49,16 +49,22 @@ NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "} if [ "$ARCH" = "i486" ]; then SLKCFLAGS="-O2 -march=i486 -mcpu=i686" + LIBDIRSUFFIX="" elif [ "$ARCH" = "i586" ]; then SLKCFLAGS="-O2 -march=i586 -mtune=i686" + LIBDIRSUFFIX="" elif [ "$ARCH" = "s390" ]; then SLKCFLAGS="-O2" + LIBDIRSUFFIX="" elif [ "$ARCH" = "x86_64" ]; then SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" elif [ "$ARCH" = "armv7hl" ]; then SLKCFLAGS="-O2 -march=armv7-a -mfpu=vfpv3-d16" + LIBDIRSUFFIX="" else SLKCFLAGS="-O2" + LIBDIRSUFFIX="" fi case "$ARCH" in @@ -109,6 +115,7 @@ fi CFLAGS="$SLKCFLAGS" \ ./configure \ --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ --mandir=/usr/man \ --infodir=/usr/info \ --docdir=/usr/doc/bash-$VERSION \ diff --git a/source/a/mkinitrd/geninitrd b/source/a/mkinitrd/geninitrd new file mode 100644 index 00000000..db7995ab --- /dev/null +++ b/source/a/mkinitrd/geninitrd @@ -0,0 +1,33 @@ +#!/bin/bash + +# Copyright 2019 Patrick J. Volkerding, Sebeka, Minnesota, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# This is a simple script to regenerate the initial ramdisk when a new +# kernel is installed. It will generate /boot/initrd.gz which will be +# suitable for *most* uses for whatever kernel is linked to the +# /boot/vmlinuz-generic (or /boot/vmlinuz-generic-smp) symlink. The +# linked kernel must be named properly with the kernel version in the +# filename (the same naming scheme as the kernels shipped in Slackware). +# +# If you use an encrypted root, you'll need to make your initrd manually. + +cd $(dirname $0)/../.. +chroot . /var/lib/pkgtools/setup/setup.01.mkinitrd diff --git a/source/a/mkinitrd/init b/source/a/mkinitrd/init index 7e238ac6..7e238ac6 100755..100644 --- a/source/a/mkinitrd/init +++ b/source/a/mkinitrd/init diff --git a/source/a/mkinitrd/mkinitrd.SlackBuild b/source/a/mkinitrd/mkinitrd.SlackBuild index 7538dbd1..38ea9485 100755 --- a/source/a/mkinitrd/mkinitrd.SlackBuild +++ b/source/a/mkinitrd/mkinitrd.SlackBuild @@ -25,7 +25,7 @@ cd $(dirname $0) ; CWD=$(pwd) PKGNAM=mkinitrd VERSION=${VERSION:-1.4.11} BB=1.28.3 -BUILD=${BUILD:-8} +BUILD=${BUILD:-9} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then @@ -120,6 +120,16 @@ cat $CWD/mkinitrd.conf.5 | gzip -9c > $PKG/usr/man/man5/mkinitrd.conf.5.gz cat $CWD/mkinitrd.8 | gzip -9c > $PKG/usr/man/man8/mkinitrd.8.gz cat $CWD/mkinitrd_command_generator.8 | gzip -9c > $PKG/usr/man/man8/mkinitrd_command_generator.8.gz +mkdir -p $PKG/var/lib/pkgtools/setup +cp -a $CWD/setup.01.mkinitrd $PKG/var/lib/pkgtools/setup +chown root:root $PKG/var/lib/pkgtools/setup/setup.01.mkinitrd +chmod 755 $PKG/var/lib/pkgtools/setup/setup.01.mkinitrd + +mkdir -p $PKG/usr/sbin +cp -a $CWD/geninitrd $PKG/usr/sbin +chown root:root $PKG/usr/sbin/geninitrd +chmod 755 $PKG/usr/sbin/geninitrd + mkdir -p $PKG/etc cp -a $CWD/mkinitrd.conf.sample $PKG/etc/mkinitrd.conf.sample # ARM systems often need more time to find devices: diff --git a/source/a/mkinitrd/setup.01.mkinitrd b/source/a/mkinitrd/setup.01.mkinitrd new file mode 100644 index 00000000..b8004470 --- /dev/null +++ b/source/a/mkinitrd/setup.01.mkinitrd @@ -0,0 +1,38 @@ +#!/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: +if [ -f $(readlink -f boot/vmlinuz-generic) ]; then + KERNEL_SYMLINK="boot/vmlinuz-generic" + KERNEL_VERSION="$(readlink -f $KERNEL_SYMLINK | sed "s/-smp/_smp/g" | rev | cut -f 1 -d - | rev | sed "s/_smp/-smp/g")" +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 +fi + +# If boot/vmlinuz-generic-smp is a symlink to a kernel, also include the +# modules for that kernel: +if [ -f $(readlink -f boot/vmlinuz-generic-smp) ]; then + KERNEL_SYMLINK="boot/vmlinuz-generic-smp" + KERNEL_VERSION="$(readlink -f $KERNEL_SYMLINK | sed "s/-smp/_smp/g" | rev | cut -f 1 -d - | rev | sed "s/_smp/-smp/g")" +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 +fi + |