summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpico.dev <pico.dev@gmail.com>2020-03-09 02:18:02 +0100
committerpico.dev <pico.dev@gmail.com>2020-03-09 02:24:31 +0100
commit1a939a239245afbacc21adc3ef04d1fdedcd9721 (patch)
tree797c5936241777357bb376c57bc4c3e9db91c481
parent5f518ab71303982b47c9d51bd8a8a8675193cdf3 (diff)
* Support custom partition
* Set keyboard layout * Support custom kernel parameters * Support F2FS Fixes #73 Fixes #75 Fixes #76 Fixex #77
-rw-r--r--README.md11
-rw-r--r--alis-recovery.conf4
-rw-r--r--alis-recovery.sh103
-rw-r--r--alis.conf10
-rw-r--r--alis.sh162
5 files changed, 184 insertions, 106 deletions
diff --git a/README.md b/README.md
index 7a0cd1e..5591168 100644
--- a/README.md
+++ b/README.md
@@ -9,7 +9,7 @@ the [Arch Linux wiki](https://wiki.archlinux.org), the [Installation Guide](http
Recomendations](https://wiki.archlinux.org/index.php/General_recommendations), later
compare those commands with the commands of this script.
-For new features, improvements and bugs fill an issue in GitHub or make a pull request. You can test it in a VirtualBox virtual machine (recommended) before run it in real hardware. If you test it in real hardware please send me an email to pico.dev@gmail.com with the machine description and tell me if something goes wrong or all works fine. [Pull request](https://github.com/picodotdev/alis/pulls) and [new feature request](https://github.com/picodotdev/alis/issues) are welcome!
+For new features, improvements and bugs fill an issue in GitHub or make a pull request. You can test it in a VirtualBox virtual machine (strongly recommended) before run it in real hardware. If you test it in real hardware please send me an email to pico.dev@gmail.com with the machine description and tell me if something goes wrong or all works fine. [Pull request](https://github.com/picodotdev/alis/pulls) and [new feature request](https://github.com/picodotdev/alis/issues) are welcome!
**Warning! This script deletes all partitions of the persistent storage**
@@ -22,20 +22,21 @@ Currently these scripts are for me but maybe they are useful for you too.
* LVM and no LVM
* _root_ partition encrypted and no encrypted
* LVM on LUKS when LVM and encrypted
-* File system formats ext4, btrfs (with subvols), xfs
+* Support automatic (wipe and use full disk), custom and manual partition
+* File system formats ext4, btrfs (with subvols), f2fs, xfs
* Optional file swap (not supported in btrfs)
* WPA WIFI network installation
* Periodic TRIM for SSD storage
* VirtualBox guest utils
* Intel and AMD processors microcode
+* Additional kernels installation (linux-lts, linux-hardened, linux-zen)
+* Kernel compression and custom parameters
* Users creation and add to sudoers
* Common and custom packages installation
* AUR utility installation (aurman, yay)
* Retry packages download on connection/mirror error
* Desktop environments (GDM, KDE, XFCE, Mate, Cinnamon, LXDE), display managers (GDM, SDDM, Lightdm, lxdm) and no desktop environment
-* Additional kernel installation (linux-lts, linux-hardened, linux-zen)
-* Kernel compression
-* Graphic controllers (intel, nvidia, amd) with optionally early KMS start
+* Graphics controllers (intel, nvidia, amd) with optionally early KMS start
* GRUB, rEFInd, systemd-boot bootloaders
* Script for download installation and recovery scripts and configuration files
* Packer support for testing in VirtualBox
diff --git a/alis-recovery.conf b/alis-recovery.conf
index 6fd32e7..5b3aab4 100644
--- a/alis-recovery.conf
+++ b/alis-recovery.conf
@@ -7,6 +7,10 @@ DEVICE_TRIM="true"
LVM="true"
PARTITION_ROOT_ENCRYPTION_PASSWORD="archlinux" # Warning: change it!
PARTITION_ROOT_ENCRYPTION_PASSWORD_RETYPE="archlinux"
+PARTITION_MODE="auto !custom !manual"
+PARTITION_BIOS="/dev/sda1"
+PARTITION_BOOT="/dev/sda1 !/dev/sda2 !/dev/nvme0n1p1 !/dev/mmcblk0p1"
+PARTITON_ROOT="/dev/sda2 !/dev/sda3 !/dev/nvme0n1p2 !/dev/mmcblk0p2"
# network_install
WIFI_INTERFACE=""
diff --git a/alis-recovery.sh b/alis-recovery.sh
index 2c30118..d2b746f 100644
--- a/alis-recovery.sh
+++ b/alis-recovery.sh
@@ -97,6 +97,13 @@ function check_variables() {
check_variables_value "DEVICE" "$DEVICE"
check_variables_boolean "LVM" "$LVM"
check_variables_equals "PARTITION_ROOT_ENCRYPTION_PASSWORD" "PARTITION_ROOT_ENCRYPTION_PASSWORD_RETYPE" "$PARTITION_ROOT_ENCRYPTION_PASSWORD" "$PARTITION_ROOT_ENCRYPTION_PASSWORD_RETYPE"
+ check_variables_list "PARTITION_MODE" "$PARTITION_MODE" "auto custom manual" "true"
+ check_variables_value "PARTITION_BIOS" "$PARTITION_BIOS"
+ check_variables_value "PARTITION_BOOT" "$PARTITION_BOOT"
+ check_variables_value "PARTITON_ROOT" "$PARTITON_ROOT"
+ if [ "$LVM" == "true" ]; then
+ check_variables_list "PARTITION_MODE" "$PARTITION_MODE" "auto" "true"
+ fi
check_variables_value "PING_HOSTNAME" "$PING_HOSTNAME"
}
@@ -207,6 +214,7 @@ function facts() {
function prepare() {
prepare_partition
+ configure_network
}
function prepare_partition() {
@@ -243,7 +251,7 @@ function configure_network() {
sleep 10
fi
- ping -c 5 $PING_HOSTNAME
+ ping -c 1 -i 2 -W 5 -w 30 $PING_HOSTNAME
if [ $? -ne 0 ]; then
echo "Network ping check failed. Cannot continue."
exit
@@ -251,55 +259,59 @@ function configure_network() {
}
function partition() {
- if [ "$BIOS_TYPE" == "uefi" ]; then
- if [ "$DEVICE_SATA" == "true" ]; then
- PARTITION_BOOT="${DEVICE}1"
- PARTITION_ROOT="${DEVICE}2"
- #PARTITION_BOOT_NUMBER=1
- DEVICE_ROOT="${DEVICE}2"
- fi
-
- if [ "$DEVICE_NVME" == "true" ]; then
- PARTITION_BOOT="${DEVICE}p1"
- PARTITION_ROOT="${DEVICE}p2"
- #PARTITION_BOOT_NUMBER=1
- DEVICE_ROOT="${DEVICE}p2"
- fi
-
- if [ "$DEVICE_MMC" == "true" ]; then
- PARTITION_BOOT="${DEVICE}p1"
- PARTITION_ROOT="${DEVICE}p2"
- #PARTITION_BOOT_NUMBER=1
- DEVICE_ROOT="${DEVICE}p2"
- fi
- fi
-
- if [ "$BIOS_TYPE" == "bios" ]; then
- if [ "$DEVICE_SATA" == "true" ]; then
- PARTITION_BIOS="${DEVICE}1"
- PARTITION_BOOT="${DEVICE}2"
- PARTITION_ROOT="${DEVICE}3"
- #PARTITION_BOOT_NUMBER=2
- DEVICE_ROOT="${DEVICE}3"
- fi
-
- if [ "$DEVICE_NVME" == "true" ]; then
- PARTITION_BIOS="${DEVICE}p1"
- PARTITION_BOOT="${DEVICE}p2"
- PARTITION_ROOT="${DEVICE}p3"
- #PARTITION_BOOT_NUMBER=2
- DEVICE_ROOT="${DEVICE}p3"
+ # setup
+ if [ "$PARTITION_MODE" == "auto" ]; then
+ if [ "$BIOS_TYPE" == "uefi" ]; then
+ if [ "$DEVICE_SATA" == "true" ]; then
+ PARTITION_BOOT="${DEVICE}1"
+ PARTITION_ROOT="${DEVICE}2"
+ #PARTITION_BOOT_NUMBER=1
+ DEVICE_ROOT="${DEVICE}2"
+ fi
+
+ if [ "$DEVICE_NVME" == "true" ]; then
+ PARTITION_BOOT="${DEVICE}p1"
+ PARTITION_ROOT="${DEVICE}p2"
+ #PARTITION_BOOT_NUMBER=1
+ DEVICE_ROOT="${DEVICE}p2"
+ fi
+
+ if [ "$DEVICE_MMC" == "true" ]; then
+ PARTITION_BOOT="${DEVICE}p1"
+ PARTITION_ROOT="${DEVICE}p2"
+ #PARTITION_BOOT_NUMBER=1
+ DEVICE_ROOT="${DEVICE}p2"
+ fi
fi
- if [ "$DEVICE_MMC" == "true" ]; then
- PARTITION_BIOS="${DEVICE}p1"
- PARTITION_BOOT="${DEVICE}p2"
- PARTITION_ROOT="${DEVICE}p3"
- #PARTITION_BOOT_NUMBER=2
- DEVICE_ROOT="${DEVICE}p3"
+ if [ "$BIOS_TYPE" == "bios" ]; then
+ if [ "$DEVICE_SATA" == "true" ]; then
+ PARTITION_BIOS="${DEVICE}1"
+ PARTITION_BOOT="${DEVICE}2"
+ PARTITION_ROOT="${DEVICE}3"
+ #PARTITION_BOOT_NUMBER=2
+ DEVICE_ROOT="${DEVICE}3"
+ fi
+
+ if [ "$DEVICE_NVME" == "true" ]; then
+ PARTITION_BIOS="${DEVICE}p1"
+ PARTITION_BOOT="${DEVICE}p2"
+ PARTITION_ROOT="${DEVICE}p3"
+ #PARTITION_BOOT_NUMBER=2
+ DEVICE_ROOT="${DEVICE}p3"
+ fi
+
+ if [ "$DEVICE_MMC" == "true" ]; then
+ PARTITION_BIOS="${DEVICE}p1"
+ PARTITION_BOOT="${DEVICE}p2"
+ PARTITION_ROOT="${DEVICE}p3"
+ #PARTITION_BOOT_NUMBER=2
+ DEVICE_ROOT="${DEVICE}p3"
+ fi
fi
fi
+ # luks and lvm
if [ -n "$PARTITION_ROOT_ENCRYPTION_PASSWORD" ]; then
echo -n "$PARTITION_ROOT_ENCRYPTION_PASSWORD" | cryptsetup --key-file=- open $PARTITION_ROOT $LVM_VOLUME_PHISICAL
sleep 5
@@ -316,6 +328,7 @@ function partition() {
PARTITION_OPTIONS="$PARTITION_OPTIONS,noatime"
fi
+ # mount
if [ "$FILE_SYSTEM_TYPE" == "btrfs" ]; then
mount -o "subvol=root,$PARTITION_OPTIONS,compress=lzo" "$DEVICE_ROOT" /mnt
mount -o "$PARTITION_OPTIONS" "$PARTITION_BOOT" /mnt/boot
diff --git a/alis.conf b/alis.conf
index c74af5b..2366315 100644
--- a/alis.conf
+++ b/alis.conf
@@ -13,7 +13,13 @@ DEVICE_TRIM="true" # If DEVICE supports TRIM
LVM="true" # true if use LVM for partitioning
PARTITION_ROOT_ENCRYPTION_PASSWORD="archlinux" # LUKS encryption key, if LVM will be user LVM on LUKS. Empty for not use LUKS/encryption. Warning: change it!
PARTITION_ROOT_ENCRYPTION_PASSWORD_RETYPE="archlinux"
-FILE_SYSTEM_TYPE="ext4 !btrfs !xfs" # (single)
+PARTITION_MODE="auto !custom !manual"
+PARTITON_CUSTOM_PARTED_UEFI="mklabel gpt mkpart primary fat32 1MiB 512MiB mkpart primary $FILE_SYSTEM_TYPE 512MiB 100% set 1 boot on"
+PARTITON_CUSTOM_PARTED_BIOS="mklabel gpt mkpart primary fat32 1MiB 128MiB mkpart primary $FILE_SYSTEM_TYPE 128MiB 512MiB mkpart primary $FILE_SYSTEM_TYPE 512MiB 100% set 1 boot on"
+PARTITION_BIOS="/dev/sda1"
+PARTITION_BOOT="/dev/sda1 !/dev/sda2 !/dev/nvme0n1p1 !/dev/mmcblk0p1"
+PARTITON_ROOT="/dev/sda2 !/dev/sda3 !/dev/nvme0n1p2 !/dev/mmcblk0p2"
+FILE_SYSTEM_TYPE="ext4 !btrfs !f2fs !xfs" # (single)
SWAP_SIZE="!2GiB !4GiB !8GiB" # (single)
# network_install
@@ -27,12 +33,14 @@ PING_HOSTNAME="mirrors.kernel.org"
PACMAN_MIRROR="https://mirrors.kernel.org/archlinux/\$repo/os/\$arch"
KERNELS="!linux-lts !linux-lts-headers !linux-hardened !linux-hardened-headers !linux-zen !linux-zen-headers" # Additional kernels and headers (multiple)
KERNELS_COMPRESSION="!gzip !bzip2 !lzma !xz !lzop !lz4"
+KERNELS_PARAMETERS="" # eg. iommu=soft
# config
TIMEZONE="/usr/share/zoneinfo/Europe/Madrid"
LOCALES=("es_ES.UTF-8 UTF-8" "en_GB.UTF-8 UTF-8")
LOCALE_CONF=("LANG=es_ES.UTF-8" "LANGUAGE=es_ES:es:en_GB:en")
KEYMAP="KEYMAP=es"
+KEYLAYOUT="es"
FONT=""
FONT_MAP=""
HOSTNAME="archlinux"
diff --git a/alis.sh b/alis.sh
index 5d790a7..26394c9 100644
--- a/alis.sh
+++ b/alis.sh
@@ -85,6 +85,10 @@ function configuration_install() {
function sanitize_variables() {
DEVICE=$(sanitize_variable "$DEVICE")
+ PARTITION_MODE=$(sanitize_variable "$PARTITION_MODE")
+ PARTITION_BIOS=$(sanitize_variable "$PARTITION_BIOS")
+ PARTITION_BOOT=$(sanitize_variable "$PARTITION_BOOT")
+ PARTITON_ROOT=$(sanitize_variable "$PARTITON_ROOT")
FILE_SYSTEM_TYPE=$(sanitize_variable "$FILE_SYSTEM_TYPE")
SWAP_SIZE=$(sanitize_variable "$SWAP_SIZE")
KERNELS=$(sanitize_variable "$KERNELS")
@@ -113,7 +117,16 @@ function check_variables() {
check_variables_value "DEVICE" "$DEVICE"
check_variables_boolean "LVM" "$LVM"
check_variables_equals "PARTITION_ROOT_ENCRYPTION_PASSWORD" "PARTITION_ROOT_ENCRYPTION_PASSWORD_RETYPE" "$PARTITION_ROOT_ENCRYPTION_PASSWORD" "$PARTITION_ROOT_ENCRYPTION_PASSWORD_RETYPE"
- check_variables_list "FILE_SYSTEM_TYPE" "$FILE_SYSTEM_TYPE" "ext4 btrfs xfs"
+ check_variables_list "PARTITION_MODE" "$PARTITION_MODE" "auto custom manual" "true"
+ check_variables_value "PARTITON_CUSTOM_PARTED_UEFI" "$PARTITON_CUSTOM_PARTED_UEFI"
+ check_variables_value "PARTITON_CUSTOM_PARTED_BIOS" "$PARTITON_CUSTOM_PARTED_BIOS"
+ check_variables_value "PARTITION_BIOS" "$PARTITION_BIOS"
+ check_variables_value "PARTITION_BOOT" "$PARTITION_BOOT"
+ check_variables_value "PARTITON_ROOT" "$PARTITON_ROOT"
+ if [ "$LVM" == "true" ]; then
+ check_variables_list "PARTITION_MODE" "$PARTITION_MODE" "auto" "true"
+ fi
+ check_variables_list "FILE_SYSTEM_TYPE" "$FILE_SYSTEM_TYPE" "ext4 btrfs f2fs xfs"
check_variables_value "PING_HOSTNAME" "$PING_HOSTNAME"
check_variables_value "PACMAN_MIRROR" "$PACMAN_MIRROR"
check_variables_list "KERNELS" "$KERNELS" "linux-lts linux-lts-headers linux-hardened linux-hardened-headers linux-zen linux-zen-headers" "false"
@@ -333,69 +346,90 @@ function configure_network() {
function partition() {
print_step "partition()"
- # clean
- sgdisk --zap-all $DEVICE
- wipefs -a $DEVICE
-
- # partition
- if [ "$BIOS_TYPE" == "uefi" ]; then
- if [ "$DEVICE_SATA" == "true" ]; then
- PARTITION_BOOT="${DEVICE}1"
- PARTITION_ROOT="${DEVICE}2"
- #PARTITION_BOOT_NUMBER=1
- DEVICE_ROOT="${DEVICE}2"
+ # setup
+ PARTITON_PARTED_UEFI="mklabel gpt mkpart primary fat32 1MiB 512MiB mkpart primary $FILE_SYSTEM_TYPE 512MiB 100% set 1 boot on"
+ PARTITON_PARTED_BIOS="mklabel gpt mkpart primary fat32 1MiB 128MiB mkpart primary $FILE_SYSTEM_TYPE 128MiB 512MiB mkpart primary $FILE_SYSTEM_TYPE 512MiB 100% set 1 boot on"
+
+ if [ "$PARTITION_MODE" == "auto" ]; then
+ # clean
+ sgdisk --zap-all $DEVICE
+ wipefs -a $DEVICE
+
+ if [ "$BIOS_TYPE" == "uefi" ]; then
+ if [ "$DEVICE_SATA" == "true" ]; then
+ PARTITION_BOOT="${DEVICE}1"
+ PARTITION_ROOT="${DEVICE}2"
+ #PARTITION_BOOT_NUMBER=1
+ DEVICE_ROOT="${DEVICE}2"
+ fi
+
+ if [ "$DEVICE_NVME" == "true" ]; then
+ PARTITION_BOOT="${DEVICE}p1"
+ PARTITION_ROOT="${DEVICE}p2"
+ #PARTITION_BOOT_NUMBER=1
+ DEVICE_ROOT="${DEVICE}p2"
+ fi
+
+ if [ "$DEVICE_MMC" == "true" ]; then
+ PARTITION_BOOT="${DEVICE}p1"
+ PARTITION_ROOT="${DEVICE}p2"
+ #PARTITION_BOOT_NUMBER=1
+ DEVICE_ROOT="${DEVICE}p2"
+ fi
fi
- if [ "$DEVICE_NVME" == "true" ]; then
- PARTITION_BOOT="${DEVICE}p1"
- PARTITION_ROOT="${DEVICE}p2"
- #PARTITION_BOOT_NUMBER=1
- DEVICE_ROOT="${DEVICE}p2"
- fi
-
- if [ "$DEVICE_MMC" == "true" ]; then
- PARTITION_BOOT="${DEVICE}p1"
- PARTITION_ROOT="${DEVICE}p2"
- #PARTITION_BOOT_NUMBER=1
- DEVICE_ROOT="${DEVICE}p2"
+ if [ "$BIOS_TYPE" == "bios" ]; then
+ if [ "$DEVICE_SATA" == "true" ]; then
+ PARTITION_BIOS="${DEVICE}1"
+ PARTITION_BOOT="${DEVICE}2"
+ PARTITION_ROOT="${DEVICE}3"
+ #PARTITION_BOOT_NUMBER=2
+ DEVICE_ROOT="${DEVICE}3"
+ fi
+
+ if [ "$DEVICE_NVME" == "true" ]; then
+ PARTITION_BIOS="${DEVICE}p1"
+ PARTITION_BOOT="${DEVICE}p2"
+ PARTITION_ROOT="${DEVICE}p3"
+ #PARTITION_BOOT_NUMBER=2
+ DEVICE_ROOT="${DEVICE}p3"
+ fi
+
+ if [ "$DEVICE_MMC" == "true" ]; then
+ PARTITION_BIOS="${DEVICE}p1"
+ PARTITION_BOOT="${DEVICE}p2"
+ PARTITION_ROOT="${DEVICE}p3"
+ #PARTITION_BOOT_NUMBER=2
+ DEVICE_ROOT="${DEVICE}p3"
+ fi
fi
+ fi
- parted -s $DEVICE mklabel gpt mkpart primary fat32 1MiB 512MiB mkpart primary $FILE_SYSTEM_TYPE 512MiB 100% set 1 boot on
- sgdisk -t=1:ef00 $DEVICE
- if [ "$LVM" == "true" ]; then
- sgdisk -t=2:8e00 $DEVICE
- fi
+ if [ "$PARTITION_MODE" == "custom" ]; then
+ PARTITON_PARTED_UEFI=$PARTITON_CUSTOM_PARTED_UEFI
+ PARTITON_PARTED_BIOS=$PARTITON_CUSTOM_PARTED_BIOS
fi
- if [ "$BIOS_TYPE" == "bios" ]; then
- if [ "$DEVICE_SATA" == "true" ]; then
- PARTITION_BIOS="${DEVICE}1"
- PARTITION_BOOT="${DEVICE}2"
- PARTITION_ROOT="${DEVICE}3"
- #PARTITION_BOOT_NUMBER=2
- DEVICE_ROOT="${DEVICE}3"
- fi
+ # partition
+ if [ "$BIOS_TYPE" == "uefi" ]; then
+ parted -s $DEVICE $PARTITON_PARTED_UEFI
- if [ "$DEVICE_NVME" == "true" ]; then
- PARTITION_BIOS="${DEVICE}p1"
- PARTITION_BOOT="${DEVICE}p2"
- PARTITION_ROOT="${DEVICE}p3"
- #PARTITION_BOOT_NUMBER=2
- DEVICE_ROOT="${DEVICE}p3"
- fi
-
- if [ "$DEVICE_MMC" == "true" ]; then
- PARTITION_BIOS="${DEVICE}p1"
- PARTITION_BOOT="${DEVICE}p2"
- PARTITION_ROOT="${DEVICE}p3"
- #PARTITION_BOOT_NUMBER=2
- DEVICE_ROOT="${DEVICE}p3"
+ if [ "$PARTITION_MODE" == "auto" ]; then
+ sgdisk -t=1:ef00 $DEVICE
+ if [ "$LVM" == "true" ]; then
+ sgdisk -t=2:8e00 $DEVICE
+ fi
fi
+ fi
- parted -s $DEVICE mklabel gpt mkpart primary fat32 1MiB 128MiB mkpart primary $FILE_SYSTEM_TYPE 128MiB 512MiB mkpart primary $FILE_SYSTEM_TYPE 512MiB 100% set 1 boot on
- sgdisk -t=1:ef02 $DEVICE
- if [ "$LVM" == "true" ]; then
- sgdisk -t=3:8e00 $DEVICE
+ if [ "$BIOS_TYPE" == "bios" ]; then
+ parted -s $DEVICE $PARTITON_PARTED_BIOS
+
+ if [ "$PARTITION_MODE" == "auto" ]; then
+ sgdisk -t=1:ef02 $DEVICE
+ if [ "$LVM" == "true" ]; then
+ sgdisk -t=3:8e00 $DEVICE
+ fi
fi
fi
@@ -528,6 +562,17 @@ function configuration() {
echo -e "$KEYMAP\n$FONT\n$FONT_MAP" > /mnt/etc/vconsole.conf
echo $HOSTNAME > /mnt/etc/hostname
+ cat <<EOT > /mnt/etc/X11/xorg.conf.d/00-keyboard.conf
+# Written by systemd-localed(8), read by systemd-localed and Xorg. It's
+# probably wise not to edit this file manually. Use localectl(1) to
+# instruct systemd-localed to update it.
+Section "InputClass"
+ Identifier "system-keyboard"
+ MatchIsKeyboard "on"
+ Option "XkbLayout" "$KEYLAYOUT"
+EndSection
+EOT
+
if [ -n "$SWAP_SIZE" ]; then
echo "vm.swappiness=10" > /mnt/etc/sysctl.d/99-sysctl.conf
fi
@@ -566,6 +611,9 @@ function mkinitcpio_configuration() {
if [ "$FILE_SYSTEM_TYPE" == "btrfs" ]; then
pacman_install "btrfs-progs"
fi
+ if [ "$FILE_SYSTEM_TYPE" == "f2fs" ]; then
+ pacman_install "f2fs-tools"
+ fi
if ["$BOOTLOADER" == "systemd"]; then
HOOKS=$(echo $HOOKS | sed 's/!systemd/systemd/')
@@ -660,6 +708,10 @@ function bootloader() {
esac
fi
+ if [ -n "$KERNELS_PARAMETERS" ]; then
+ CMDLINE_LINUX="$CMDLINE_LINUX $KERNELS_PARAMETERS"
+ fi
+
case "$BOOTLOADER" in
"grub" )
grub