49 lines
1.3 KiB
Bash
Executable File
49 lines
1.3 KiB
Bash
Executable File
#!/bin/sh -e
|
|
#
|
|
# Copyright (C) 2015 ScyllaDB
|
|
|
|
print_usage() {
|
|
echo "scylla_bootparam_setup -a"
|
|
echo " -a AMI instance mode"
|
|
exit 1
|
|
}
|
|
|
|
AMI=0
|
|
while getopts a OPT; do
|
|
case "$OPT" in
|
|
"a")
|
|
AMI=1
|
|
;;
|
|
"h")
|
|
print_usage
|
|
;;
|
|
esac
|
|
done
|
|
|
|
|
|
. /etc/os-release
|
|
. /etc/sysconfig/scylla-server
|
|
|
|
if [ $AMI -eq 1 ]; then
|
|
sed -e "s#append #append clocksource=tsc tsc=reliable hugepagesz=2M hugepages=$NR_HUGEPAGES #" /boot/extlinux/extlinux.conf > /tmp/extlinux.conf
|
|
mv /tmp/extlinux.conf /boot/extlinux/extlinux.conf
|
|
else
|
|
if [ ! -f /etc/default/grub ]; then
|
|
echo "Unsupported bootloader"
|
|
exit 1
|
|
fi
|
|
if [ "`grep hugepagesz /etc/default/grub`" != "" ] || [ "`grep hugepages /etc/default/grub`" != "" ]; then
|
|
sed -e "s#hugepagesz=2M ##" /etc/default/grub > /tmp/grub
|
|
mv /tmp/grub /etc/default/grub
|
|
sed -e "s#hugepages=[0-9]* ##" /etc/default/grub > /tmp/grub
|
|
mv /tmp/grub /etc/default/grub
|
|
fi
|
|
sed -e "s#^GRUB_CMDLINE_LINUX=\"#GRUB_CMDLINE_LINUX=\"hugepagesz=2M hugepages=$NR_HUGEPAGES #" /etc/default/grub > /tmp/grub
|
|
mv /tmp/grub /etc/default/grub
|
|
if [ "$ID" = "ubuntu" ]; then
|
|
grub2-mkconfig -o /boot/grub/grub.cfg
|
|
else
|
|
grub2-mkconfig -o /boot/grub2/grub.cfg
|
|
fi
|
|
fi
|