2017年06月10日

gcc7絡みでシステム起動しなくなる件のつづき(問題解消)。archbang-i686

gcc,gcc-libs,glibcの更新を停めたまま、
システム更新していくうちに、
chromiumに次いで、kpatienceも起動しなくなりました。
ダウングレードしても、gcc7のライブラリがない
の一点張りで、困ったことになりました。

しょうがないってことで、
gcc,gcc-libs,glibcのうち、gcc,gcc-libsの
ふたつを更新して最新gcc7系にしました。
再起動したら、起動しました。
chromiumも、59に上げて起動しました。

glibcも上げて大丈夫なのかな?

システム起動しない、という事象が発生した
ときから、更新していくうちに、
周辺のソフトウェアがそろって、
大丈夫な状況になっているかもしれない、、、。
やってみました。

ふつうにシステム起動するようになっていました。

この辺りのことになると、とても弱いんですけど、
gcc関係が更新される時、ミラーサーバーに
いっしょに用意されていなければならない
何らかのパッケージが遅れたんじゃないかな。
その遅れたわずかの時間の間に、私を含め
いくらかの人たちが更新し、被害に遭った、
と考えるのがふつうですね。
システム起動に関わることって、すごく大事。
もっと神経を遣ってほしいものですね。

思い出してみると、まえにもこういうことが
あったような気はします。


posted by ブログ開設者 at 22:34| Comment(6) | linux | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
こんにちは。
先ほどVirtualboxのi686 ArchLinuxをpacman -Syuで更新しましたが、
やはりpanicを起こしています。
https://bugs.archlinux.org/task/54240
https://bbs.archlinux.org/viewtopic.php?id=227034
ここを見る限り、まだ解決しているようには見えません。
glibc更新後にmkinitcpioを実行しても、問題なく起動していますでしょうか?
Posted by i686-arch-user at 2017年06月11日 15:53
おっしゃるとおりで、mkinitcpioを走らせましたら、
やはりダメになりました。
gcc,gcc-libs,glibcをダウングレードした
状態で動くようになっているところから、
この三つを最新にして、
7-8ぐらいのi686版で問題なく起動していたのですが、
mkinitcpioを走らせますと、
以前と同様の状態で起動しなくなりました。

しかも今回は、三つを
ダウングレードしましても、
復旧できなくなりました。

下記は、mkinitcpioを走らせたきのlogです。

sudo mkinitcpio -p linux
==> Building image from preset: /etc/mkinitcpio.d/linux.preset: 'default'
-> -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/initramfs-linux.img
==> Starting build: 4.11.3-1-ARCH
-> Running build hook: [base]
-> Running build hook: [udev]
-> Running build hook: [autodetect]
-> Running build hook: [modconf]
-> Running build hook: [block]
-> Running build hook: [filesystems]
-> Running build hook: [keyboard]
-> Running build hook: [fsck]
==> Generating module dependencies
==> Creating gzip-compressed initcpio image: /boot/initramfs-linux.img
==> Image generation successful
==> Building image from preset: /etc/mkinitcpio.d/linux.preset: 'fallback'
-> -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/initramfs-linux-fallback.img -S autodetect
==> Starting build: 4.11.3-1-ARCH
-> Running build hook: [base]
-> Running build hook: [udev]
-> Running build hook: [modconf]
-> Running build hook: [block]
==> WARNING: Possibly missing firmware for module: aic94xx
==> WARNING: Possibly missing firmware for module: wd719x
-> Running build hook: [filesystems]
-> Running build hook: [keyboard]
-> Running build hook: [fsck]
==> Generating module dependencies
==> Creating gzip-compressed initcpio image: /boot/initramfs-linux-fallback.img
==> Image generation successful
$

warningの2つを解消すべく、aurより
aic94xx-firmware(依存でlhasaも)
wd719xx-firmware
をインストールしましたら。
warningは消えたんですけど、
システムは起動しないままでした。
困りました。


Posted by ブログ開設者 at 2017年06月11日 22:13
こんばんは。
正直なにが悪さをしているのか判断できないので、
https://wiki.archlinuxjp.org/index.php/Arch_Linux_Archive
ここを参考にして5/28まで巻き戻してみるのはいかがでしょうか?
Server=https://archive.archlinux.org/repos/2017/05/28/$repo/os/$arch
をmirrorlistに設定してpacman -Syyuuを実行後、再度mkinitcpioを実行する感じです。
Posted by i686-arch-user at 2017年06月11日 22:42
教えてくださって、ありがとうございます。
で、壊れたi686のひとつを
6月1日投稿の方法、当座だけの対処療法ですが、
とても乱暴なやり方で復旧させることが
やはりできました。
パッケージはgcc関連も含めすべて最新です。
パッケージは、ftp.jaist.ac.jpよりダンロードし、
23:47現在で異常なしです。

どうやら、gccの問題でもなさそうな気がしてきました。
いま、カーネルが4.11.3-1-ARCH、
gcc7とそのライブラリのセットと
glibc-2.25-2で正常起動しています。
mkinitcpioさえ走らせなければ、システムは、
至って、健全そうな感じです。そして、一旦、走らせて
しまうと、バージョンを上げて下げても、
どうにもならない、みたいな、、、。
振る舞いがまるでウィルスみたいですよね。
でも、物理的に差し替えたのは、
/bootにある3つのファイルと、
/lib/modules/にあるカーネルモジュールフォルダだけです。
mkinitcpioコマンドは、/usr/bin/mkinitcpioですよね。
それは、差し替えてはいないです。
/usr/bin/mkinitcpioは、bashのスクリプトですけど、
お読みになれませんか。わたしはさっぱりです。
Posted by ブログ開設者 at 2017年06月12日 00:22
https://bugs.archlinux.org/task/54240
を見れば分かりますが、
mkinitcpioを"実行した時"にインストールされている
glibcのバージョンが2.25-2だと問題が起こるようです。

mkinitcpioは簡単にいうと起動時に使用するinitramfsという
一時的なrootファイルシステムを現在のシステムからコピーして
構築するだけのものです。
(厳密には違いますがzip等で圧縮したアーカイブファイルを作成する感じです。)

lsinitcpio /boot/initramfs-linux.img
とターミナルから実行すると中にあるファイルの一覧が見えますが
ここにあるusr/lib/libc.so.6が
新しいバージョンだとまずいというわけです。

物理的に差し替えて起動したのは
/boot/initramfs-linux.img
がglibc-2.25-1の時に作られたものだからだと思います。

もし、glibcを戻してからmkinitcpioを実行したのに
再起動でpanicが起こるとなると私もわかりませんが……
Posted by i686-arch-user at 2017年06月12日 01:21
ご返信、ありがとうございます。
glibcを2.25-1に戻して、mkinitcpioを走らせましたら、壊れることはなく、無事起動しました。downgradeコマンドで、2.25-3が候補として見えましたので、2.25-3にし、再度mkinitcpioしましたら、壊れました。ほかからarch-chrootして、glibc-2.25-1に戻し、mkinitcpioしましたら、起動が回復しました。操作の間、gccは、すべてgcc7とgcc7-libsのままです。mkinitcpioを実行することで、生成される(差し替えられる)/boot/initramfs-linux.imagに不具合があるとき、システム起動に失敗する、という理解でよろしいでしょうか。i686版は、手元にかなりの数があります。こうしてみてどうなるか、など、原因を探るためやってみたい事等ございましたら、遠慮なくおっしゃってください。
Posted by ブログ開設者 at 2017年06月12日 07:39
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント: