diff --git a/kernel/kernel/actions.py b/kernel/kernel/actions.py
index 44b8e1b8..589711c1 100644
--- a/kernel/kernel/actions.py
+++ b/kernel/kernel/actions.py
@@ -42,12 +42,19 @@ def install():
shelltools.touch("linux.preset")
- shelltools.echo("linux.preset", 'ALL_config="/etc/mkinitcpio.conf"\n'+
+ shelltools.echo("linux.preset", "# mkinitcpio preset file for the 'linux' package\n" +
- 'ALL_kver="/boot/kernel-%s"\n'% get.srcVERSION() +
+ 'ALL_config="/etc/mkinitcpio.conf"\n'+
+
+ 'ALL_kver="/boot/kernel-%s"\n\n'% get.srcVERSION() +
+ "PRESETS=('default' 'fallback') \n\n" +
+ '#default_config="/etc/mkinitcpio.conf"\n' +
'default_image="/boot/initramfs-%s.img"\n'% get.srcVERSION() +
- 'default_options="-S autodetect"\n')
+ '#default_options=""\n\n' +
+ '#fallback_config="/etc/mkinitcpio.conf"\n'+
+ 'fallback_image="/boot/initramfs-%s-fallback.img"\n'% get.srcVERSION() +
+ 'fallback_options="-S autodetect"\n')
pisitools.insinto("/etc/mkinitcpio.d", "linux.preset")
diff --git a/kernel/kernel/pspec.xml b/kernel/kernel/pspec.xml
index 0db22d96..711aba36 100644
--- a/kernel/kernel/pspec.xml
+++ b/kernel/kernel/pspec.xml
@@ -190,7 +190,6 @@
kernel
pisi
- mkinitramfs
linux-firmware
grub2
diff --git a/kernel/tools/mkinitcpio/pspec.xml b/kernel/tools/mkinitcpio/pspec.xml
index 816d30a9..ed06970b 100644
--- a/kernel/tools/mkinitcpio/pspec.xml
+++ b/kernel/tools/mkinitcpio/pspec.xml
@@ -30,8 +30,15 @@
libarchive
kmod
libkmod
+ kernel
busybox-mkinitcpio
+
+ mkinitramfs
+
+
+ mkinitramfs
+
/usr/bin
/usr/lib
diff --git a/pisi-index.xml b/pisi-index.xml
index 24b60529..f4287fab 100644
--- a/pisi-index.xml
+++ b/pisi-index.xml
@@ -672,7 +672,6 @@
pisi
- mkinitramfs
linux-firmware
grub2
@@ -896,6 +895,7 @@
libarchive
kmod
libkmod
+ kernel
busybox-mkinitcpio
@@ -905,6 +905,12 @@
/usr/share/doc
/etc
+
+ mkinitramfs
+
+
+ mkinitramfs
+
System.PackageHandler
@@ -3201,6 +3207,7 @@
help2man
perl-Locale-gettext
+ mkinitcpio
/usr/bin
diff --git a/pisi-index.xml.sha1sum b/pisi-index.xml.sha1sum
index 730d1bba..04b89214 100644
--- a/pisi-index.xml.sha1sum
+++ b/pisi-index.xml.sha1sum
@@ -1 +1 @@
-c4d70eeef83b5558209f2c21ff6ae3614f9caf31
\ No newline at end of file
+24921e123be3893253577838e04ae80c1a6dbaad
\ No newline at end of file
diff --git a/pisi-index.xml.xz b/pisi-index.xml.xz
index 2cd2accc..237d092c 100644
Binary files a/pisi-index.xml.xz and b/pisi-index.xml.xz differ
diff --git a/pisi-index.xml.xz.sha1sum b/pisi-index.xml.xz.sha1sum
index 83b77d06..30e6ea73 100644
--- a/pisi-index.xml.xz.sha1sum
+++ b/pisi-index.xml.xz.sha1sum
@@ -1 +1 @@
-c0586bff5d0ad05098ca3f6708a614aa51acfb5f
\ No newline at end of file
+4d880ba8e74a5454d8422d688467c99639dd5ee4
\ No newline at end of file
diff --git a/system/base/help2man/pspec.xml b/system/base/help2man/pspec.xml
index 6d549100..a137d9cd 100644
--- a/system/base/help2man/pspec.xml
+++ b/system/base/help2man/pspec.xml
@@ -25,6 +25,7 @@
help2man
perl-Locale-gettext
+ mkinitcpio
/usr/bin
diff --git a/system/boot/grub2/files/pisi_name_and_initramfs.patch b/system/boot/grub2/files/pisi_name_and_initramfs.patch
index b5b2d00c..66203eb2 100644
--- a/system/boot/grub2/files/pisi_name_and_initramfs.patch
+++ b/system/boot/grub2/files/pisi_name_and_initramfs.patch
@@ -1,5 +1,5 @@
---- grub-2.00/util/grub.d/10_linux.in~ 2012-04-18 23:24:38.000000000 +0200
-+++ grub-2.00/util/grub.d/10_linux.in 2012-11-28 22:27:41.652673833 +0100
+--- grub-2.02~beta2.orig/util/grub.d/10_linux.in 2013-12-24 18:45:34.000000000 +0200
++++ grub-2.02~beta2/util/grub.d/10_linux.in 2016-04-28 19:10:54.268739535 +0300
@@ -29,7 +29,13 @@
CLASS="--class gnu-linux --class gnu --class os"
@@ -14,11 +14,13 @@
+ fi
else
OS="${GRUB_DISTRIBUTOR} GNU/Linux"
- CLASS="--class $(echo ${GRUB_DISTRIBUTOR} | tr 'A-Z' 'a-z' | cut -d' ' -f1) ${CLASS}"
-@@ -193,6 +199,7 @@
+ CLASS="--class $(echo ${GRUB_DISTRIBUTOR} | tr 'A-Z' 'a-z' | cut -d' ' -f1|LC_ALL=C sed 's,[^[:alnum:]_],_,g') ${CLASS}"
+@@ -186,7 +192,8 @@
+
initrd=
for i in "initrd.img-${version}" "initrd-${version}.img" "initrd-${version}.gz" \
- "initrd-${version}" "initramfs-${version}.img" \
+- "initrd-${version}" "initramfs-${version}.img" \
++ "initrd-${version}" "initramfs-${version}.img" "initramfs-fallback-${version}.img"\
+ "initramfs-${version}.gz" "initramfs-${version}" \
"initrd.img-${alt_version}" "initrd-${alt_version}.img" \
"initrd-${alt_version}" "initramfs-${alt_version}.img" \