Skip to content

Instantly share code, notes, and snippets.

@TheRinger
Created September 9, 2019 00:42
Show Gist options
  • Save TheRinger/cd5b317534c7a38d4c8d9457d7015d02 to your computer and use it in GitHub Desktop.
Save TheRinger/cd5b317534c7a38d4c8d9457d7015d02 to your computer and use it in GitHub Desktop.
kernel compile script - Slackware
#!/bin/bash
LDIR=$PWD
PROC=$(cat /proc/cpuinfo|grep cores|head -1|awk -F ': ' '{ print }')
MODEL="smallz"
VERSION="5.2.13"
KNAME="$MODEL-$VERSION"
KERNELVERSION=$(make -s kernelversion)
KERNELRELEASE=$(make -s kernelrelease)
XFLAGS="--warn-undefined-variables"
FILE_SYSTEM="xfs"
PRIMARY_DRIVE="/dev/sdb1"
INITRD_NAME="/boot/initrd-${KNAME}"
MODULE_LIST="mbcache:ext4:usb-storage:ehci-hcd:ehci-pci:xfs:zfs"
#CURRENTVERSION=$(uname -r)
link_def_linux() {
cd /usr/src
rm linux
ln -sf linux-$VERSION linux
cd linux
}
clean_linux() {
cd /usr/src/linux
make clean
make mrproper
}
copy_config() {
zcat /proc/config.gz > .config
#cat /boot/config > .config
make olddefconfig
}
run_make() {
cd /usr/src/linux
make prepare scripts
make -j4 bzImage modules_prepare modules modules_install
#make -j${PROC} -C $KBUILD M=$PWD modules_prepare modules modules_install
}
cp_output() {
cp /usr/src/linux/arch/x86/boot/bzImage /boot/vmlinuz-$KNAME
cp /usr/src/linux/System.map /boot/System.map-$KNAME
cp /usr/src/linux/.config /boot/config-$KNAME
}
make_default_boot_links() {
cd /boot
echo "removing old symlinks"
rm vmlinuz
rm System.map
rm config
echo "new symlinks created for ${KNAME}"
ln -sf vmlinuz-${KNAME} vmlinuz
ln -sf System.map-${KNAME} System.map
ln -sf config-${KNAME} config
}
run_mkinitrd(){
cd /boot
/sbin/mkinitrd -c -k ${KERNELVERSION} -r ${PRIMARY_DRIVE} -f ${FILE_SYSTEM} -m ${MODULE_LIST} -u -o ${INITRD_NAME}
}
#NVIDIA
nvidia_install() {
#NVIDIA INSTALL SCRIPT
}
#ZFS
zfs_install() {
#ZFS INSTALL SCRIPT
}
#WIREGUARD
wireguard_install() {
#WIREGUARD INSTALL SCRIPT
}
#LILO.CONF
lilo_conf_installer() {
cat /etc/lilo.conf > /boot/lilo_conf
sed -i '$d' /boot/lilo_conf
echo "image = /boot/vmlinuz-${KNAME}" >> /boot/lilo_conf
echo " root = ${PRIMARY_DRIVE}" >> /boot/lilo_conf
echo " initrd = ${INITRD_NAME}" >> /boot/lilo_conf
echo " label = linux-${KNAME}" >> /boot/lilo_conf
echo " read-only" >> /boot/lilo_conf
echo "# Linux bootable partition config ends" >> /boot/lilo_conf
cat /boot/lilo_conf > /etc/lilo.conf
lilo -C /etc/lilo.conf
liloconfig
}
install_grub() {
mkinitrd -c -k $VERSION -f xfs -r /dev/sdb1 -m xfs:zfs:mbcache
/usr/sbin/grub-mkconfig -o /boot/grub/grub.cfg
}
print_tests() {
echo "
image = /boot/vmlinuz-$KNAME
root = /dev/sdb1
initrd = $INITRD_NAME
label = linux-$KNAME
read-only
"
echo
echo "/boot/config-$KNAME"
echo "/boot/System.map-$KNAME"
echo "/boot/vmlinuz-$KNAME"
echo "please add to /etc/lilo.conf"
}
cd $LDIR
exit 0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment