ChromeOSリカバリイメージを流用して汎用ChromeOSを作り出すBrunch

公式のChromeOSリカバリイメージを利用して、汎用のChromeOSイメージを作り出すBrunchというものを発見。

権利的にはかなり微妙なもの。

とりあえず試してみた。

使用できる条件

UEFIブート可能

Intel CPUの場合、第1世代Intel Coreプロセッサー(Nehalem)以

AMD CPUの場合、Stoney Ridge世代のみ(E2-90??, A4-91??, A6-92??, A9-94??, Pro A4-4350B, Pro A6-7350B)
Ryzenは非サポート

Nvidia GPUは非サポート

2023/11/24追記:brunch 2023/11/10付け更新でIntel第4,5世代がサポートから外れました。

2023/07/10追記:ChromeOSリカバリイメージの名称が変更。および古い世代のCPU対応が終了した、ということもありbrunchとしてもCPUの対応が変わりました。Intelだと第4世代(Haswell)以降となりました。
AMDはAMD 3015Ce(zen 2コア/4スレッド)搭載機のリカバリイメージを使用し、zenコア(Ryzen系)対応となりました。


Intel 4th~9th用: ASUS Chromebook FLip C434 (機種コードネーム:Shyvana, 基板名:rammus) AUE:2026年6月まで
Intel 10th用: HP Elite c1030 Chromebook (機種コードネーム:jinlon, 基板名:hatch) AUE:2028年6月まで
Intel 11th以降用: Acer Chromebook Spin 713(CP713-3W) (機種コードネーム:Voxel, 基板名:volteer) AUE:2029年6月まで
AMD用: HP CHromebook x360 14a-cb0010ng(機種コードネーム:Gumboz,基板名:zork) AUE:2029年6月
 機種コードネーム/基板名についての出典: Developer Information for Chrome OS Devices
 AUE(サポート終了期限)についての出典:自動更新ポリシー

手順0: Ubuntuパッケージの追加

Brunshのshell scriptで「cgpt」と「pv」を使用するため、この2つのパッケージをインストールする

osakanataro@ubuntuserver:~/cros$ sudo apt install cgpt pv
<略>
osakanataro@ubuntuserver:~/cros$

手順1: ChromeOSリカバリイメージを入手

ChromeOSリカバリイメージをGoogleのページからダウンロードする。

ただし、Google公式では一覧ページ的なものは用意されていないので、 https://cros-updates-serving.appspot.com/ https://cros.tech/ でURLを調べてダウンロードする。

前者の https://cros-updates-serving.appspot.com/ の方が一覧になっていて分かりやすい。

Brunshで利用できるリカバリイメージは下記の3種類で、ハードウェアによって選択する

「shyvana」(rammus)

ASUS Chromebook C425, ASUS Chromebook Flip C433, ASUS Chromebook Flip C434用リカバリイメージ
 → 第4世代Intel Coreプロセッサー(Haswell)以降の機種向け
 → 第6世代Intel Coreプロセッサー~第9世代Intel Coreプロセッサー向け(Skylake,Kaby Lake,Coffee Lake,Coffee Lake-R)

「jinlon」(hatch)

Chromebook x360 13c-ca0用リカバリイメージ
 → 第10世代Intel Coreプロセッサー向け(Comet Lake-S)

「voxel」(volteer)

Acer Chromebook Spin 713 (CP713-3W)用リカバリーイメージ
 → 第11世代Intel Coreプロセッサー向け(Rocket Lake-S)

「gumboz」(zork)

HP Chromebook x360 14a-cb0用リカバリイメージ
 → AMD Ryzen向け

「samus」→廃止

Google Chromebook Pixel (2015) 用リカバリイメージ
 → 第3世代Intel Coreプロセッサー(Ivy Bridge)以前の機種向け

「grunt」→廃止

Acer Chromebook 315 (CB315-2H), HP Chromebook 11A G6 EE / HP Chromebook 11A G8 EE, HP Chromebook 14 db0000-db0999 / HP Chromebook 14A G5, Acer Chromebook 311 (C721), Acer Chromebook Spin 311 (R721T), Lenovo 14e Chromebook, Lenovo Chromebook S345-14, NEC Chromebook Y1 Gen2A, 100e 2nd Gen AMD, 300e 2nd Gen AMD用リカバリイメージ
 → AMD プロセッサー機種向け

ちなみに、プロダクトコードネームからだと具体的にCPUを採用しているかわかりませんが、ChromeOSハードウェア向けにカスタマイズしたcorebootを提供している「MrChromebox.tech」のSupported Devicesを見るとCPU毎に分類されていて参考になります。

さて、ダウンロードしたファイルは、zip形式なので展開します。

osakanataro@ubuntuserver:~/cros$ wget https://dl.google.com/dl/edgedl/chromeos/recovery/chromeos_13421.99.0_samus_recovery_stable-channel_mp-v3.bin.zip
`chromeos_13421.99.0_samus_recovery_stable-channel_mp-v3.bin.zip' に保存中
chromeos_13421.99.0_samus_recove 100%[=========================================================>]   1.08G  9.04MB/s    時間 1m 51s
2020-12-07 00:24:12 (9.90 MB/s) - `chromeos_13421.99.0_samus_recovery_stable-channel_mp-v3.bin.zip' へ保存完了 [1154643907/1154643907]
osakanataro@ubuntuserver:~/cros$ unzip chromeos_13421.99.0_samus_recovery_stable
-channel_mp-v3.bin.zip
Archive:  chromeos_13421.99.0_samus_recovery_stable-channel_mp-v3.bin.zip
  inflating: chromeos_13421.99.0_samus_recovery_stable-channel_mp-v3.bin
osakanataro@ubuntuserver:~/cros$
osakanataro@ubuntuserver:~/cros$ ls -l
-rw-r--r-- 1 osakanataro osakanataro 2320468480 11月 11 23:54 chromeos_13421.99.0_samus_recovery_stable-channel_mp-v3.bin
-rw-rw-r-- 1 osakanataro osakanataro 1154643907 12月  2 01:55 chromeos_13421.99.0_samus_recovery_stable-channel_mp-v3.bin.zip
osakanataro@ubuntuserver:~/cros$

手順2: Brunchファイルを入手

BrunchのReleaseにアクセスして最新版のBrunchファイルを入手。「brunch_r86_k5.4_stable_20201201.tar.gz」というような感じになっている。

これをダウンロードして、展開する。

osakanataro@ubuntuserver:~/cros$ wget https://github.com/sebanc/brunch/releases/
download/r86-k5.4-stable-20201201/brunch_r86_k5.4_stable_20201201.tar.gz
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 356198827 (340M) [application/octet-stream]
`brunch_r86_k5.4_stable_20201201.tar.gz' に保存中
brunch_r86_k5.4_sta 100%[===================>] 339.70M  8.50MB/s    時間 58s
2020-12-07 09:32:44 (5.85 MB/s) - `brunch_r86_k5.4_stable_20201201.tar.gz' へ保 存完了 [356198827/356198827]
osakanataro@ubuntuserver:~/cros$
osakanataro@ubuntuserver:~/cros$ ls -l
合計 4855664
-rw-rw-r-- 1 osakanataro osakanataro  356198827 12月  3 04:27 brunch_r86_k5.4_stable_20201201.tar.gz
-rwxr-xr-x 1 osakanataro osakanataro      13521 12月  2 05:17 chromeos-install.sh
-rw-r--r-- 1 osakanataro osakanataro 2320468480 11月 11 23:54 chromeos_13421.99.0_samus_recovery_stable-channel_mp-v3.bin
-rw-rw-r-- 1 osakanataro osakanataro 1154643907 12月  2 01:55 chromeos_13421.99.0_samus_recovery_stable-channel_mp-v3.bin.zip
-rw-r--r-- 1 osakanataro osakanataro   33554432 12月  2 05:32 efi_legacy.img
-rw-r--r-- 1 osakanataro osakanataro   33554432 12月  2 05:32 efi_secure.img
-rw-r--r-- 1 osakanataro osakanataro 1073741824 12月  2 05:32 rootc.img
osakanataro@ubuntuserver:~/cros$

手順3: USBメモリへ書き込み

LinuxにUSBメモリを差し込んでからコマンドを実行。

直接USBメモリに書き込む以外にも「-dst ファイル名」と指定することでイメージファイルを作成することもできる。

osakanataro@ubuntuserver:~/cros$ sudo bash chromeos-install.sh -src chromeos_13421.99.0_samus_recovery_stable-channel_mp-v3.bin -dst chromeos.img
Creating image file
0+0 レコード入力
0+0 レコード出力
0 bytes copied, 0.000438446 s, 0.0 kB/s
WARNING: Primary GPT header is invalid
WARNING: Secondary GPT header is invalid
DE9B9ECE-0883-AA43-A8C1-CAEAEAB0E243
       start        size    part  contents
           0           1          PMBR (Boot GUID: DE9B9ECE-0883-AA43-A8C1-CAEAEAB0E243)
           1           1          Pri GPT header
           2          32          Pri GPT table
    19255304    10104776       1  Label: "STATE"
                                  Type: Linux data
                                  UUID: 0E6FAFDE-D6D7-184A-A64D-CD63CF869244
     2117638       65536       2  Label: "KERN-A"
                                  Type: ChromeOS kernel
                                  UUID: 3A09DFE5-08AB-2948-975D-24C1D96A136A
                                  Attr: priority=15 tries=15 successful=0
    10866696     8388608       3  Label: "ROOT-A"
                                  Type: ChromeOS rootfs
                                  UUID: DEC257F3-CB10-5F47-8D04-22E777B01FE7
     2183174       65536       4  Label: "KERN-B"
                                  Type: ChromeOS kernel
                                  UUID: 131595A8-5812-1749-B2C3-D3EFE1B20D9E
                                  Attr: priority=0 tries=15 successful=0
     2478088     8388608       5  Label: "ROOT-B"
                                  Type: ChromeOS rootfs
                                  UUID: D47CACE8-6505-5C49-8DDC-3967F2367108
       16448           1       6  Label: "KERN-C"
                                  Type: ChromeOS kernel
                                  UUID: E8025D6B-7477-2E48-8655-69E8FEF91887
                                  Attr: priority=0 tries=15 successful=0
       16456     2097152       7  Label: "ROOT-C"
                                  Type: ChromeOS rootfs
                                  UUID: C1E18F01-4178-4E4E-9726-B4E212EBF270
     2248712       32768       8  Label: "OEM"
                                  Type: Linux data
                                  UUID: 87C5B1DE-66D1-2645-84BD-1E8B0A6EB040
     2113608           1       9  Label: "reserved"
                                  Type: ChromeOS reserved
                                  UUID: C1D004AE-CD97-124E-864A-BFF3A72A3D6E
     2113609           1      10  Label: "reserved"
                                  Type: ChromeOS reserved
                                  UUID: 1EE850E8-22AC-4E45-A88A-F29C9AC25A93
          64       16384      11  Label: "RWFW"
                                  Type: ChromeOS firmware
                                  UUID: CEAA44C9-C738-7A4A-A372-B043109C1419
     2412552       65536      12  Label: "EFI-SYSTEM"
                                  Type: EFI System Partition
                                  UUID: DE9B9ECE-0883-AA43-A8C1-CAEAEAB0E243
    29360095          32          Sec GPT table
    29360127           1          Sec GPT header
Writing partition 1
8.95MiB 0:00:00 [ 119MiB/s] [<=>                                               ]
Writing partition 2
16.0MiB 0:00:00 [74.7MiB/s] [<=>                                               ]
Writing partition 3
2.00GiB 0:00:47 [43.2MiB/s] [                                            <=>   ]
Writing partition 4
16.0MiB 0:00:00 [57.2MiB/s] [<=>                                               ]
Writing partition 5
2.00GiB 0:00:49 [41.1MiB/s] [                                             <=>  ]
Writing partition 6
 512 B 0:00:00 [3.37KiB/s] [<=>                                                ]
Writing partition 7
1.00GiB 0:00:21 [47.8MiB/s] [                   <=>                            ]
Writing partition 8
16.0MiB 0:00:03 [4.38MiB/s] [  <=>                                             ]
Writing partition 9
 512 B 0:00:00 [10.5KiB/s] [<=>                                                ]
Writing partition 10
 512 B 0:00:00 [26.1KiB/s] [<=>                                                ]
Writing partition 11
8.00MiB 0:00:00 [69.4MiB/s] [<=>                                               ]
Writing partition 12
32.0MiB 0:00:00 [89.6MiB/s] [<=>                                               ]
ChromeOS disk image created.
To boot directly from this image file, add the lines between stars to either:
- A brunch usb flashdrive grub config file (then boot from usb and choose boot from disk image in the menu),
- Or your hard disk grub install if you have one (refer to you distro's online resources).
********************************************************************************
menuentry "ChromeOS (boot from disk image)" {
        rmmod tpm
        img_part=/dev/mapper/ubuntu--vg-root
        img_path=/home/osakanataro/cros/chromeos.img
        search --no-floppy --set=root --file $img_path
        loopback loop $img_path
        linux (loop,7)/kernel boot=local noresume noswap loglevel=7 disablevmx=off \
                cros_secure cros_debug loop.max_part=16 img_part=$img_part img_path=$img_path \
                console= vt.global_cursor_default=0 brunch_bootsplash=default
        initrd (loop,7)/lib/firmware/amd-ucode.img (loop,7)/lib/firmware/intel-ucode.img (loop,7)/initramfs.img
}
********************************************************************************
osakanataro@ubuntuserver:~/cros$

できたchormeos.imgをUSBメモリに書き込んで完成

ノートパソコンで起動

先日手に入れたCore i5-5200Uのノートパソコンで起動してみる。

画像

このBrunch Frameworkの画面がそこそこ時間がかかる。

待つと普通のChromeBookの初期画面になった。

画像

Androidアプリも普通に動くやつになっていた。

画像
画像

上記はsamusイメージをベースにしてたけど、rammusベースにしてみたところ、起動時のgrubでkernel行に「options=alt_touchpad_config」を追加して起動しないとキーボード/タッチパッドが使用できない状態だったが、LTEも使える形になった。

おまけの記録:コマンドが足りなくて失敗した場合のログ

Ubuntu 20.04だとパッケージ「pv」と「cgpt」を追加する必要があった。

osakanataro@ubuntuserver:~/cros$ sudo bash chromeos-install.sh -src chromeos_13421.99.0_samus_recovery_stable-channel_mp-v3.bin -dst chromeos.img
[sudo] osakanataro のパスワード:
cgpt needs to be installed first
osakanataro@ubuntuserver:~/cros$ apt search cgpt
ソート中... 完了
全文検索... 完了
cgpt/bionic 0~R63-10032.B-3 amd64
  GPT manipulation tool with support for Chromium OS extensions
vboot-utils/bionic 0~R63-10032.B-3 amd64
  Chrome OS verified u-boot utilities
osakanataro@ubuntuserver:~/cros$ sudo apt install cgpt
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
以下のパッケージが自動でインストールされましたが、もう必要とされていません:
  linux-hwe-5.4-headers-5.4.0-42 linux-hwe-5.4-headers-5.4.0-45
  linux-hwe-5.4-headers-5.4.0-47 linux-hwe-5.4-headers-5.4.0-51
  linux-hwe-5.4-headers-5.4.0-52
これを削除するには 'sudo apt autoremove' を利用してください。
以下のパッケージが新たにインストールされます:
  cgpt
アップグレード: 0 個、新規インストール: 1 個、削除: 0 個、保留: 0 個。
30.7 kB のアーカイブを取得する必要があります。
この操作後に追加で 77.8 kB のディスク容量が消費されます。
取得:1 http://jp.archive.ubuntu.com/ubuntu bionic/universe amd64 cgpt amd64 0~R63-10032.B-3 [30.7 kB]
30.7 kB を 0秒 で取得しました (359 kB/s)
以前に未選択のパッケージ cgpt を選択しています。
(データベースを読み込んでいます ... 現在 350304 個のファイルとディレクトリがインストールされています。)
.../cgpt_0~R63-10032.B-3_amd64.deb を展開する準備をしています ...
cgpt (0~R63-10032.B-3) を展開しています...
cgpt (0~R63-10032.B-3) を設定しています ...
man-db (2.8.3-2ubuntu0.1) のトリガを処理しています ...
osakanataro@ubuntuserver:~/cros$
osakanataro@ubuntuserver:~/cros$ sudo bash chromeos-install.sh -src chromeos_13421.99.0_samus_recovery_stable-channel_mp-v3.bin -dst chromeos.img
pv needs to be installed first
osakanataro@ubuntuserver:~/cros$
osakanataro@ubuntuserver:~/cros$ sudo apt install pv
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
以下のパッケージが自動でインストールされましたが、もう必要とされていません:
  linux-hwe-5.4-headers-5.4.0-42 linux-hwe-5.4-headers-5.4.0-45
  linux-hwe-5.4-headers-5.4.0-47 linux-hwe-5.4-headers-5.4.0-51
  linux-hwe-5.4-headers-5.4.0-52
これを削除するには 'sudo apt autoremove' を利用してください。
提案パッケージ:
  doc-base
以下のパッケージが新たにインストールされます:
  pv
アップグレード: 0 個、新規インストール: 1 個、削除: 0 個、保留: 0 個。
48.3 kB のアーカイブを取得する必要があります。
この操作後に追加で 123 kB のディスク容量が消費されます。
取得:1 http://jp.archive.ubuntu.com/ubuntu bionic/main amd64 pv amd64 1.6.6-1 [48.3 kB]
48.3 kB を 0秒 で取得しました (621 kB/s)
以前に未選択のパッケージ pv を選択しています。
(データベースを読み込んでいます ... 現在 350309 個のファイルとディレクトリがインストールされています。)
.../archives/pv_1.6.6-1_amd64.deb を展開する準備をしています ...
pv (1.6.6-1) を展開しています...
pv (1.6.6-1) を設定しています ...
man-db (2.8.3-2ubuntu0.1) のトリガを処理しています ...
osakanataro@ubuntuserver:~/cros$

MousePro MPro NB390H2-SSDの修理とWindowsインストール、そしてLTE内蔵改造

秋葉原のPCショップ EYESにてMousePro MPro NB390H2-SSDが5480円で売っていた。

画像

電源コネクタ破損ということでたぶん動くだろうと購入。

中を開けてみると、まぁ見事な壊れよう(なお、開ける時は左側の電源コネクタがある方から開けるといい。右側だとオーディオ端子とVGA端子の出っ張りがあって邪魔をするから)

画像

19V電源だけど、東芝/富士通系19Vとは大きさが微妙に違い刺さらないサイズなので、おそらく気がつかないアホが無理矢理押し込んで壊したんだと思われる。

画像

元のコネクタはこんな感じだったらしいけど、どれだけの力をかければ壊せるのか・・・

電源コネクタ部分は別基板になっていたので取り外して観察してみる

画像
画像
画像

基板に書かれていた「W330C」という文字列が機種名っぽかったので検索したところ、Clevo社のW330SU2というのがOEM元モデルのようである。

最初はコネクタを取り外して、東芝/富士通系と同じものに置き換えるつもりで部品も用意したんだけど、手持ちの半田ごてだとうまく取り外せなかったので、ケーブル伸ばして無理矢理配線でごまかした。

画像

Windows 10はすんなり入ったものの「SMバスコントローラ」が未認識。

画像

Clevo社のDownloadページから「Model:W330SU2」の「Driver:ALL」で表示させた中から「Chipset driver 10.0.17 for Win8.1 64bit」をダウンロードしてセットアップを実行してインストールする。

また、キーボード上の青いキー操作の内、音量操作などは動作しますが、液晶の輝度操作が動きません。こちらは「Hotkey driver 3.03.12 for Win8.1 64bit」をインストールすることで使えるようになるのでこちらもダウンロード/インストールします。

ちゃんと動くようになったので改造検討

WiFiの横にある「H=3 M」は、たぶんMキーという意味で、近くに「SSD」という記載も見えるのでNVMe SSDも行けるM.2 2280っぽい。(2021/03/10追記 NVMe SSDは認識しませんでした)

画像

もう一つの「H=4 B」はBキーという表記で、「3G」という表記。そして、そこに置かれている未接続のケーブル2本

ケーブルの先を確認すると「LTE」と書かれたアンテナっぽい基板に接続されている。

というわけで、たまたまジャンク500円で購入していたLTEカード(EM7330)をさしてアンテナケーブルを接続

どこかにSIMスロットがあるはず、と探すとすぐ近くに発見。

こちらバッテリーを取り外した時に、バッテリーコネクタの隣になります。

電源を入れると普通にWindows10上で認識し、使える様になりました。

画像

2022/08/15追記

メモリスロットが2つあるのでASUS U24Eに載せてる 「シー・エフ・デー販売 Elixir ノートパソコン用メモリ DDR3-SODIMM PC3-12800 CL11 8GB 2枚組 LowVoltage(1.35v) W3N1600Q-L8G」を載せてみたのですが、認識しませんでした。

2段階のNFSマウントをする方法

直接アクセスできないネットワークにあるNFSサーバをNFSでマウントすることはできないか試行錯誤してみた。

普通にCentOS7やSolaris11からやってみたところ、NFSマウントした領域のNFS exportでの公開はnfsd側から「Cannot export /mnt, possibly unsupported filesystem or fsid= required」とか、「Invalid filesystem」とか言われて設定できない。

これはuser-spaceで動作するnfsdを使えば回避できるんじゃないかと探してみた結果、unfs3というものを発見。ソースコードは https://github.com/unfs3/unfs3

Linux,FreeBSD,Solaris,AIX,Irix,MacOSXで動く以外に、Windows上でも制限ありで動作するとのこと。

Windows上で動かした場合は、unfsdが使用するWindowsユーザを1つ割り当てる形になるので、NFS経由のアクセスは全てそのWindowsユーザがアクセスしている、という扱いになるようだ。

あと、このunfs3はNFS ver3のみ使え、NFS v4やNFS v2でのアクセスには対応していない。また、NFS v3でもREADDIRPLUS(属性付きディレクトリの読み取り)周りは実装していないとのこと。

READDIRPLUSはOracle/Solarisのドキュメントによればlsコマンドなどでディレクトリ内のファイル一覧を表示させる動作を高速化するためのものなので、まぁ、なくてもなんとかなる感じのもの。

属性付きディレクトリの読み取り
NFS バージョン 3 では、READDIRPLUS と呼ばれる操作があります。たとえば、ls や ls -l などの、大部分の READDIR が READDIRPLUS コールとして発行されます。バージョン 3 で ls -l コマンドを実行すると、ディレクトリ内の名前リストと共に、ファイルハンドルと属性が返されます。バージョン 2 では、名前が最初に返され、ファイルハンドルと属性を取得するには、続いてサーバーを呼び出す必要があります。
バージョン 3 の READDIRPLUS 操作の利点は、ファイルごとに GETATTR 要求を送信する必要がないため時間が短縮され、ls と ls -l の速度が同程度になることです。

要件は満たせそうなので、とりあえずテスト用CentOS7環境でunfs3を動作させてみる。

準備

環境をインストール

# yum install git
# yum groupinstall "開発ツール"

コンパイル

まず、ソースコードの入手

$ git clone https://github.com/unfs3/unfs3.git

READMEにあるとおりbootstrap&configureを実行

$ cd unfs3/unfs3
$ ./bootstrap
$ ./configure

そしてmake

$ make
for i in Config ; do (cd $i && make all) || exit; done
make[1]: ディレクトリ `/root/unfs3/Config' に入ります
gcc -g -O2 -Wall -W -I.. -I. -I..   -c -o lex.yy.o lex.yy.c
gcc -g -O2 -Wall -W -I.. -I. -I..   -c -o y.tab.o y.tab.c
ar crs lib.a lex.yy.o y.tab.o
make[1]: ディレクトリ `/root/unfs3/Config' から出ます
gcc -g -O2 -Wall -W  -D_GNU_SOURCE -I.   -c -o afsgettimes.o afsgettimes.c
gcc -g -O2 -Wall -W  -D_GNU_SOURCE -I.   -c -o afssupport.o afssupport.c
gcc -g -O2 -Wall -W  -D_GNU_SOURCE -I.   -c -o attr.o attr.c
attr.c: 関数 ‘get_free_bad_dir_entry’ 内:
attr.c:550:5: エラー: ‘for’ ループ初期化宣言は C99 モード内でのみ許可されてい ます
     for (int i = 0;i < BAD_DIR_CACHE_SIZE;i++) {
     ^
attr.c:550:5: 備考: オプション -std=c99 または -std=gnu99 をコードコンパイル時に使用してください
attr.c: 関数 ‘find_bad_dir_entry’ 内:
attr.c:573:5: エラー: ‘for’ ループ初期化宣言は C99 モード内でのみ許可されてい ます
     for (int i = 0;i < BAD_DIR_CACHE_SIZE;i++) {
     ^
make: *** [attr.o] エラー 1
$

エラーとなってしまいます。

これはコンパイル時のオプションに「-std=c99」を指定するようにして解決

$ export CPPFLAGS="-std=c99";./configure
$ make
<略>
$

インストールと設定

普通にmake installすると/usr/local以下にインストールされます。

# make install
/usr/bin/install -c -d /usr/local/sbin
/usr/bin/install -c -d /usr/local/share/man/man7
/usr/bin/install -c -d /usr/local/share/man/man8
/usr/bin/install -c unfsd /usr/local/sbin/unfsd
/usr/bin/install -c -m 644 ./Extras/tags.7 /usr/local/share/man/man7/tags.7
/usr/bin/install -c -m 644 ./unfsd.8       /usr/local/share/man/man8/unfsd.8
#

NFSで公開するディレクトリの設定は、普通のnfsdと同じく /etc/exports ファイルを使用。「-e」オプションで別のファイルを指定することも可能です。

注意点としては、Linuxだとホスト名指定に「*」とnetgroupが使用できず、ログに「unfsd[20479]: syntax error in ‘/etc/exports’, exporting nothing」といった出力が出てしまうという点です。

「*」については「0.0.0.0/0」で代替できます。

/etc/exports ファイルを編集した場合、変更にはexportfsコマンドは使用できません。

unfsdに対してHUPシグナルを送ることで反映されます。(kill -HUP unfsdのPID)

unfsdの起動は「/usr/local/sbin/unfsd」の実行、停止はunfsdへのTERMシグナル送信(kill -TERM unfsdのPID)です。

最小インストールのCentOS7でブラウザを動かす場合FirefoxとChromeのどっちが容量少ないか

2022/05/12追記:「最小インストールのOracle Linux 8でブラウザを動かす場合FirefoxとChromeのどっちが容量少ないか」という記事を作成した。基本的にはCentOS7時代とあまり変わっていなかった。


検証環境へのアクセス用ゲートウェイとしてCentOS7をインストールし、その上でWebブラウザを起動させて検証環境内機器の設定画面を開こうとした。

CentOS標準だとFirefoxのパッケージがあり、CentOS+EPELだとchromiumがある。

それぞれ、CentOS7最小インストール状態から「yum install firefox」「yum install chromium」を実行した際に、どんなパッケージが追加されることになるのか確認した。

結論としては
 Firefox  84パッケージ追加、インストール容量324MB
 Chromium 101パッケージ追加、インストール容量504MB
ということで、Firefoxの方が少なかった。

TeraTermの「SSHポート転送」の「Xクライアントアプリケーションの転送」を使う場合は、CentOS7側にxorg-x11-xauthパッケージをインストールしておく必要があるため「yum install xorg-x11-xauth」を実行する必要があった。

そして、日本語表示についてはさらにパッケージを追加する必要があった。

以前調べた「最小インストールのRHEL7環境で文字化けせずにNetBackup管理画面を表示するために必要なパッケージ」の情報が使えるかな?と「yum install vlgothic-fonts vlgothic-p-fonts」でインストールしたところ問題ないような表示となりました。

Firefoxの場合

合計84パッケージが追加され、インストール容量は324MB

# yum info firefox
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.nara.wide.ad.jp
 * epel: epel.uni-sofia.bg
 * extras: ftp.nara.wide.ad.jp
 * updates: ftp.nara.wide.ad.jp
利用可能なパッケージ
名前                : firefox
アーキテクチャー    : i686
バージョン          : 68.12.0
リリース            : 1.el7.centos
容量                : 96 M
リポジトリー        : updates/7/x86_64
要約                : Mozilla Firefox Web browser
URL                 : https://www.mozilla.org/firefox/
ライセンス          : MPLv1.1 or GPLv2+ or LGPLv2+
説明                : Mozilla Firefox is an open-source web browser, designed for standards
                    : compliance, performance and portability.

名前                : firefox
アーキテクチャー    : x86_64
バージョン          : 68.12.0
リリース            : 1.el7.centos
容量                : 93 M
リポジトリー        : updates/7/x86_64
要約                : Mozilla Firefox Web browser
URL                 : https://www.mozilla.org/firefox/
ライセンス          : MPLv1.1 or GPLv2+ or LGPLv2+
説明                : Mozilla Firefox is an open-source web browser, designed for standards
                    : compliance, performance and portability.
#
# yum install firefox
<略>
依存性を解決しました

==================================================================================================================================================================================================
 Package                                                アーキテクチャー                    バージョン                                                 リポジトリー                          容量
==================================================================================================================================================================================================
インストール中:
 firefox                                                x86_64                              68.12.0-1.el7.centos                                       updates                               93 M
依存性関連でのインストールをします:
 adwaita-cursor-theme                                   noarch                              3.28.0-1.el7                                               base                                 641 k
 adwaita-icon-theme                                     noarch                              3.28.0-1.el7                                               base                                  11 M
 at-spi2-atk                                            x86_64                              2.26.2-1.el7                                               base                                  81 k
 at-spi2-core                                           x86_64                              2.28.0-1.el7                                               base                                 158 k
 atk                                                    x86_64                              2.28.1-2.el7                                               base                                 263 k
 avahi-libs                                             x86_64                              0.6.31-20.el7                                              base                                  62 k
 cairo                                                  x86_64                              1.15.12-4.el7                                              base                                 741 k
 cairo-gobject                                          x86_64                              1.15.12-4.el7                                              base                                  26 k
 centos-indexhtml                                       noarch                              7-9.el7.centos                                             base                                  92 k
 colord-libs                                            x86_64                              1.3.4-2.el7                                                base                                 186 k
 cups-libs                                              x86_64                              1:1.6.3-43.el7                                             base                                 358 k
 dconf                                                  x86_64                              0.28.0-4.el7                                               base                                 106 k
 dejavu-fonts-common                                    noarch                              2.33-6.el7                                                 base                                  64 k
 dejavu-sans-fonts                                      noarch                              2.33-6.el7                                                 base                                 1.4 M
 fontconfig                                             x86_64                              2.13.0-4.3.el7                                             base                                 254 k
 fontpackages-filesystem                                noarch                              1.44-8.el7                                                 base                                 9.9 k
 fribidi                                                x86_64                              1.0.2-1.el7_7.1                                            base                                  79 k
 gdk-pixbuf2                                            x86_64                              2.36.12-3.el7                                              base                                 570 k
 glib-networking                                        x86_64                              2.56.1-1.el7                                               base                                 145 k
 gnutls                                                 x86_64                              3.3.29-9.el7_6                                             base                                 680 k
 graphite2                                              x86_64                              1.3.10-1.el7_3                                             base                                 115 k
 gsettings-desktop-schemas                              x86_64                              3.28.0-3.el7                                               base                                 606 k
 gtk-update-icon-cache                                  x86_64                              3.22.30-5.el7                                              base                                  27 k
 gtk2                                                   x86_64                              2.24.31-1.el7                                              base                                 3.4 M
 gtk3                                                   x86_64                              3.22.30-5.el7                                              base                                 4.4 M
 harfbuzz                                               x86_64                              1.7.5-2.el7                                                base                                 267 k
 hicolor-icon-theme                                     noarch                              0.12-7.el7                                                 base                                  42 k
 jasper-libs                                            x86_64                              1.900.1-33.el7                                             base                                 150 k
 jbigkit-libs                                           x86_64                              2.0-11.el7                                                 base                                  46 k
 json-glib                                              x86_64                              1.4.2-2.el7                                                base                                 134 k
 lcms2                                                  x86_64                              2.6-3.el7                                                  base                                 150 k
 libICE                                                 x86_64                              1.0.9-9.el7                                                base                                  66 k
 libSM                                                  x86_64                              1.2.2-2.el7                                                base                                  39 k
 libX11                                                 x86_64                              1.6.7-2.el7                                                base                                 607 k
 libX11-common                                          noarch                              1.6.7-2.el7                                                base                                 164 k
 libXau                                                 x86_64                              1.0.8-2.1.el7                                              base                                  29 k
 libXcomposite                                          x86_64                              0.4.4-4.1.el7                                              base                                  22 k
 libXcursor                                             x86_64                              1.1.15-1.el7                                               base                                  30 k
 libXdamage                                             x86_64                              1.1.4-4.1.el7                                              base                                  20 k
 libXext                                                x86_64                              1.3.3-3.el7                                                base                                  39 k
 libXfixes                                              x86_64                              5.0.3-1.el7                                                base                                  18 k
 libXft                                                 x86_64                              2.3.2-2.el7                                                base                                  58 k
 libXi                                                  x86_64                              1.7.9-1.el7                                                base                                  40 k
 libXinerama                                            x86_64                              1.1.3-2.1.el7                                              base                                  14 k
 libXrandr                                              x86_64                              1.5.1-2.el7                                                base                                  27 k
 libXrender                                             x86_64                              0.9.10-1.el7                                               base                                  26 k
 libXt                                                  x86_64                              1.1.5-3.el7                                                base                                 173 k
 libXtst                                                x86_64                              1.2.3-1.el7                                                base                                  20 k
 libXxf86vm                                             x86_64                              1.1.4-1.el7                                                base                                  18 k
 libepoxy                                               x86_64                              1.5.2-1.el7                                                base                                 211 k
 liberation-fonts-common                                noarch                              1:1.07.2-16.el7                                            base                                  27 k
 liberation-sans-fonts                                  noarch                              1:1.07.2-16.el7                                            base                                 279 k
 libglvnd                                               x86_64                              1:1.0.1-0.8.git5baa1e5.el7                                 base                                  89 k
 libglvnd-egl                                           x86_64                              1:1.0.1-0.8.git5baa1e5.el7                                 base                                  44 k
 libglvnd-glx                                           x86_64                              1:1.0.1-0.8.git5baa1e5.el7                                 base                                 125 k
 libgusb                                                x86_64                              0.2.9-1.el7                                                base                                  40 k
 libjpeg-turbo                                          x86_64                              1.2.90-8.el7                                               base                                 135 k
 libmodman                                              x86_64                              2.0.1-8.el7                                                base                                  28 k
 libproxy                                               x86_64                              0.4.11-11.el7                                              base                                  64 k
 libsoup                                                x86_64                              2.62.2-2.el7                                               base                                 411 k
 libthai                                                x86_64                              0.1.14-9.el7                                               base                                 187 k
 libtiff                                                x86_64                              4.0.3-32.el7                                               base                                 171 k
 libusbx                                                x86_64                              1.0.21-1.el7                                               base                                  61 k
 libwayland-client                                      x86_64                              1.15.0-1.el7                                               base                                  33 k
 libwayland-cursor                                      x86_64                              1.15.0-1.el7                                               base                                  20 k
 libwayland-egl                                         x86_64                              1.15.0-1.el7                                               base                                  13 k
 libwayland-server                                      x86_64                              1.15.0-1.el7                                               base                                  39 k
 libxcb                                                 x86_64                              1.13-1.el7                                                 base                                 214 k
 libxkbcommon                                           x86_64                              0.7.1-3.el7                                                base                                 108 k
 libxshmfence                                           x86_64                              1.2-1.el7                                                  base                                 7.2 k
 mesa-libEGL                                            x86_64                              18.3.4-7.el7_8.1                                           updates                              109 k
 mesa-libGL                                             x86_64                              18.3.4-7.el7_8.1                                           updates                              165 k
 mesa-libgbm                                            x86_64                              18.3.4-7.el7_8.1                                           updates                               39 k
 mesa-libglapi                                          x86_64                              18.3.4-7.el7_8.1                                           updates                               46 k
 mozilla-filesystem                                     x86_64                              1.9-11.el7                                                 base                                 5.3 k
 nettle                                                 x86_64                              2.7.1-8.el7                                                base                                 327 k
 pango                                                  x86_64                              1.42.4-4.el7_7                                             base                                 280 k
 pixman                                                 x86_64                              0.34.0-1.el7                                               base                                 248 k
 rest                                                   x86_64                              0.8.1-2.el7                                                base                                  63 k
 startup-notification                                   x86_64                              0.12-8.el7                                                 base                                  39 k
 trousers                                               x86_64                              0.3.14-2.el7                                               base                                 289 k
 xcb-util                                               x86_64                              0.4.0-2.el7                                                base                                  16 k
 xkeyboard-config                                       noarch                              2.24-1.el7                                                 base                                 834 k

トランザクションの要約
==================================================================================================================================================================================================
インストール  1 パッケージ (+83 個の依存関係のパッケージ)

総ダウンロード容量: 126 M
インストール容量: 324 M
Is this ok [y/d/N]:

Chromiumの場合

合計、101個のパッケージが追加され、504MB

なお、事前に「yum install epel-release」を実行してEPELレポジトリを有効とする必要がある。

# yum info chromium
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.nara.wide.ad.jp
 * epel: mirror.slu.cz
 * extras: ftp.nara.wide.ad.jp
 * updates: ftp.nara.wide.ad.jp
利用可能なパッケージ
名前                : chromium
アーキテクチャー    : x86_64
バージョン          : 85.0.4183.121
リリース            : 1.el7
容量                : 97 M
リポジトリー        : epel/x86_64
要約                : A WebKit (Blink) powered web browser
URL                 : http://www.chromium.org/Home
ライセンス          : BSD and LGPLv2+ and ASL 2.0 and IJG and MIT and GPLv2+ and ISC and OpenSSL and (MPLv1.1 or GPLv2 or LGPLv2)
説明                : Chromium is an open-source web browser, powered by WebKit (Blink).

# yum install chromium
<略>
依存性を解決しました

==================================================================================================================================================================================================
 Package                                                アーキテクチャー                    バージョン                                                 リポジトリー                          容量
==================================================================================================================================================================================================
インストール中:
 chromium                                               x86_64                              85.0.4183.121-1.el7                                        epel                                  97 M
依存性関連でのインストールをします:
 adwaita-cursor-theme                                   noarch                              3.28.0-1.el7                                               base                                 641 k
 adwaita-icon-theme                                     noarch                              3.28.0-1.el7                                               base                                  11 M
 at-spi2-atk                                            x86_64                              2.26.2-1.el7                                               base                                  81 k
 at-spi2-core                                           x86_64                              2.28.0-1.el7                                               base                                 158 k
 atk                                                    x86_64                              2.28.1-2.el7                                               base                                 263 k
 audit-libs-python                                      x86_64                              2.8.5-4.el7                                                base                                  76 k
 avahi                                                  x86_64                              0.6.31-20.el7                                              base                                 264 k
 avahi-libs                                             x86_64                              0.6.31-20.el7                                              base                                  62 k
 cairo                                                  x86_64                              1.15.12-4.el7                                              base                                 741 k
 cairo-gobject                                          x86_64                              1.15.12-4.el7                                              base                                  26 k
 checkpolicy                                            x86_64                              2.5-8.el7                                                  base                                 295 k
 chromium-common                                        x86_64                              85.0.4183.121-1.el7                                        epel                                  16 M
 colord-libs                                            x86_64                              1.3.4-2.el7                                                base                                 186 k
 cups-libs                                              x86_64                              1:1.6.3-43.el7                                             base                                 358 k
 dconf                                                  x86_64                              0.28.0-4.el7                                               base                                 106 k
 dejavu-fonts-common                                    noarch                              2.33-6.el7                                                 base                                  64 k
 dejavu-sans-fonts                                      noarch                              2.33-6.el7                                                 base                                 1.4 M
 flac-libs                                              x86_64                              1.3.0-5.el7_1                                              base                                 169 k
 fontconfig                                             x86_64                              2.13.0-4.3.el7                                             base                                 254 k
 fontpackages-filesystem                                noarch                              1.44-8.el7                                                 base                                 9.9 k
 fribidi                                                x86_64                              1.0.2-1.el7_7.1                                            base                                  79 k
 gdk-pixbuf2                                            x86_64                              2.36.12-3.el7                                              base                                 570 k
 glib-networking                                        x86_64                              2.56.1-1.el7                                               base                                 145 k
 gnutls                                                 x86_64                              3.3.29-9.el7_6                                             base                                 680 k
 graphite2                                              x86_64                              1.3.10-1.el7_3                                             base                                 115 k
 gsettings-desktop-schemas                              x86_64                              3.28.0-3.el7                                               base                                 606 k
 gsm                                                    x86_64                              1.0.13-11.el7                                              base                                  30 k
 gstreamer1                                             x86_64                              1.10.4-2.el7                                               base                                 1.2 M
 gtk-update-icon-cache                                  x86_64                              3.22.30-5.el7                                              base                                  27 k
 gtk3                                                   x86_64                              3.22.30-5.el7                                              base                                 4.4 M
 harfbuzz                                               x86_64                              1.7.5-2.el7                                                base                                 267 k
 hicolor-icon-theme                                     noarch                              0.12-7.el7                                                 base                                  42 k
 jasper-libs                                            x86_64                              1.900.1-33.el7                                             base                                 150 k
 jbigkit-libs                                           x86_64                              2.0-11.el7                                                 base                                  46 k
 json-glib                                              x86_64                              1.4.2-2.el7                                                base                                 134 k
 lcms2                                                  x86_64                              2.6-3.el7                                                  base                                 150 k
 libICE                                                 x86_64                              1.0.9-9.el7                                                base                                  66 k
 libSM                                                  x86_64                              1.2.2-2.el7                                                base                                  39 k
 libX11                                                 x86_64                              1.6.7-2.el7                                                base                                 607 k
 libX11-common                                          noarch                              1.6.7-2.el7                                                base                                 164 k
 libXau                                                 x86_64                              1.0.8-2.1.el7                                              base                                  29 k
 libXcomposite                                          x86_64                              0.4.4-4.1.el7                                              base                                  22 k
 libXcursor                                             x86_64                              1.1.15-1.el7                                               base                                  30 k
 libXdamage                                             x86_64                              1.1.4-4.1.el7                                              base                                  20 k
 libXext                                                x86_64                              1.3.3-3.el7                                                base                                  39 k
 libXfixes                                              x86_64                              5.0.3-1.el7                                                base                                  18 k
 libXft                                                 x86_64                              2.3.2-2.el7                                                base                                  58 k
 libXi                                                  x86_64                              1.7.9-1.el7                                                base                                  40 k
 libXinerama                                            x86_64                              1.1.3-2.1.el7                                              base                                  14 k
 libXrandr                                              x86_64                              1.5.1-2.el7                                                base                                  27 k
 libXrender                                             x86_64                              0.9.10-1.el7                                               base                                  26 k
 libXtst                                                x86_64                              1.2.3-1.el7                                                base                                  20 k
 libXxf86vm                                             x86_64                              1.1.4-1.el7                                                base                                  18 k
 libasyncns                                             x86_64                              0.8-7.el7                                                  base                                  26 k
 libcanberra                                            x86_64                              0.30-9.el7                                                 base                                  82 k
 libcanberra-gtk3                                       x86_64                              0.30-9.el7                                                 base                                  31 k
 libcgroup                                              x86_64                              0.41-21.el7                                                base                                  66 k
 libepoxy                                               x86_64                              1.5.2-1.el7                                                base                                 211 k
 libglvnd                                               x86_64                              1:1.0.1-0.8.git5baa1e5.el7                                 base                                  89 k
 libglvnd-egl                                           x86_64                              1:1.0.1-0.8.git5baa1e5.el7                                 base                                  44 k
 libglvnd-glx                                           x86_64                              1:1.0.1-0.8.git5baa1e5.el7                                 base                                 125 k
 libgusb                                                x86_64                              0.2.9-1.el7                                                base                                  40 k
 libjpeg-turbo                                          x86_64                              1.2.90-8.el7                                               base                                 135 k
 libmodman                                              x86_64                              2.0.1-8.el7                                                base                                  28 k
 libogg                                                 x86_64                              2:1.3.0-7.el7                                              base                                  24 k
 libproxy                                               x86_64                              0.4.11-11.el7                                              base                                  64 k
 libsemanage-python                                     x86_64                              2.5-14.el7                                                 base                                 113 k
 libsndfile                                             x86_64                              1.0.25-11.el7                                              base                                 149 k
 libsoup                                                x86_64                              2.62.2-2.el7                                               base                                 411 k
 libtdb                                                 x86_64                              1.3.18-1.el7                                               base                                  49 k
 libthai                                                x86_64                              0.1.14-9.el7                                               base                                 187 k
 libtiff                                                x86_64                              4.0.3-32.el7                                               base                                 171 k
 libtool-ltdl                                           x86_64                              2.4.2-22.el7_3                                             base                                  49 k
 libusbx                                                x86_64                              1.0.21-1.el7                                               base                                  61 k
 libvorbis                                              x86_64                              1:1.3.3-8.el7.1                                            base                                 204 k
 libwayland-client                                      x86_64                              1.15.0-1.el7                                               base                                  33 k
 libwayland-cursor                                      x86_64                              1.15.0-1.el7                                               base                                  20 k
 libwayland-egl                                         x86_64                              1.15.0-1.el7                                               base                                  13 k
 libwayland-server                                      x86_64                              1.15.0-1.el7                                               base                                  39 k
 libxcb                                                 x86_64                              1.13-1.el7                                                 base                                 214 k
 libxkbcommon                                           x86_64                              0.7.1-3.el7                                                base                                 108 k
 libxshmfence                                           x86_64                              1.2-1.el7                                                  base                                 7.2 k
 libxslt                                                x86_64                              1.1.28-5.el7                                               base                                 242 k
 mesa-libEGL                                            x86_64                              18.3.4-7.el7_8.1                                           updates                              109 k
 mesa-libGL                                             x86_64                              18.3.4-7.el7_8.1                                           updates                              165 k
 mesa-libgbm                                            x86_64                              18.3.4-7.el7_8.1                                           updates                               39 k
 mesa-libglapi                                          x86_64                              18.3.4-7.el7_8.1                                           updates                               46 k
 minizip                                                x86_64                              1.2.7-18.el7                                               base                                  34 k
 nettle                                                 x86_64                              2.7.1-8.el7                                                base                                 327 k
 nss-mdns                                               x86_64                              0.14.1-9.el7                                               epel                                  43 k
 pango                                                  x86_64                              1.42.4-4.el7_7                                             base                                 280 k
 pixman                                                 x86_64                              0.34.0-1.el7                                               base                                 248 k
 policycoreutils-python                                 x86_64                              2.5-34.el7                                                 base                                 457 k
 pulseaudio-libs                                        x86_64                              10.0-5.el7                                                 base                                 651 k
 python-IPy                                             noarch                              0.75-6.el7                                                 base                                  32 k
 rest                                                   x86_64                              0.8.1-2.el7                                                base                                  63 k
 setools-libs                                           x86_64                              3.3.8-4.el7                                                base                                 620 k
 sound-theme-freedesktop                                noarch                              0.8-3.el7                                                  base                                 377 k
 trousers                                               x86_64                              0.3.14-2.el7                                               base                                 289 k
 xkeyboard-config                                       noarch                              2.24-1.el7                                                 base                                 834 k

トランザクションの要約
==================================================================================================================================================================================================
インストール  1 パッケージ (+100 個の依存関係のパッケージ)

総ダウンロード容量: 147 M
インストール容量: 504 M
Is this ok [y/d/N]:


ちなみに、Chromiumをインストールした後に、Firefoxをインストールしようとした場合に追加されるパッケージ群は下記。

9パッケージで、インストール容量は 238MB

# yum install firefox
<略>

依存性を解決しました

==================================================================================================================================================================================================
 Package                                                アーキテクチャー                      バージョン                                             リポジトリー                            容量
==================================================================================================================================================================================================
インストール中:
 firefox                                                x86_64                                68.12.0-1.el7.centos                                   updates                                 93 M
依存性関連でのインストールをします:
 centos-indexhtml                                       noarch                                7-9.el7.centos                                         base                                    92 k
 gtk2                                                   x86_64                                2.24.31-1.el7                                          base                                   3.4 M
 libXt                                                  x86_64                                1.1.5-3.el7                                            base                                   173 k
 liberation-fonts-common                                noarch                                1:1.07.2-16.el7                                        base                                    27 k
 liberation-sans-fonts                                  noarch                                1:1.07.2-16.el7                                        base                                   279 k
 mozilla-filesystem                                     x86_64                                1.9-11.el7                                             base                                   5.3 k
 startup-notification                                   x86_64                                0.12-8.el7                                             base                                    39 k
 xcb-util                                               x86_64                                0.4.0-2.el7                                            base                                    16 k

トランザクションの要約
==================================================================================================================================================================================================
インストール  1 パッケージ (+8 個の依存関係のパッケージ)

総ダウンロード容量: 97 M
インストール容量: 238 M
Is this ok [y/d/N]:

Windows Live メール 2012で「メッセージを表示できませんでした」となる

注: 必要な作業は「レジストリを設定してOS再起動」です。Liveメールの設定を確認する必要はありません。設定確認はきちんとした原因調査したい場合に行う操作です。

2020/12/23追記

2020年5月リリースのWindows 10 20H2適用後、「0x800c013e 不明なエラー」というエラーで使えなくなる、という件が発生しているようで来訪が多い。

うちのテスト用Windows10はこの記事を書いた10月時点ですでにWindows 10 20H2になっており「0x800c013e 不明なエラー」が発生していました。

そこで、このページのレジストリ設定を行ったところ、Windows Liveメール2012を使ったメール送受信は可能となりました。2020/12/23時点でもIMAP/POP3メール受信,SMTPメール送信ともに出来ています。

また、エラーがでたのでメールアカウントの再設定などを試そうとしている場合の注意点があります。

Windows Liveメールはサポートが切れて数年経ちますので、各メールサーバの設定案内で記述が削除されており、他のメールソフトの設定ページにある設定を利用しているのではないかと思います。

しかし、Windows Liveメールで使えるメールサーバ設定は10年以上前のメールサーバ用の設定であり、2020年のメールサーバが備えてる設定ではアクセスができないものがあります。

詳細については「Windows Liveメール2012で使えるメールサーバ設定」を見てください。

追記終了


メールサーバを管理しているといろんなユーザがいるわけです。

とっくにサポートが切れたWindows Live メール 2012をWindows10上で使っている人、とかね。

そんな人からの問い合わせに対応するために検証用Windows10にWindows Live メールをセットアップしてみたら、メールが表示されない。

「メッセージを表示出来ませんでした」ってなんだ?

いろいろ調査してみると、[オプション]-[メール]-[詳細設定]の「メンテナンス」でどんな状態にあるか確認できるらしい(注:これは調査のための操作なので、特にやる必要はありません)

これの「トラブルシューティング」の「全般」と「メール」にチェックを入れて、「保存先フォルダー」に書かれたディレクトリにあるWindowsLiveMail.log にログが出力されるようになる。

受信トレイのメールをクリックしてみると下記の様な「Zone_MailChk ERROR: (storutil.cpp:3965), failed with 0x800C013E」などのエラーが出力される。

[15:11:00.34] 4138                 Mail:            Zone_MailChk ERROR: (msgfldr.cpp:2741), failed with 0x800C013E  
[15:11:00.34] 4138                 Mail:            Zone_MailChk ERROR: (msgfldr.cpp:905), failed with 0x800C013E  
[15:11:00.34] 4138                 Mail:            Zone_MailChk ERROR: (storutil.cpp:3965), failed with 0x800C013E  

この情報を元に検索したところ、2020/08/26付けの「Windows Live Mail」というマイクロソフトコミュニティの書き込みを発見。

レジストリエディッタで「HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows Live Mail」直下にDWORD(32bit)で3つのキーを値「1」で新規作成して、Windowsを再起動してWindows Liveメールを開き直すとメッセージが読めるようになる、と。

作成するDWORDキー
  RecreateFolderIndex
  RecreateStreamIndex
  RecreateUIDLIndex

(該当する3つのキーの値は1回Windows Liveメールを起動することで「0」に戻ります)

この手順を実施したところ、ちゃんとメッセージが読めるようになりました。