Compare commits

...

48 Commits

Author SHA1 Message Date
Marek Marczykowski-Górecki
6c00f3baa1
Merge remote-tracking branch 'origin/pr/114' into stable-4.19
* origin/pr/114:
  Update to kernel-4.19.82
2019-11-11 11:32:20 +01:00
Marek Marczykowski-Górecki
07374ebe08
Disable GCC plugins for out of tree kernel modules
kernel modules built in VM often use different gcc version, which makes
provided gcc plugins incompatible. Since rebuilding those plugins may
not be straight forward (extra gcc headers needed, possibly kernel
config changes needed if gcc version differs significantly), disable
them for out of tree modules.

Fixes QubesOS/qubes-issues#2844

(cherry picked from commit e3a342006f)
2019-11-11 05:40:19 +01:00
fepitre-bot
870975ba78
Update to kernel-4.19.82 2019-11-09 05:35:57 +01:00
fepitre-bot
55de5a6d2e
Update to kernel-4.19.81 2019-11-02 05:43:07 +01:00
fepitre-bot
97292cdef7
Update to kernel-4.19.80 2019-10-19 05:45:23 +02:00
fepitre-bot
e8db5c951b
Update to kernel-4.19.79 2019-10-12 10:01:31 +02:00
fepitre-bot
22bc9d21fd
Update to kernel-4.19.76 2019-10-05 05:39:52 +02:00
fepitre-bot
89845ebba1
Update to kernel-4.19.74 2019-09-21 05:38:37 +02:00
Marek Marczykowski-Górecki
fd29026ffa
Merge remote-tracking branch 'origin/pr/92' into stable-4.19
* origin/pr/92:
  Update to kernel-4.19.72
2019-09-17 05:01:12 +02:00
Marek Marczykowski-Górecki
189588b521
rpm: set default kernel version based on package flavor
If default kernel was from kernel-latest, update default kernel property
on kernel-latest update (only). Same for other kernel package flavor.

Suggested by @hexagonrecursion
Fixes QubesOS/qubes-issues#5309

(cherry picked from commit 1d50db3f47)
2019-09-15 22:30:14 +02:00
fepitre-bot
cd54eb11ac
Update to kernel-4.19.72 2019-09-14 11:16:00 +02:00
fepitre-bot
b9d1274783
Update to kernel-4.19.71 2019-09-07 05:36:40 +02:00
fepitre-bot
80cca5b530
Update to kernel-4.19.67 2019-08-16 22:58:50 +02:00
fepitre-bot
95ef045a6c
Update to kernel-4.19.61 2019-07-27 05:01:25 -04:00
fepitre-bot
f3efd1dc01
Update to kernel-4.19.59 2019-07-20 03:43:18 -04:00
fepitre-bot
67040fe72a
Update to kernel-4.19.58 2019-07-13 04:27:27 -04:00
fepitre-bot
009baa7c9a
Update to kernel-4.19.57 2019-07-06 05:34:46 -04:00
fepitre-bot
39ce308324
Update to kernel-4.19.56 2019-06-29 04:57:44 -04:00
fepitre-bot
892ce7b0b9
Update to kernel-4.19.54 2019-06-22 05:14:23 -04:00
fepitre-bot
cba881ecd4
Update to kernel-4.19.50 2019-06-15 00:51:08 -04:00
Marek Marczykowski-Górecki
0db8239456
version 4.19.48-2 2019-06-10 00:43:01 +02:00
Marek Marczykowski-Górecki
d1a67615c7
Merge remote-tracking branch 'origin/pr/58' into stable-4.19
* origin/pr/58:
  Update to kernel-4.19.48
2019-06-09 16:09:35 +02:00
Marek Marczykowski-Górecki
734ee7c248
Support a build without u2mfn module
In R4.1 u2mfn module isn't needed anymore.

QubesOS/qubes-issues#4280

(cherry picked from commit a5a4ae6735)
2019-06-09 16:08:23 +02:00
fepitre-bot
0bdff73c30
Update to kernel-4.19.48 2019-06-08 03:51:40 -04:00
fepitre-bot
8b4d479798
Update to kernel-4.19.47 2019-06-01 01:31:45 -04:00
Marek Marczykowski-Górecki
38d24af659
version 4.19.46-3 2019-05-28 02:41:57 +02:00
Marek Marczykowski-Górecki
706876a703
Apply follow up fix for amdgpu driver
Fixes QubesOS/qubes-issues#4934
2019-05-28 02:34:25 +02:00
Marek Marczykowski-Górecki
f6b5a204a0
version 4.19.46-2 2019-05-28 01:51:09 +02:00
Marek Marczykowski-Górecki
606a117b06
Really apply the amdgpu patch
Fixes QubesOS/qubes-issues#4934
2019-05-28 01:50:29 +02:00
Marek Marczykowski-Górecki
670e7678f3
version 4.19.46-1 2019-05-28 01:21:18 +02:00
Marek Marczykowski-Górecki
96657adf23
Backport fix for amdgpu driver on Xen PV (including dom0)
Fixes QubesOS/qubes-issues#4934
2019-05-27 18:39:06 +02:00
fepitre-bot
0e4e2cf3c4
Update to kernel-4.19.45 2019-05-25 01:30:37 -04:00
Marek Marczykowski-Górecki
fedad2780c
version 4.19.43-1 2019-05-15 05:35:13 +02:00
Marek Marczykowski-Górecki
02beadc381
Fix setting default kernel for VM 2019-05-15 05:34:26 +02:00
fepitre-bot
c799530211
Update to kernel-4.19.42 2019-05-11 01:01:08 -04:00
fepitre-bot
5e5e03e992
Update to kernel-4.19.39 2019-05-04 04:14:34 -04:00
fepitre-bot
8fd5151195
Update to kernel-4.19.36 2019-04-20 22:17:07 +02:00
fepitre-bot
d642d1decb
Update to kernel-4.19.34 2019-04-06 01:36:26 -04:00
Marek Marczykowski-Górecki
738ddf8e59
version 4.19.29-1 2019-03-19 04:43:12 +01:00
Marek Marczykowski-Górecki
f3902991d1
rpm: build modules.img at package build time only on new system
Older mkfs.ext3 doesn't have -d option.
This in practice revert eb4c9ed "Build modules.img at module build time"
on older systems.

(cherry picked from commit fd14ac930c)
2019-03-19 04:30:48 +01:00
Frédéric Pierret (fepitre)
ad9f3374c7
plymouth: ignore serial console hvc0 in UEFI
(cherry picked from commit 61b9336d70)
2019-03-19 04:30:31 +01:00
Frédéric Pierret (fepitre)
4111545966
Ensure the rebuild of grub.cfg with plymouth.ignore-serial-consoles
(cherry picked from commit a44160b1bb)
2019-03-19 04:30:31 +01:00
Frédéric Pierret (fepitre)
cb452983b5
plymouth-ignore-serial-consoles: adjusting the method from marmarek suggestion
af674124d6
(cherry picked from commit e69b02bec8)
2019-03-19 04:30:31 +01:00
Frédéric Pierret (fepitre)
ac27fed47e
plymouth: ignore serial console hvc0
It fixes splash screen issue QubesOS/qubes-issues#3849

(cherry picked from commit af674124d6)
2019-03-19 04:30:31 +01:00
Marek Marczykowski-Górecki
6fa02f0622
Include default-kernelopts-common.txt with kernel-specific default options
Default kernel options like root= or plymouth.enable are specific to the
kernel package (and initrd bundled with it). Start migrating away from
built-in defaults in core-admin by adding a file in kernel package
containing those options.

Also, if new enough initramfs is included, add xen_scrub_pages=0 which
will speed up the domain start.

QubesOS/qubes-issues#4839
QubesOS/qubes-issues#4736

(cherry picked from commit 9cfa9a92af)
2019-03-19 04:29:36 +01:00
Marek Marczykowski-Górecki
1a8f484db6
Improve reproducibility of initramfs
Use SOURCE_DATE_EPOCH variable

(cherry picked from commit 43235dd862)
(cherry picked from commit 50b7baa8be)
2019-03-19 04:29:03 +01:00
Marek Marczykowski-Górecki
72e769ead6
Build modules.img at module build time
This will make package installation a little faster, more reproducible
(mkfs.ext3 -d is easier to make/replace with reproducible tool than
kernel driver), and also make disk space estimation more accurate.

(cherry picked from commit eb4c9ed392)
(cherry picked from commit 1fe8359f05)
2019-03-19 04:28:15 +01:00
Marek Marczykowski-Górecki
2df4b71291
version 4.19.15-1 2019-01-19 00:55:14 +01:00
5 changed files with 281 additions and 13 deletions

View File

@ -0,0 +1,165 @@
From 4fcb87529a644016dc00459681efafc542e7c202 Mon Sep 17 00:00:00 2001
From: Michael D Labriola <michael.d.labriola@gmail.com>
Date: Tue, 19 Feb 2019 18:08:12 -0500
Subject: [PATCH] drm: change func to better detect wether swiotlb is needed
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This commit fixes DRM failures on Xen PV systems that were introduced in
v4.17 by the following commits:
82626363 drm: add func to get max iomem address v2
fd5fd480 drm/amdgpu: only enable swiotlb alloc when need v2
1bc3d3cc drm/radeon: only enable swiotlb path when need v2
The introduction of ->need_swiotlb to the ttm_dma_populate() conditionals
in the radeon and amdgpu device drivers causes Gnome to immediately crash
on Xen PV systems, returning the user to the login screen. The following
kernel errors get logged:
[ 28.554259] radeon_dp_aux_transfer_native: 200 callbacks suppressed
[ 31.219821] radeon 0000:01:00.0: swiotlb buffer is full (sz: 2097152 bytes)
[ 31.220030] [drm:radeon_gem_object_create [radeon]] *ERROR* Failed to allocate GEM object (16384000, 2, 4096, -14)
[ 31.226109] radeon 0000:01:00.0: swiotlb buffer is full (sz: 2097152 bytes)
[ 31.226300] [drm:radeon_gem_object_create [radeon]] *ERROR* Failed to allocate GEM object (16384000, 2, 4096, -14)
[ 31.300734] gnome-shell[1935]: segfault at 88 ip 00007f39151cd904 sp 00007ffc97611ad8 error 4 in libmutter-cogl.so[7f3915178000+aa000]
[ 31.300745] Code: 5f c3 0f 1f 40 00 48 8b 47 78 48 8b 40 40 ff e0 66 0f 1f 44 00 00 48 8b 47 78 48 8b 40 48 ff e0 66 0f 1f 44 00 00 48 8b 47 78 <48> 8b 80 88 00 00 00 ff e0 0f 1f 00 48 8b 47 78 48 8b 40 68 ff e0
[ 38.193302] radeon_dp_aux_transfer_native: 116 callbacks suppressed
[ 40.009317] radeon 0000:01:00.0: swiotlb buffer is full (sz: 2097152 bytes)
[ 40.009488] [drm:radeon_gem_object_create [radeon]] *ERROR* Failed to allocate GEM object (16384000, 2, 4096, -14)
[ 40.015114] radeon 0000:01:00.0: swiotlb buffer is full (sz: 2097152 bytes)
[ 40.015297] [drm:radeon_gem_object_create [radeon]] *ERROR* Failed to allocate GEM object (16384000, 2, 4096, -14)
[ 40.028302] gnome-shell[2431]: segfault at 2dadf40 ip 0000000002dadf40 sp 00007ffcd24ea5f8 error 15
[ 40.028306] Code: 20 6e 31 00 00 00 00 00 00 00 00 37 e3 3d 2d 7f 00 00 80 f4 e6 3d 2d 7f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 <00> 00 00 00 00 00 00 00 c1 00 00 00 00 00 00 00 80 e1 d2 03 00 00
This commit renames drm_get_max_iomem() to drm_need_swiotlb(), adds a
xen_pv_domain() check to it, and moves the bit shifting comparison that
always follows its usage into the function (simplifying the drm driver
code).
Signed-off-by: Michael D Labriola <michael.d.labriola@gmail.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Christian König <christian.koenig@amd.com>
Link: https://patchwork.freedesktop.org/patch/286987/
(cherry picked from commit 913b2cb727b7a47ccf8842d54c89f1b873c6deed)
---
drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c | 2 +-
drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c | 2 +-
drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c | 2 +-
drivers/gpu/drm/drm_memory.c | 19 ++++++++++++++++---
drivers/gpu/drm/radeon/radeon_device.c | 2 +-
include/drm/drm_cache.h | 2 +-
6 files changed, 21 insertions(+), 8 deletions(-)
diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c b/drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c
index f8d8a3a73e42..cd5bb3e248dc 100644
--- a/drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c
@@ -1024,7 +1024,7 @@ static int gmc_v7_0_sw_init(void *handle)
pci_set_consistent_dma_mask(adev->pdev, DMA_BIT_MASK(32));
pr_warn("amdgpu: No coherent DMA available\n");
}
- adev->need_swiotlb = drm_get_max_iomem() > ((u64)1 << dma_bits);
+ adev->need_swiotlb = drm_need_swiotlb(dma_bits);
r = gmc_v7_0_init_microcode(adev);
if (r) {
diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c b/drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c
index 1a744f964b30..831f72b26d3b 100644
--- a/drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c
@@ -1150,7 +1150,7 @@ static int gmc_v8_0_sw_init(void *handle)
pci_set_consistent_dma_mask(adev->pdev, DMA_BIT_MASK(32));
pr_warn("amdgpu: No coherent DMA available\n");
}
- adev->need_swiotlb = drm_get_max_iomem() > ((u64)1 << dma_bits);
+ adev->need_swiotlb = drm_need_swiotlb(dma_bits);
r = gmc_v8_0_init_microcode(adev);
if (r) {
diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c b/drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c
index 72f8018fa2a8..9ec47e726d78 100644
--- a/drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c
@@ -911,7 +911,7 @@ static int gmc_v9_0_sw_init(void *handle)
pci_set_consistent_dma_mask(adev->pdev, DMA_BIT_MASK(32));
printk(KERN_WARNING "amdgpu: No coherent DMA available.\n");
}
- adev->need_swiotlb = drm_get_max_iomem() > ((u64)1 << dma_bits);
+ adev->need_swiotlb = drm_need_swiotlb(dma_bits);
r = gmc_v9_0_mc_init(adev);
if (r)
diff --git a/drivers/gpu/drm/drm_memory.c b/drivers/gpu/drm/drm_memory.c
index d69e4fc1ee77..6af59a61f9b0 100644
--- a/drivers/gpu/drm/drm_memory.c
+++ b/drivers/gpu/drm/drm_memory.c
@@ -35,6 +35,7 @@
#include <linux/highmem.h>
#include <linux/export.h>
+#include <xen/xen.h>
#include <drm/drmP.h>
#include "drm_legacy.h"
@@ -150,15 +151,27 @@ void drm_legacy_ioremapfree(struct drm_local_map *map, struct drm_device *dev)
}
EXPORT_SYMBOL(drm_legacy_ioremapfree);
-u64 drm_get_max_iomem(void)
+bool drm_need_swiotlb(int dma_bits)
{
struct resource *tmp;
resource_size_t max_iomem = 0;
+ /*
+ * Xen paravirtual hosts require swiotlb regardless of requested dma
+ * transfer size.
+ *
+ * NOTE: Really, what it requires is use of the dma_alloc_coherent
+ * allocator used in ttm_dma_populate() instead of
+ * ttm_populate_and_map_pages(), which bounce buffers so much in
+ * Xen it leads to swiotlb buffer exhaustion.
+ */
+ if (xen_pv_domain())
+ return true;
+
for (tmp = iomem_resource.child; tmp; tmp = tmp->sibling) {
max_iomem = max(max_iomem, tmp->end);
}
- return max_iomem;
+ return max_iomem > ((u64)1 << dma_bits);
}
-EXPORT_SYMBOL(drm_get_max_iomem);
+EXPORT_SYMBOL(drm_need_swiotlb);
diff --git a/drivers/gpu/drm/radeon/radeon_device.c b/drivers/gpu/drm/radeon/radeon_device.c
index 59c8a6647ff2..a1d3c628c352 100644
--- a/drivers/gpu/drm/radeon/radeon_device.c
+++ b/drivers/gpu/drm/radeon/radeon_device.c
@@ -1387,7 +1387,7 @@ int radeon_device_init(struct radeon_device *rdev,
pci_set_consistent_dma_mask(rdev->pdev, DMA_BIT_MASK(32));
pr_warn("radeon: No coherent DMA available\n");
}
- rdev->need_swiotlb = drm_get_max_iomem() > ((u64)1 << dma_bits);
+ rdev->need_swiotlb = drm_need_swiotlb(dma_bits);
/* Registers mapping */
/* TODO: block userspace mapping of io register */
diff --git a/include/drm/drm_cache.h b/include/drm/drm_cache.h
index 97fc498dc767..987ff16b9420 100644
--- a/include/drm/drm_cache.h
+++ b/include/drm/drm_cache.h
@@ -38,7 +38,7 @@
void drm_clflush_pages(struct page *pages[], unsigned long num_pages);
void drm_clflush_sg(struct sg_table *st);
void drm_clflush_virt_range(void *addr, unsigned long length);
-u64 drm_get_max_iomem(void);
+bool drm_need_swiotlb(int dma_bits);
static inline bool drm_arch_can_wc_memory(void)
--
2.17.2

View File

@ -0,0 +1,36 @@
From 559355f62291c332163dad1627a9f837d0df1dd8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Christian=20K=C3=B6nig?= <christian.koenig@amd.com>
Date: Wed, 20 Feb 2019 13:46:24 +0100
Subject: [PATCH] drm/amdgpu: fix dma mask check in gmc_v6_0.c
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This got messed up by "drm: change func to better detect wether swiotlb
is needed".
Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Michael D Labriola <michael.d.labriola@gmail.com>
Link: https://patchwork.freedesktop.org/patch/287070/
(cherry picked from commit 1fdafbd023793e754aa6ca73c877a375e83b8239)
---
drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c b/drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c
index db406a35808f..fb8433958f85 100644
--- a/drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c
@@ -880,7 +880,7 @@ static int gmc_v6_0_sw_init(void *handle)
pci_set_consistent_dma_mask(adev->pdev, DMA_BIT_MASK(32));
dev_warn(adev->dev, "amdgpu: No coherent DMA available.\n");
}
- adev->need_swiotlb = drm_get_max_iomem() > ((u64)1 << dma_bits);
+ adev->need_swiotlb = drm_need_swiotlb(dma_bits);
r = gmc_v6_0_init_microcode(adev);
if (r) {
--
2.17.2

View File

@ -53,6 +53,7 @@ BuildRequires: gcc-plugin-devel
BuildRequires: elfutils-libelf-devel
BuildRequires: bison
BuildRequires: flex
BuildRequires: e2fsprogs
# gcc with support for BTI mitigation
%if 0%{?fedora} == 23
@ -116,6 +117,8 @@ Patch11: 0012-xen-blkfront-make-local-copy-of-response-before-usin.patch
Patch12: 0013-xen-blkfront-prepare-request-locally-only-then-put-i.patch
Patch13: 0014-xen-pcifront-pciback-Update-pciif.h-with-err-and-res.patch
Patch14: 0015-xen-pciback-add-attribute-to-allow-MSI-enable-flag-w.patch
Patch15: 0016-drm-change-func-to-better-detect-wether-swiotlb-is-n.patch
Patch16: 0017-drm-amdgpu-fix-dma-mask-check-in-gmc_v6_0.c.patch
%description
Qubes Dom0 kernel.
@ -161,9 +164,11 @@ make clean $MAKE_ARGS
rm -f source
find . ! -type d -printf '%%P\n' > %my_builddir/obj-files
u2mfn_ver=`dkms status u2mfn|tail -n 1|cut -f 2 -d ' '|tr -d ':,:'`
rm -rf %_builddir/u2mfn
cp -r /usr/src/u2mfn-$u2mfn_ver %_builddir/u2mfn
u2mfn_ver=`dkms status u2mfn|tail -n 1|cut -f 2 -d ' '|tr -d ':,:'`
if [ -n "$u2mfn_ver" ]; then
cp -r /usr/src/u2mfn-$u2mfn_ver %_builddir/u2mfn
fi
%build
@ -182,7 +187,9 @@ export AFTER_LINK=\
make %{?_smp_mflags} all $MAKE_ARGS CONFIG_DEBUG_SECTION_MISMATCH=y
# Build u2mfn module
make -C %kernel_build_dir M=%_builddir/u2mfn modules
if [ -d "%_builddir/u2mfn" ]; then
make -C %kernel_build_dir M=%_builddir/u2mfn modules
fi
%install
@ -217,7 +224,9 @@ dd if=/dev/zero of=%buildroot/boot/initramfs-%kernelrelease.img \
gzip -c9 < Module.symvers > %buildroot/boot/symvers-%kernelrelease.gz
make modules_install $MAKE_ARGS INSTALL_MOD_PATH=%buildroot
make modules_install $MAKE_ARGS INSTALL_MOD_PATH=%buildroot M=%_builddir/u2mfn
if [ -d "%_builddir/u2mfn" ]; then
make modules_install $MAKE_ARGS INSTALL_MOD_PATH=%buildroot M=%_builddir/u2mfn
fi
mkdir -p %buildroot/%src_install_dir
@ -244,7 +253,11 @@ cp Module.markers %buildroot/lib/modules/%kernelrelease/build
fi
rm -rf %buildroot/lib/modules/%kernelrelease/build/Documentation
cp .config %buildroot/lib/modules/%kernelrelease/build
# disable GCC plugins for external modules build, to not fail if different gcc
# version is used
sed -e 's/^\(CONFIG_GCC_PLUGIN.*\)=y/# \1 is not set/' .config > \
%buildroot/lib/modules/%kernelrelease/build/.config
rm -f %buildroot/lib/modules/%kernelrelease/build/scripts/*.o
rm -f %buildroot/lib/modules/%kernelrelease/build/scripts/*/*.o
@ -370,14 +383,27 @@ if [ -z "$modules_dep" ]; then
depmod -F %buildroot/boot/System.map-%kernelrelease \
-b "$tmpdir" -a %kernelrelease || exit 1
pushd "$tmpdir"
if [ -n "$SOURCE_DATE_EPOCH" ]; then
find . -exec touch --no-dereference --date="@${SOURCE_DATE_EPOCH}" {} +
fi
find . -print0 | sort -z \
| cpio --null -R 0:0 -H newc -o --quiet \
| gzip > %buildroot/%vm_install_dir/initramfs || exit 1
| cpio --null -R 0:0 -H newc -o --reproducible --quiet \
| gzip -n > %buildroot/%vm_install_dir/initramfs || exit 1
popd
fi
cp -p arch/x86/boot/bzImage %buildroot/%vm_install_dir/vmlinuz
# default kernel options for this kernel
def_kernelopts="root=/dev/mapper/dmroot ro nomodeset console=hvc0"
def_kernelopts="$def_kernelopts rd_NO_PLYMOUTH rd.plymouth.enable=0 plymouth.enable=0"
if [ -e /usr/lib/dracut/modules.d/90qubes-vm-simple/xen-scrub-pages-supported ]; then
# set xen_scrub_pages=0 _only_ when included initramfs does support
# re-enabling it
def_kernelopts="$def_kernelopts xen_scrub_pages=0"
fi
echo "$def_kernelopts " > %buildroot/%vm_install_dir/default-kernelopts-common.txt
# Modules for Qubes VM
mkdir -p %buildroot%vm_install_dir/modules
cp -a %buildroot/lib/modules/%kernelrelease %buildroot%vm_install_dir/modules/
@ -389,6 +415,21 @@ cp -a %buildroot/lib/firmware/%kernelrelease %buildroot%vm_install_dir/modules/f
rm -f %buildroot%vm_install_dir/modules/%kernelrelease/build
cp -a %buildroot/%src_install_dir %buildroot%vm_install_dir/modules/%kernelrelease/build
%if 0%{?fedora} >= 25
# include kernel+initramfs also inside modules.img, for direct kernel boot with
# stubdomain
cp %buildroot%vm_install_dir/vmlinuz %buildroot%vm_install_dir/modules/
cp %buildroot%vm_install_dir/initramfs %buildroot%vm_install_dir/modules/
if [ -n "$SOURCE_DATE_EPOCH" ]; then
find %buildroot%vm_install_dir/modules \
-exec touch --no-dereference --date="@${SOURCE_DATE_EPOCH}" {} +
fi
PATH="/sbin:$PATH" mkfs.ext3 -d %buildroot%vm_install_dir/modules \
-U dcee2318-92bd-47a5-a15d-e79d1412cdce \
%buildroot%vm_install_dir/modules.img 500M
rm -rf %buildroot%vm_install_dir/modules
%endif
# remove files that will be auto generated by depmod at rpm -i time
for i in alias alias.bin ccwmap dep dep.bin ieee1394map inputmap isapnpmap ofmap pcimap seriomap symbols symbols.bin usbmap
do
@ -399,11 +440,25 @@ done
/sbin/depmod -a %{kernelrelease}
%posttrans
# with kernel-4.14+ plymouth detects hvc0 serial console and forces text boot
# we simply make plymouth ignore it to recover the splash screen
if [ -f /etc/default/grub ]; then
if ! grep -q plymouth.ignore-serial-consoles /etc/default/grub; then
echo 'GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX plymouth.ignore-serial-consoles"' >> /etc/default/grub
fi
fi
if [ -f /boot/efi/EFI/qubes/xen.cfg ]; then
if ! grep -q plymouth.ignore-serial-consoles /boot/efi/EFI/qubes/xen.cfg; then
sed -i 's/kernel=.*/& plymouth.ignore-serial-consoles/g' /boot/efi/EFI/qubes/xen.cfg
fi
fi
/bin/kernel-install add %{kernelrelease} /boot/vmlinuz-%{kernelrelease} || exit $?
# grubby (used by new-kernel-pkg) do not understand xen entries in grub2 config
if [ -x /sbin/new-kernel-pkg -a -e /boot/grub2/grub.cfg ]; then
grub2-mkconfig > /boot/grub2/grub.cfg
grub2-mkconfig > /boot/grub2/grub.cfg
fi
%preun
@ -425,7 +480,7 @@ License: GPL v2 only
Group: Development/Sources
Provides: multiversion(kernel)
Provides: %name-devel = %kernelrelease
%if "%{name_suffix}" != ""
%if "%{?name_suffix}" != ""
Provides: kernel-devel = %kernelrelease
%endif
Provides: kernel-devel-uname-r = %kernelrelease
@ -484,6 +539,7 @@ Qubes domU kernel.
%post qubes-vm
%if 0%{?fedora} < 25
mkdir /tmp/qubes-modules-%kernelrelease
truncate -s 500M /tmp/qubes-modules-%kernelrelease.img
mkfs -t ext3 -F /tmp/qubes-modules-%kernelrelease.img > /dev/null
@ -496,14 +552,18 @@ cp %vm_install_dir/initramfs /tmp/qubes-modules-%kernelrelease/
umount /tmp/qubes-modules-%kernelrelease
rmdir /tmp/qubes-modules-%kernelrelease
mv /tmp/qubes-modules-%kernelrelease.img %vm_install_dir/modules.img
%endif
%if "%{name_suffix}" == ""
current_default="$(qubes-prefs default-kernel)"
current_default_path="/var/lib/qubes/vm-kernels/$current_default"
current_default_package="$(rpm --qf '%{NAME}' -qf "$current_default_path")"
if [ "$current_default_package" = "%{name}-qubes-vm" ]; then
# Set kernel as default VM kernel if we are the default package.
# If qubes-prefs isn't installed yet, the default kernel will be set by %post
# of qubes-core-dom0
type qubes-prefs &>/dev/null && qubes-prefs --set default-kernel %version-%plainrel
%endif
fi
exit 0
@ -523,10 +583,17 @@ exit 0
%files qubes-vm
%defattr(-, root, root)
%dir %vm_install_dir
%if 0%{?fedora} < 25
%ghost %attr(0644, root, root) %vm_install_dir/modules.img
%else
%attr(0644, root, root) %vm_install_dir/modules.img
%endif
%attr(0644, root, root) %vm_install_dir/initramfs
%attr(0644, root, root) %vm_install_dir/vmlinuz
%if 0%{?fedora} < 25
%vm_install_dir/modules
%endif
%attr(0644, root, root) %vm_install_dir/default-kernelopts-common.txt
%changelog
@CHANGELOG@

2
rel
View File

@ -1 +1 @@
3
1

View File

@ -1 +1 @@
4.19.15
4.19.82