Linux あれこれ

Linux 関連の備忘録です。

Fedora 32: Fedora 32 でのバグ報告、および、Linuxカーネルのバグ報告〈H79〉

登録日: 2020-08-24 更新日: 2020-08-28

Fedora Workstation 32」(GNOME) を インストール しましたが、 自分のPC だと 新しいカーネル 5.7 に更新すると不調で使えなくなりました。 そこで、カーネル 5.7 の不調が回避できる「Fedora 32 Cinnamon」をインストール しました。

今回は、Fedora 32 でのバグ報告、および、Linuxカーネルのバグ報告のやり方について調べてみました。

-

「目次」

-

カーネル 5.7.16 で開いた「Cinnamon」デスクトップ画面:

→不調です。パネルにもアイコンが一部しか表示されていません。マウスの位置によってメインメニューが点滅したり、表示しなかったりします。右クリックのメニューも表示されません。スクリーンショットが時々ですが撮れるところをみると、表示データそのものが乱れているようです。

再起動後、「Cinnamon (Software ...)」セッションにしてログインするか、 インストール時のバージョンである、カーネル 5.6.6 で立ち上げれば、正常に動作します。

-

参考: 使用しているPC

古めのPC(Intel Celeron 2955U: 第4世代)です。

  1. Lubuntu 20.04 のライブUSB メモリのBIOS 立ち上げで、gfxboot のところで「Graphics initalization failed」になります。 Tab キーを押して「live」と入力すると立ち上がります。

  2. Fedora 32 のライブUSB メモリのBIOS 立ち上げで、「Enter」キーで進むと「画面真っ暗」になります。 Tab キーを押して、ブートコマンドの後ろを20文字削除すると立ち上がります。

このような現象が出るPC だと同じような問題が発生するかもしれません。

-


Fedora 特有のバグの報告

Bugs and feature requests を参照

Bugzilla は、Fedora プロジェクトで使用される追跡ツールです。 Fedora にて、同じようなバグの報告がないか検索できます。

-


Fedora のBugzilla で、新しいバグを報告するには、アカウントの作成が必要:

Red Hat Bugzilla アカウントの作成

1. Email address: 「メールアドレス」を入力(スパム予防にできるだけWeb メール)

→「Send」

2. 「Red Hat Bugzilla: confirm account creation」というメールが届きます。

そこに書かれたリンクをクリック

3. 登録画面が開くので、

  • ユーザ名(英文字の大文字、小文字が使えました)

  • パスワード(英文字、数字だけでなく、特殊記号を含めないとダメでした)

を入力。

→The user account「メールアドレス」has been created successfully.

4. Red Hat Bugzilla – Main Page のサイトが、ログインされた状態で開きました。

バグを報告する場合、バグがまだ報告されていないか、こちらの Red Hat Bugzilla で確認します。 バグの報告は詳細情報を提供。バグを報告したコンポーネントを担当する開発者に直接送られます。

-

別の手段: Fedora を使っているユーザで、ヘルプがほしいとき:

-


Linux カーネルのバグの報告

Reporting bugs を参照

-


サポートされているカーネルのリスト:

(https://www.kernel.org/)

2020-08-28 現在:

Latest Release 5.8.5(最新の安定版)

mainline:        5.9-rc2  2020-08-23
stable:          5.8.5    2020-08-27
stable:          5.7.19 [EOL] 2020-08-27
longterm:        5.4.61   2020-08-27
longterm:        4.19.142 2020-08-27
longterm:        4.14.195 2020-08-27
longterm:        4.9.234  2020-08-27
longterm:        4.4.234  2020-08-27
linux-next: next-20200828 2020-08-28

→問題の発生している「 5.7.16 」は一覧にありませんでした。 つまり、サポート対象外なので、バグ報告しても無効です。

「stable」は安定版、「longterm」はLTS です。

[EOL]のマークが付いたカーネルは「サポート終了」のため修正が反映されていません。 ちなみに、安定動作している「5.6.6」は一覧にありません。

-

バグの再現の確認には、最新の「-rc 」のカーネルが勧められています。それは一般ユーザには無謀というものです。 「 5.7.17 」か「 5.8.3 」にすればバグ報告できます。

  • 上記は先日までサポートされていたバージョンで、現在は「 5.7.19 」か「 5.8.5 」にアップしました。

-

  • 本日、Fedora 32 Cinnamon に「 5.7.17 」がきて、改善されず不調なことを確認しました。

これを報告しようと思ったら、サポート対象が「 5.7.19 」に変わっています。それも [EOL] です。これだと、手動でカーネルを上げられる人しかバグ報告はできません。どんどん更新されるのは良いのですが、サポートの期間が短過ぎます。そして、サポート対象を絞っているのはわかるのですが…。

番号からいくと、5.9 あたりが LTS になりそうです。これならサポート期間は長いので狙い目かな。ただし、不具合報告をするのが目的ではないのですけどね。

-


追記: Manjaro Xfce 20.1 にカーネル「5.8.1-3」がきました

2020-08-28

Manjaro Xfce 20.1 の現在のカーネルは「5.8.1-3」です。自分のPC で、このカーネルが動作することを確認しました。 ひとつだけ問題があって、VScode アプリが起動してもウィンドウの枠内が真っ暗になったり点滅して使えません(描画速度がとっても遅いみたい)。それ以外は正常のようです。

-

デスクトップ環境が異るので、Fedora 32 Cinnamon やGNOME で動作するかは何ともいえませんが、希望が持てます。 これはつまり、5.8 がくるまで待つしかないということかな。

-


Linuxカーネルのバグを報告する方法

できれば、問題のあるサブシステムを特定してから、

-


バグ報告の推奨フォーマット

  • 件名が「PROBLEM: 英語の表題([1.]の問題を1行に要約した文字)」の英語のメールを作成します。

-

[1.] One line summary of the problem:

→問題を1行に要約(表題)

-

[2.] Full description of the problem/report:

→問題の詳細な説明

-

[3.] Keywords (i.e., modules, networking, kernel):

→キーワード(つまり、モジュール、ネットワーク、カーネル

-

[4.] Kernel information

カーネル情報

-

[4.1.] Kernel version (from /proc/version):

カーネルバージョン (/proc/version)

$ cat /proc/version

-

[4.2.] Kernel .config file:

カーネル.configファイル

$ sudo cat /boot/loader/entries/af6cee91f78a45979383182dabb25035-5.7.16-200.fc32.x86_64.conf

追記: (修正)

カーネル立ち上げの .conf かと思っていたけど、カーネルビルド時の .config のことみたい。

$ zcat /proc/config.gz

$ cat /boot/config-5.7.16-200.fc32.x86_64 ←(修正必要)

-

[5.] Most recent kernel version which did not have the bug:

→バグがなかった最新のカーネルバージョン

-

[6.] Output of Oops.. message (if applicable) with symbolic information resolved (see Documentation/admin-guide/bug-hunting.rst)

→問題発生時のメッセージ

-

[7.] A small shell script or example program which triggers the problem (if possible)

→できたら、問題を引き起こす小さなシェルスクリプト、またはサンプルプログラム

-

[8.] Environment

→環境

Fedora 32 Cinnamon (Japanese environment) ←(修正必要)

$ cat /etc/fedora-release

$ uname -r

$ uname -a

-

[8.1.] Software (add the output of the ver_linux script here)

→「ver_linuxスクリプトの出力をここに貼り付け

$ ver_linux

-

[8.2.] Processor information (from /proc/cpuinfo):

プロセッサー情報

$ cat /proc/cpuinfo

-

[8.3.] Module information (from /proc/modules):

→モジュール情報

$ cat /proc/modules

-

[8.4.] Loaded driver and hardware information (/proc/ioports, /proc/iomem)

→ロードされたドライバーとハードウェア情報

$ cat /proc/ioports

$ cat /proc/iomem

-

[8.5.] PCI information ('lspci -vvv' as root)

PCI 情報

$ sudo lspci -vvv

[8.6.] SCSI information (from /proc/scsi/scsi)

SCSI 情報

$ cat /proc/scsi/scsi

-

[8.7.] Other information that might be relevant to the problem (please look in /proc and include all information that you think to be relevant):

→/proc を見て、問題に関連すると思われるすべての情報を含めてください

$ cat /proc/fb など

-

[9.] Other notes:

→その他

$ printenv など

-

[10.] Workarounds:

→回避策

-


「バグ報告の推奨フォーマットを自動出力する」スクリプトを作ってみました

→報告する情報の収集は面倒です。共通する部分はできていると思うので、編集して使います。

-


1. ver_linux スクリプトの準備:

Fedora 32 には「sh scripts/ver_linux」コマンドがないので検索

→こちらのリストを参考に「scripts/ver_linux」を作成しました。感謝!。

/scripts/ver_linux (v4.20)

-

作成するフォルダを準備:

パスが通っている場所を確認:

$ echo $PATH

フォルダの作成:

$ cd ~/.local
$ mkdir bin

$ ls
bin  share

-

ver_linux の作成:
$ xed ~/.local/bin/ver_linux

↓ 下記の内容を貼り付けて作成:

#!/usr/bin/awk -f
# SPDX-License-Identifier: GPL-2.0
# Before running this script please ensure that your PATH is
# typical as you use for compilation/installation. I use
# /bin /sbin /usr/bin /usr/sbin /usr/local/bin, but it may
# differ on your system.

BEGIN {
    usage = "If some fields are empty or look unusual you may have an old version.\n"
    usage = usage "Compare to the current minimal requirements in Documentation/Changes.\n"
    print usage

    system("uname -a")
    printf("\n")

    printversion("GNU C", version("gcc -dumpversion"))
    printversion("GNU Make", version("make --version"))
    printversion("Binutils", version("ld -v"))
    printversion("Util-linux", version("mount --version"))
    printversion("Mount", version("mount --version"))
    printversion("Module-init-tools", version("depmod -V"))
    printversion("E2fsprogs", version("tune2fs"))
    printversion("Jfsutils", version("fsck.jfs -V"))
    printversion("Reiserfsprogs", version("reiserfsck -V"))
    printversion("Reiser4fsprogs", version("fsck.reiser4 -V"))
    printversion("Xfsprogs", version("xfs_db -V"))
    printversion("Pcmciautils", version("pccardctl -V"))
    printversion("Pcmcia-cs", version("cardmgr -V"))
    printversion("Quota-tools", version("quota -V"))
    printversion("PPP", version("pppd --version"))
    printversion("Isdn4k-utils", version("isdnctrl"))
    printversion("Nfs-utils", version("showmount --version"))

    while (getline <"/proc/self/maps" > 0) {
        if (/libc.*\.so$/) {
            n = split($0, procmaps, "/")
            if (match(procmaps[n], /[0-9]+([.]?[0-9]+)+/)) {
                ver = substr(procmaps[n], RSTART, RLENGTH)
                printversion("Linux C Library", ver)
                break
            }
        }
    }

    printversion("Dynamic linker (ldd)", version("ldd --version"))

    while ("ldconfig -p 2>/dev/null" | getline > 0) {
        if (/(libg|stdc)[+]+\.so/) {
            libcpp = $NF
            break
        }
    }
    printversion("Linux C++ Library", version("readlink " libcpp))
    printversion("Procps", version("ps --version"))
    printversion("Net-tools", version("ifconfig --version"))
    printversion("Kbd", version("loadkeys -V"))
    printversion("Console-tools", version("loadkeys -V"))
    printversion("Oprofile", version("oprofiled --version"))
    printversion("Sh-utils", version("expr --v"))
    printversion("Udev", version("udevadm --version"))
    printversion("Wireless-tools", version("iwconfig --version"))

    while ("sort /proc/modules" | getline > 0) {
        mods = mods sep $1
        sep = " "
    }
    printversion("Modules Loaded", mods)
}

function version(cmd,    ver) {
    cmd = cmd " 2>&1"
    while (cmd | getline > 0) {
        if (match($0, /[0-9]+([.]?[0-9]+)+/)) {
            ver = substr($0, RSTART, RLENGTH)
            break
        }
    }
    close(cmd)
    return ver
}

function printversion(name, value,  ofmt) {
    if (value != "") {
        ofmt = "%-20s\t%s\n"
        printf(ofmt, name, value)
    }
}

→先頭のコメント部分の和訳:

このスクリプトを実行する前に、コンパイル/インストールに使用するPATHが標準であることを確認してください。 /bin /sbin /usr/bin /usr/sbin /usr/local/bin を使用していますが、システムによって異なる場合があります。

-

ファイルを実行可能に設定:
$ ls ~/.local/bin/
ver_linux

ファイルマネージャでプロパティをみて「実行可能」にチェック

確認:

$ which ver_linux
~/.local/bin/ver_linux

→これが表示されれば実行可能です。

-

パスなしで実行してみる:
$ ver_linux

If some fields are empty or look unusual you may have an old version.
Compare to the current minimal requirements in Documentation/Changes.

Linux localhost.localdomain 5.7.16-200.fc32.x86_64 #1 SMP Wed Aug 19 16:58:53 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

GNU C                   10
GNU Make                4.2.1
Binutils                2.34
Util-linux              2.35.2
Mount                   2.35.2
Module-init-tools       27
E2fsprogs               1.45.5
Reiserfsprogs           3.6.27
Xfsprogs                5.4.0
Quota-tools             4.05
PPP                     2.4.7
Nfs-utils               2.5.1
Linux C Library         2.31
Dynamic linker (ldd)    2.31
Linux C++ Library       6.0.28
Procps                  3.3.15
Net-tools               2.10
Kbd                     2.2.0
Console-tools           2.2.0
Sh-utils                8.32
Udev                    245
Wireless-tools          29
Modules Loaded          ath ath3k ath9k ath9k_common ath9k_hw bluetooth bnep btbcm btintel btrtl btusb cec cfg80211 cmac coretemp crc32_pclmul crc32c_intel crct10dif_pclmul drm drm_kms_helper ecc ecdh_generic fuse ghash_clmulni_intel i2c_algo_bit i2c_i801 i915 iTCO_vendor_support iTCO_wdt intel_cstate intel_pch_thermal intel_powerclamp intel_rapl_common intel_rapl_msr intel_uncore ip6_tables ip6table_filter ip6table_mangle ip6table_nat ip6table_raw ip6table_security ip_set ip_tables iptable_filter iptable_mangle iptable_nat iptable_raw iptable_security irqbypass joydev kvm kvm_intel ledtrig_audio libarc4 libcrc32c lpc_ich mac80211 nf_conntrack nf_defrag_ipv4 nf_defrag_ipv6 nf_nat nf_reject_ipv4 nf_reject_ipv6 nf_tables nfnetlink nft_chain_nat nft_ct nft_fib nft_fib_inet nft_fib_ipv4 nft_fib_ipv6 nft_reject nft_reject_inet pcspkr pinctrl_lynxpoint r8169 rapl rfcomm rfkill serio_raw snd snd_hda_codec snd_hda_codec_generic snd_hda_codec_hdmi snd_hda_codec_realtek snd_hda_core snd_hda_intel snd_hwdep snd_intel_dspcfg snd_pcm snd_seq snd_seq_device snd_timer soundcore sunrpc tpm_infineon uas usb_storage video x86_pkg_temp_thermal

→先頭のコメント部分の和訳:

一部のフィールドが空であるか異常に見える場合は、古いバージョンである可能性があります。 ドキュメント/Changes(変更)の現在の最小要件と比較してください。

→このコメントの 2行は、バグ報告には関係ないので編集時に削除した方が良さそう。

-

2. 「バグ報告の推奨フォーマットを自動出力する」スクリプトの作成:

項番 1. で作成した「ver_linuxスクリプトがこの中で使われます。

$ xed ~/bugs-info.sh

↓ 下記の内容を貼り付けて作成:

#!/bin/sh

# 2020-08-28 by FuRuYa7
# 
# 不具合報告のメールを送るときのフォームの作成をお手伝いします。自己責任です。
# デスクトップ画面は使えないけど、コンソールは使える等の事象のとき、情報収集を楽にするために作成しました。
# Fedora 32 で動くことを確認。ただし、sudo が使える設定です。
# 
# 事前作業:
# 
# ホーム直下にこのファイルを置きます。「~/bugs-info.sh」
# 
# このファイルで指定されているホームのユーザ名(_USER)を自分のユーザ名に「置換」します。→「/home/ユーザ名」
# [4.2.] Kernel .config file: のファイル名も「$ ls /boot/ | grep config」を確認して、使っているカーネルに合わせて修正します。
# [8.] Environment のディストリビューション名も使用環境に合わせて修正します。
# 
# ver_linux スクリプトはFedora 32 にはないので作成しました。→「~/.local/bin/ver_linux」
# 下記のサイトの情報を参考にしました。感謝。
# (https://elixir.bootlin.com/linux/v4.20/source/scripts/ver_linux) 
# パスが通ったところにファイルを作成して、「ver_linux」を実行して情報が表示されるか確認しておきます。
# 
# このスクリプトの実行:
# 
# (デスクトップ画面が使えない時は、Ctrl+Alt+F2 としてコンソール画面にして、ユーザでログイン)
# 
# $ cd
# $ ls  →このファイルがあるか、確認。
# 
# このスクリプトを2回続けて実行してください。実行しないと、リダイレクトが解除され、ファイルの出力に失敗する部分があります。
# 2回目にパスワードを聞いて来なければ成功しています。
# $ sh bugs-info.sh
# $ sh bugs-info.sh
# →ホーム直下に「bugs-info.txt」が作成されます。不具合報告のメールを送るときに修正して使えます。
# 

echo " "
echo "---start--- Bugs infometion report"
echo " "
echo "Please try again after [sh bugs-info.sh] !"
echo "Continue until you cannot enter the password."
echo " "
echo "[sh bugs-info.sh]を2回続けて実行してください !"
echo "2回目にパスワードを聞いて来なければ成功しています。"
echo " "

echo "Bugs information report" > /home/_USER/bugs-info.txt
echo " " >> /home/_USER/bugs-info.txt

echo "不具合報告のメールを送るときのフォームの下地を作成します。" >> /home/_USER/bugs-info.txt
echo "下記の情報で足りない部分を補ってください。ただし、バグに関連しない情報は除外してください。" >> /home/_USER/bugs-info.txt
echo "すべて簡潔なわかりやすい英語にします。" >> /home/_USER/bugs-info.txt
echo " " >> /home/_USER/bugs-info.txt
echo "メールの件名を「PROBLEM: [1.]の問題を1行に要約した英語」にします。" >> /home/_USER/bugs-info.txt
echo "どこに送ればいいのか、サブシステムのメーリングリストを調べて、メールします。" >> /home/_USER/bugs-info.txt
echo " " >> /home/_USER/bugs-info.txt
echo "バグの報告の詳細は、下記を確認してください。" >> /home/_USER/bugs-info.txt
echo "[Reporting bugs](https://www.kernel.org/doc/html/latest/admin-guide/reporting-bugs.html)" >> /home/_USER/bugs-info.txt

echo " " >> /home/_USER/bugs-info.txt
echo " " >> /home/_USER/bugs-info.txt

echo "## PROBLEM: " >> /home/_USER/bugs-info.txt
echo " " >> /home/_USER/bugs-info.txt

echo "---" >> /home/_USER/bugs-info.txt
echo "[1.] One line summary of the problem:" >> /home/_USER/bugs-info.txt
echo " " >> /home/_USER/bugs-info.txt

echo " " >> /home/_USER/bugs-info.txt
echo " " >> /home/_USER/bugs-info.txt

echo "---" >> /home/_USER/bugs-info.txt
echo "[2.] Full description of the problem/report:" >> /home/_USER/bugs-info.txt
echo " " >> /home/_USER/bugs-info.txt


echo " " >> /home/_USER/bugs-info.txt
echo " " >> /home/_USER/bugs-info.txt

echo "---" >> /home/_USER/bugs-info.txt
echo "[3.] Keywords (i.e., modules, networking, kernel):" >> /home/_USER/bugs-info.txt
echo " " >> /home/_USER/bugs-info.txt

echo " " >> /home/_USER/bugs-info.txt
echo " " >> /home/_USER/bugs-info.txt

echo "---" >> /home/_USER/bugs-info.txt
echo "[4.] Kernel information" >> /home/_USER/bugs-info.txt
echo " " >> /home/_USER/bugs-info.txt

echo "---" >> /home/_USER/bugs-info.txt
echo "[4.1.] Kernel version (from /proc/version):" >> /home/_USER/bugs-info.txt
echo " " >> /home/_USER/bugs-info.txt

echo "$ cat /proc/version" >> /home/_USER/bugs-info.txt
cat /proc/version >> /home/_USER/bugs-info.txt
echo " " >> /home/_USER/bugs-info.txt
echo " " >> /home/_USER/bugs-info.txt

echo "---" >> /home/_USER/bugs-info.txt
echo "[4.2.] Kernel .config file:" >> /home/_USER/bugs-info.txt
echo " " >> /home/_USER/bugs-info.txt

echo "$ zcat /proc/config.gz" >> /home/_USER/bugs-info.txt
zcat /proc/config.gz >> /home/_USER/bugs-info.txt 2>&1
echo " " >> /home/_USER/bugs-info.txt

echo "-" >> /home/_USER/bugs-info.txt
echo " " >> /home/_USER/bugs-info.txt

echo "$ cat /boot/config-5.7.17-200.fc32.x86_64" >> /home/_USER/bugs-info.txt
cat /boot/config-5.7.17-200.fc32.x86_64 >> /home/_USER/bugs-info.txt
echo " " >> /home/_USER/bugs-info.txt
echo " " >> /home/_USER/bugs-info.txt

echo "---" >> /home/_USER/bugs-info.txt
echo "[5.] Most recent kernel version which did not have the bug:" >> /home/_USER/bugs-info.txt

echo " " >> /home/_USER/bugs-info.txt
echo " " >> /home/_USER/bugs-info.txt

echo "---" >> /home/_USER/bugs-info.txt
echo "[6.] Output of Oops.. message (if applicable) with symbolic information" >> /home/_USER/bugs-info.txt
echo "     resolved (see Documentation/admin-guide/bug-hunting.rst)" >> /home/_USER/bugs-info.txt

echo " " >> /home/_USER/bugs-info.txt
echo " " >> /home/_USER/bugs-info.txt

echo "---" >> /home/_USER/bugs-info.txt
echo "[7.] A small shell script or example program which triggers the" >> /home/_USER/bugs-info.txt
echo "     problem (if possible)" >> /home/_USER/bugs-info.txt

echo " " >> /home/_USER/bugs-info.txt
echo " " >> /home/_USER/bugs-info.txt

echo "---" >> /home/_USER/bugs-info.txt
echo "[8.] Environment" >> /home/_USER/bugs-info.txt
echo " " >> /home/_USER/bugs-info.txt

echo "Fedora 32 Cinnamon (Japanese environment)" >> /home/_USER/bugs-info.txt
echo " " >> /home/_USER/bugs-info.txt

echo "$ cat /etc/fedora-release" >> /home/_USER/bugs-info.txt
cat /etc/fedora-release >> /home/_USER/bugs-info.txt
echo " " >> /home/_USER/bugs-info.txt

echo "$ uname -r" >> /home/_USER/bugs-info.txt
uname -r >> /home/_USER/bugs-info.txt
echo " " >> /home/_USER/bugs-info.txt

echo "$ uname -a" >> /home/_USER/bugs-info.txt
uname -a >> /home/_USER/bugs-info.txt

echo " " >> /home/_USER/bugs-info.txt
echo " " >> /home/_USER/bugs-info.txt

echo "---" >> /home/_USER/bugs-info.txt
echo "[8.1.] Software (add the output of the ver_linux script here)" >> /home/_USER/bugs-info.txt
echo " " >> /home/_USER/bugs-info.txt

echo "$ ver_linux" >> /home/_USER/bugs-info.txt
/home/_USER/.local/bin/ver_linux >> /home/_USER/bugs-info.txt

echo " " >> /home/_USER/bugs-info.txt
echo " " >> /home/_USER/bugs-info.txt

echo "---" >> /home/_USER/bugs-info.txt
echo "[8.2.] Processor information (from /proc/cpuinfo):" >> /home/_USER/bugs-info.txt
echo " " >> /home/_USER/bugs-info.txt

echo "$ cat /proc/cpuinfo" >> /home/_USER/bugs-info.txt
cat /proc/cpuinfo >> /home/_USER/bugs-info.txt

echo " " >> /home/_USER/bugs-info.txt
echo " " >> /home/_USER/bugs-info.txt

echo "---" >> /home/_USER/bugs-info.txt
echo "[8.3.] Module information (from /proc/modules):" >> /home/_USER/bugs-info.txt
echo " " >> /home/_USER/bugs-info.txt

echo "$ cat /proc/modules" >> /home/_USER/bugs-info.txt
cat /proc/modules >> /home/_USER/bugs-info.txt

echo " " >> /home/_USER/bugs-info.txt
echo " " >> /home/_USER/bugs-info.txt

echo "---" >> /home/_USER/bugs-info.txt
echo "[8.4.] Loaded driver and hardware information (/proc/ioports, /proc/iomem)" >> /home/_USER/bugs-info.txt
echo " " >> /home/_USER/bugs-info.txt

echo "$ cat /proc/ioports" >> /home/_USER/bugs-info.txt
cat /proc/ioports >> /home/_USER/bugs-info.txt
echo " " >> /home/_USER/bugs-info.txt

echo "-" >> /home/_USER/bugs-info.txt
echo " " >> /home/_USER/bugs-info.txt

echo "$ cat /proc/iomem" >> /home/_USER/bugs-info.txt
cat /proc/iomem >> /home/_USER/bugs-info.txt
echo " " >> /home/_USER/bugs-info.txt

echo " " >> /home/_USER/bugs-info.txt
echo " " >> /home/_USER/bugs-info.txt

echo "---" >> /home/_USER/bugs-info.txt
echo "[8.5.] PCI information ('lspci -vvv' as root)" >> /home/_USER/bugs-info.txt
echo " " >> /home/_USER/bugs-info.txt

echo "$ sudo lspci -vvv" >> /home/_USER/bugs-info.txt
sudo lspci -vvv >> /home/_USER/bugs-info.txt 2>/dev/null
sudo lspci -vvv 2>> /home/_USER/bugs-info.txt >/dev/null

echo " " >> /home/_USER/bugs-info.txt
echo " " >> /home/_USER/bugs-info.txt

echo "---" >> /home/_USER/bugs-info.txt
echo "[8.6.] SCSI information (from /proc/scsi/scsi)" >> /home/_USER/bugs-info.txt
echo " " >> /home/_USER/bugs-info.txt

echo "$ cat /proc/scsi/scsi" >> /home/_USER/bugs-info.txt
cat /proc/scsi/scsi >> /home/_USER/bugs-info.txt

echo " " >> /home/_USER/bugs-info.txt
echo " " >> /home/_USER/bugs-info.txt

echo "---" >> /home/_USER/bugs-info.txt
echo "[8.7.] Other information that might be relevant to the problem" >> /home/_USER/bugs-info.txt
echo "       (please look in /proc and include all information that you" >> /home/_USER/bugs-info.txt
echo "       think to be relevant):" >> /home/_USER/bugs-info.txt
echo " " >> /home/_USER/bugs-info.txt

echo "$ cat /proc/fb" >> /home/_USER/bugs-info.txt
cat /proc/fb >> /home/_USER/bugs-info.txt

echo " " >> /home/_USER/bugs-info.txt
echo " " >> /home/_USER/bugs-info.txt

echo "---" >> /home/_USER/bugs-info.txt
echo "[9.] Other notes:" >> /home/_USER/bugs-info.txt
echo " " >> /home/_USER/bugs-info.txt

echo "$ printenv" >> /home/_USER/bugs-info.txt
printenv >> /home/_USER/bugs-info.txt

echo " " >> /home/_USER/bugs-info.txt
echo " " >> /home/_USER/bugs-info.txt

echo "# ↑" >> /home/_USER/bugs-info.txt
echo "# Ctrl+Alt+F2 でコンソール画面にしてユーザでログイン、「bugs-info.sh」を実行した場合の注意: " >> /home/_USER/bugs-info.txt
echo "# " >> /home/_USER/bugs-info.txt
echo "# 「$ printenv」の内容はまったく違うものになり混乱するので削除します。" >> /home/_USER/bugs-info.txt
echo "# 代わりに、「Cinnamon (Software ...)」セッションでデスクトップ画面に入り、" >> /home/_USER/bugs-info.txt
echo "# 端末で「$ printenv」として、それを貼り付けてください。" >> /home/_USER/bugs-info.txt
echo "# " >> /home/_USER/bugs-info.txt
echo "# 編集時に、先頭部分と、この部分のコメントは削除してください。" >> /home/_USER/bugs-info.txt

echo " " >> /home/_USER/bugs-info.txt
echo " " >> /home/_USER/bugs-info.txt

echo "---" >> /home/_USER/bugs-info.txt
echo "[10.] Workarounds:" >> /home/_USER/bugs-info.txt

echo " " >> /home/_USER/bugs-info.txt
echo " " >> /home/_USER/bugs-info.txt
echo "---end---" >> /home/_USER/bugs-info.txt
echo " " >> /home/_USER/bugs-info.txt

echo "---end--- Bugs infometion report"
echo " "

-

3. 自分の環境に合わせて「~/bugs-info.sh」を修正:

1. ホームのユーザ名(_USER)を自分のユーザ名に「置換」します。

「/home/_USER」→「/home/自分のユーザ名」

2. [4.2.] Kernel .config file: のファイル名も「$ ls /boot/ | grep config」で確認して、使っているカーネルに合わせて修正します。

echo "$ cat /boot/config-5.7.17-200.fc32.x86_64" >> /home/_USER/bugs-info.txt
cat /boot/config-5.7.17-200.fc32.x86_64 >> /home/_USER/bugs-info.txt

3. [8.] Environment のディストリビューション名も使用環境に合わせて修正します。(編集時でも可)

Fedora 32 Cinnamon (Japanese environment)」

-

4. sh bugs-info.sh の実行:

できるだけ報告したいカーネルで実行する必要があります。

自分の場合は、「カーネル5.7」で起動して、「Cinnamon」セッションでログインしました。 デスクトップ画面が表示されると動作不調になり操作ができません。

デスクトップ画面が使えないので、Ctrl+Alt+F2 としてコンソール画面にして、ユーザでログイン。

-

続けて2回実行:
$ cd

-

$ sh bugs-info.sh

続けて2回実行します。

2回実行しないと、リダイレクトが解除され、ファイルの出力に失敗する部分があります。 2回目はパスワードを聞いてこないはずです。それでOK

→ホーム直下に「bugs-info.txt」が作成されます。 何度実行しても、新規にファイルは作成され直されます。

不具合報告のメールを送るときに修正して使えます。 バグ報告には関係ないコメント部分は、削除してください。

-

Ctrl+Alt+F2 でコンソール画面にしてユーザでログイン、「bugs-info.sh」を実行した場合の注意:

「[9.] Other notes:」の$ printenv の表示は、GUICUI ではまったく内容が違います。

デスクトップの端末で実行したのなら、そのまま使えますが、Ctrl+Alt+F2 でコンソールにしての出力だと役に立たないだけでなく、混乱の元になるので削除します。

できれば、「Cinnamon (Software ...)」セッションでデスクトップ画面を表示させ、端末で「$ printenv」として、それを貼り付けてください。

-

  • 「Cinnamon」セッションで問題があっても、デスクトップ画面の「端末」アプリが使えるなら、端末で「$ sh bugs-info.sh」を2回続けて実行します。

-


まとめ

不具合は報告しないと改善されません。

報告先の「Kernel.org Bugzilla」にて、現在問題の「5.7.16」、「5.7.17」はサポート対象外です。サポート対象外では報告しても無効です。

一覧にあるカーネルで確認したいのですが、手動でインストールできるスキルがありません。 動きそうな「5.8」にアップされるまで待つしかないかな。

-

もしくは、Fedora 32 に報告するか、Manjaro Cinnamon で確認しての報告です。(結局は一覧にあるカーネルが必要です)

Manjaro Cinnamon にはカーネル管理ツールがあります。サポート対象の「5.8.5」がツールの一覧に表示されればすぐにインストールできます。でも、一覧もアップするので追いつきそうにありません。

-

-


目次

先頭

-


-