Accepting request 668712 from Base:System

- Remove invalid "FONT_MAP=none" from vconsole.conf (osc#1013573) (forwarded request 668711 from dmolkentin)

OBS-URL: https://build.opensuse.org/request/show/668712
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/dracut?expand=0&rev=131
This commit is contained in:
Dominique Leuenberger 2019-01-29 13:45:41 +00:00 committed by Git OBS Bridge
commit 18872c28d1
7 changed files with 259 additions and 44 deletions

View File

@ -0,0 +1,96 @@
From 97ce7a8179dfebe16d072d8d7355af3817512d0d Mon Sep 17 00:00:00 2001
From: Daniel Molkentin <dmolkentin@suse.com>
Date: Wed, 5 Dec 2018 16:52:45 +0100
Subject: [PATCH] emergency mode: use sulogin
- allow emergency login on every console
specified in the kernel cmdline
- require password for hostonly images
- emergency mode: Manually multiplex emergency infos
This will bring all vital information to all ttys specified
as console devices, regardless of wether they hold the C flag.
Reference: FATE#325386
Reference: #449
---
modules.d/98dracut-systemd/dracut-emergency.sh | 29 +++++++++++++++-----------
modules.d/98dracut-systemd/module-setup.sh | 2 ++
modules.d/99base/module-setup.sh | 8 +++++--
3 files changed, 25 insertions(+), 14 deletions(-)
Index: dracut-044/modules.d/98dracut-systemd/dracut-emergency.sh
===================================================================
--- dracut-044.orig/modules.d/98dracut-systemd/dracut-emergency.sh
+++ dracut-044/modules.d/98dracut-systemd/dracut-emergency.sh
@@ -17,20 +17,26 @@ source_hook "$hook"
if getargbool 1 rd.shell -d -y rdshell || getarg rd.break -d rdbreak; then
FSTXT="/usr/share/fsck/fsck_help_$fstype.txt"
+ RDSOSREPORT="$(rdsosreport)"
echo
- rdsosreport
- echo
- echo
- echo 'Entering emergency mode. Exit the shell to continue.'
- echo 'Type "journalctl" to view system logs.'
- echo 'You might want to save "/run/initramfs/rdsosreport.txt" to a USB stick or /boot'
- echo 'after mounting them and attach it to a bug report.'
- echo
- echo
- [ -f $FSTXT ] && cat $FSTXT
+ while read _tty rest; do
+ (
+ echo
+ echo $RDSOSREPORT
+ echo
+ echo
+ echo 'Entering emergency mode. Exit the shell to continue.'
+ echo 'Type "journalctl" to view system logs.'
+ echo 'You might want to save "/run/initramfs/rdsosreport.txt" to a USB stick or /boot'
+ echo 'after mounting them and attach it to a bug report.'
+ echo
+ echo
+ [ -f "$FSTXT" ] && cat "$FSTXT"
+ ) > /dev/$_tty
+ done < /dev/consoles
[ -f /etc/profile ] && . /etc/profile
[ -z "$PS1" ] && export PS1="$_name:\${PWD}# "
- exec sh -i -l
+ exec sulogin -e
else
warn "$action has failed. To debug this issue add \"rd.shell rd.debug\" to the kernel command line."
exit 1
Index: dracut-044/modules.d/98dracut-systemd/module-setup.sh
===================================================================
--- dracut-044.orig/modules.d/98dracut-systemd/module-setup.sh
+++ dracut-044/modules.d/98dracut-systemd/module-setup.sh
@@ -59,5 +59,7 @@ install() {
done
inst_simple "$moddir/dracut-tmpfiles.conf" "$tmpfilesdir/dracut-tmpfiles.conf"
+
+ inst_multiple sulogin
}
Index: dracut-044/modules.d/99base/module-setup.sh
===================================================================
--- dracut-044.orig/modules.d/99base/module-setup.sh
+++ dracut-044/modules.d/99base/module-setup.sh
@@ -26,9 +26,13 @@ install() {
(ln -s bash "${initdir}/bin/sh" || :)
fi
- #add common users in /etc/passwd, it will be used by nfs/ssh currently
- egrep '^root:' "$initdir/etc/passwd" 2>/dev/null || echo 'root:x:0:0::/root:/bin/sh' >> "$initdir/etc/passwd"
- egrep '^nobody:' /etc/passwd >> "$initdir/etc/passwd"
+ # add common users in /etc/passwd, it will be used by nfs/ssh currently
+ # use password for hostonly images to facilitate secure sulogin in emergency console
+ [[ $hostonly ]] && pwshadow='x'
+ grep '^root:' "$initdir/etc/passwd" 2>/dev/null || echo "root:$pwshadow:0:0::/root:/bin/sh" >> "$initdir/etc/passwd"
+ grep '^nobody:' /etc/passwd >> "$initdir/etc/passwd"
+
+ [[ $hostonly ]] && grep '^root:' /etc/shadow >> "$initdir/etc/shadow"
# install our scripts and hooks
inst_script "$moddir/init.sh" "/init"

View File

@ -0,0 +1,12 @@
diff -ur dracut-044.orig/modules.d/95zfcp_rules/parse-zfcp.sh dracut-044/modules.d/95zfcp_rules/parse-zfcp.sh
--- dracut-044.orig/modules.d/95zfcp_rules/parse-zfcp.sh 2018-12-21 11:52:21.457034071 +0100
+++ dracut-044/modules.d/95zfcp_rules/parse-zfcp.sh 2018-12-21 11:56:19.179414976 +0100
@@ -22,8 +22,6 @@
return 0;
fi
- [ -e ${_rule} ] && return 0
-
if [ ! -f "$_rule" ] ; then
cat > $_rule <<EOF
ACTION=="add", SUBSYSTEM=="ccw", KERNEL=="$ccw", IMPORT{program}="collect $ccw %k ${ccw} zfcp"

View File

@ -0,0 +1,44 @@
From 43b774786cc4583e682c1f7f397643c7c1fccadf Mon Sep 17 00:00:00 2001
From: Daniel Molkentin <dmolkentin@suse.com>
Date: Sun, 20 Jan 2019 21:56:05 +0100
Subject: [PATCH] Fix a missing space in example configs
It has
omit_drivers+=" i2o_scsi"
which would break the next omit_drivers+="foo " if it's
missing a space at the beginning.
Reference: boo#1121251
---
dracut.conf.d/gentoo.conf.example | 2 +-
dracut.conf.d/suse.conf.example | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/dracut.conf.d/gentoo.conf.example b/dracut.conf.d/gentoo.conf.example
index 26e73147..df102e00 100644
--- a/dracut.conf.d/gentoo.conf.example
+++ b/dracut.conf.d/gentoo.conf.example
@@ -12,4 +12,4 @@ ro_mnt=yes
i18n_vars="/etc/conf.d/keymaps:keymap-KEYMAP,extended_keymaps-EXT_KEYMAPS /etc/conf.d/consolefont:consolefont-FONT,consoletranslation-FONT_MAP /etc/rc.conf:unicode-UNICODE"
i18n_default_font="LatArCyrHeb-16"
-omit_drivers+=" i2o_scsi"
+omit_drivers+=" i2o_scsi "
diff --git a/dracut.conf.d/suse.conf.example b/dracut.conf.d/suse.conf.example
index 37ffd72b..e1d800c8 100644
--- a/dracut.conf.d/suse.conf.example
+++ b/dracut.conf.d/suse.conf.example
@@ -10,7 +10,7 @@ hostonly_cmdline="yes"
compress="xz -0 --check=crc32 --memlimit-compress=50%"
i18n_vars="/etc/sysconfig/language:RC_LANG-LANG,RC_LC_ALL-LC_ALL /etc/sysconfig/console:CONSOLE_UNICODEMAP-FONT_UNIMAP,CONSOLE_FONT-FONT,CONSOLE_SCREENMAP-FONT_MAP /etc/sysconfig/keyboard:KEYTABLE-KEYMAP"
-omit_drivers+=" i2o_scsi"
+omit_drivers+=" i2o_scsi "
# Below adds additional tools to the initrd which are not urgently necessary to
# bring up the system, but help to debug problems.
--
2.16.4

View File

@ -0,0 +1,41 @@
From 68777f36a4041f520197531e94a1b909801e67d9 Mon Sep 17 00:00:00 2001
From: Daniel Molkentin <dmolkentin@suse.com>
Date: Mon, 21 Jan 2019 14:21:14 +0100
Subject: [PATCH] Ensure mmc host modules get included properly
This fixes an in incorrect part of the backport in
1229cbc091ac11434b0b628d58630ce4c8fbe8e3
aka Adjust-driver-list-to-modern-kernels.patch
Patch is not applicable for 049
Reference: bsc#1119037
---
modules.d/90kernel-modules/module-setup.sh | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/modules.d/90kernel-modules/module-setup.sh b/modules.d/90kernel-modules/module-setup.sh
index cc6a9309..79e615a6 100755
--- a/modules.d/90kernel-modules/module-setup.sh
+++ b/modules.d/90kernel-modules/module-setup.sh
@@ -5,6 +5,9 @@ installkernel() {
if [[ -z $drivers ]]; then
block_module_filter() {
local _blockfuncs='ahci_platform_get_resources|ata_scsi_ioctl|scsi_add_host|blk_cleanup_queue|register_mtd_blktrans|scsi_esp_register|register_virtio_device|usb_stor_disconnect|mmc_add_host|sdhci_add_host'
+ if [[ "$(uname -m)" == arm* || "$(uname -m)" == aarch64 ]]; then
+ _blockfuncs+='|dw_mc_probe|dw_mci_pltfm_register'
+ fi
# subfunctions inherit following FDs
local _merge=8 _side2=9
function bmf1() {
@@ -59,7 +62,6 @@ installkernel() {
if [[ "$(uname -m)" == arm* || "$(uname -m)" == aarch64 ]]; then
# arm/aarch64 specific modules
- _blockfuncs+='|dw_mc_probe|dw_mci_pltfm_register'
instmods \
"=drivers/clk" \
"=drivers/dma" \
--
2.16.4

View File

@ -4,11 +4,8 @@
# #
# May 21, 2003 - agruen@suse.de # May 21, 2003 - agruen@suse.de
# * Adapted for SuSE and cleaned up. # * Adapted for SuSE and cleaned up.
# # November 21, 2018 - jdelvare@suse.de
# This file is kept in the following CVS repository: # * Stop creating .old files.
#
# $Source: /suse/yast2/cvsroot/mkinitrd/installkernel,v $
# $Revision: 1.8 $
# #
: ${INSTALL_PATH:=/boot} : ${INSTALL_PATH:=/boot}
@ -35,40 +32,6 @@ case "$(uname -m)" in
;; ;;
esac esac
#
# Move away files from versions up to SuSE Linux 8.2
#
if [ -f $INSTALL_PATH/$BOOTFILE -a ! -L $INSTALL_PATH/$BOOTFILE ]; then
mv $INSTALL_PATH/$BOOTFILE $INSTALL_PATH/$BOOTFILE.old
fi
if [ -L $INSTALL_PATH/System.map ]; then
rm -f $INSTALL_PATH/System.map
elif [ -f $INSTALLPATH/System.map ]; then
mv $INSTALL_PATH/System.map $INSTALL_PATH/System.map.old
fi
#
# Move away files from after SuSE Linux 8.2
#
if [ -f $INSTALL_PATH/$BOOTFILE-$KERNEL_VERSION ]; then
mv $INSTALL_PATH/$BOOTFILE-$KERNEL_VERSION \
$INSTALL_PATH/$BOOTFILE-$KERNEL_VERSION.old;
fi
if [ -f $INSTALL_PATH/System.map-$KERNEL_VERSION ]; then
mv $INSTALL_PATH/System.map-$KERNEL_VERSION \
$INSTALL_PATH/System.map-$KERNEL_VERSION.old;
fi
if [ -f .config ] && [ -f $INSTALL_PATH/$CONFIGFILE ]; then
mv -v $INSTALL_PATH/$CONFIGFILE \
$INSTALL_PATH/$CONFIGFILE.old;
fi
# #
# Install new files # Install new files
# #
@ -121,10 +84,6 @@ case "$(uname -m)" in
i?86 | x86_64) i?86 | x86_64)
KERNBIN=$(dirname $MAPFILE)/vmlinux KERNBIN=$(dirname $MAPFILE)/vmlinux
if [ -e $KERNBIN ]; then if [ -e $KERNBIN ]; then
if [ -f $INSTALL_PATH/vmlinux-$KERNEL_VERSION.gz ]; then
mv $INSTALL_PATH/vmlinux-$KERNEL_VERSION.gz \
$INSTALL_PATH/vmlinux-$KERNEL_VERSION.gz.old;
fi
gzip -c $KERNBIN > $INSTALL_PATH/vmlinux-$KERNEL_VERSION.gz gzip -c $KERNBIN > $INSTALL_PATH/vmlinux-$KERNEL_VERSION.gz
fi fi
;; ;;

View File

@ -1,3 +1,50 @@
-------------------------------------------------------------------
Fri Jan 25 16:03:09 UTC 2019 - Daniel Molkentin <daniel.molkentin@suse.com>
- Remove invalid "FONT_MAP=none" from vconsole.conf (osc#1013573)
-------------------------------------------------------------------
Mon Jan 21 14:01:20 UTC 2019 - Daniel Molkentin <daniel.molkentin@suse.com>
- Ensure mmc host modules get included properly (bsc#1119037)
* adds 0588-Ensure-mmc-host-modules-get-included-properly.patch
-------------------------------------------------------------------
Sun Jan 20 21:11:06 UTC 2019 - Daniel Molkentin <daniel.molkentin@suse.com>
- Fix a missing space in example configs (boo#1121251)
* adds 0587-Fix-a-missing-space-in-example-configs.patch
-------------------------------------------------------------------
Fri Dec 21 11:02:32 UTC 2018 - Michal Suchanek <msuchanek@suse.com>
- 95zfcp_rules/parse-zfcp.sh: remove rule existence check (bsc#1008352).
* adds 0586-95zfcp_rules-parse-zfcp.sh-remove-rule-existence-check.patch
-------------------------------------------------------------------
Mon Dec 17 15:27:15 UTC 2018 - jdelvare@suse.com
- dracut-installkernel: Stop keeping old kernel files as .old
(boo#1112327)
The .old kernel files are confusing grub2 which can't find a
matching directory under /lib/modules. Furthermore, there is no
guarantee that the new modules are fully compatible with the old
kernel.
If anything goes wrong with a new self-compiled kernel, the user
can always boot back to the distribution kernel, so the .old
backup files are not needed in the first place. Get rid of them
to simplify and speed up the whole process.
-------------------------------------------------------------------
Fri Dec 7 09:56:45 UTC 2018 - Daniel Molkentin <daniel.molkentin@suse.com>
- emergency mode: bring shell and all vital information to
all ttys specified as console devices
(FATE#325386, bsc#1053248, bsc#937555)
* Adds 0585-emergency-mode-use-sulogin.patch
------------------------------------------------------------------- -------------------------------------------------------------------
Wed Oct 31 09:57:55 UTC 2018 - Daniel Molkentin <daniel.molkentin@suse.com> Wed Oct 31 09:57:55 UTC 2018 - Daniel Molkentin <daniel.molkentin@suse.com>

View File

@ -1,7 +1,7 @@
# #
# spec file for package dracut # spec file for package dracut
# #
# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. # Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
# #
# All modifications and additions to the file contributed by third parties # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@ -413,6 +413,14 @@ Patch582: 0582-98dracut-systemd-Start-systemd-vconsole-setup-before.patch
Patch583: 0583-99base-Allow-files-with-backslashes-in-hostonly-file.patch Patch583: 0583-99base-Allow-files-with-backslashes-in-hostonly-file.patch
# Patch adopted from upstream commit b38b7fef36333a59890233dccfbbb6d2c40ebe83 # Patch adopted from upstream commit b38b7fef36333a59890233dccfbbb6d2c40ebe83
Patch584: 0584-95dasd_rules-mark-dasd-rules-host_only.patch Patch584: 0584-95dasd_rules-mark-dasd-rules-host_only.patch
# Patch adopted from upstream commit 32f68c1f9ac3720e8ce4b95a09c0ce680d5da786
Patch585: 0585-emergency-mode-use-sulogin.patch
# Patch adopted from git commit 69198cba654cb81093e36cca242481d26bec4b40
Patch586: 0586-95zfcp_rules-parse-zfcp.sh-remove-rule-existence-check.patch
# Patch adopted from upstream commit 58e0d2d5b5b3a5e7d6dbf74baa2f08f041de5a81
Patch587: 0587-Fix-a-missing-space-in-example-configs.patch
# Fix for 0562-Adjust-driver-list-to-modern-kernels.patch
Patch588: 0588-Ensure-mmc-host-modules-get-included-properly.patch
BuildRequires: asciidoc BuildRequires: asciidoc
BuildRequires: bash BuildRequires: bash
@ -715,6 +723,10 @@ chmod a+x modules.d/95qeth_rules/module-setup.sh
%patch582 -p1 %patch582 -p1
%patch583 -p1 %patch583 -p1
%patch584 -p1 %patch584 -p1
%patch585 -p1
%patch586 -p1
%patch587 -p1
%patch588 -p1
%build %build
%configure\ %configure\
@ -790,6 +802,10 @@ ln -s %{dracutlibdir}/modules.d/45ifcfg/write-ifcfg-redhat.sh %{buildroot}/%{dra
%post %post
%service_add_post purge-kernels.service %service_add_post purge-kernels.service
%{?regenerate_initrd_post} %{?regenerate_initrd_post}
# Due to a bug in YaST and subsequent work by the migration script, /etc/vconsole.conf
# may contain "FONT_MAP=none" which is invalid. While systemd will silently ignore this,
# dracut will complain. Eliminate the entry (bsc#1096771, bsc#1013573).
sed -i '/^FONT_MAP=none/d' %{_sysconfdir}/vconsole.conf || :
%post fips %post fips
%{?regenerate_initrd_post} %{?regenerate_initrd_post}