RHEL6インストールガイドの「EFI用のPXEブートの設定」の記述が嘘っぱちな件


PXEブートを使ってRHEL6/CentOS6のインストールを行おうとしたら、RHEL6の公式ドキュメントに騙された・・・

参照にしたドキュメントは「インストールガイド EFI 用の PXE ブートの設定
(英語版の「30.2.2. Configuring PXE Boot for EFI」も誤っている)

(2015/04/07 英語版/日本語版共に、3の記述は修正されたことを確認)

誤っているところは、以下のところ

3. tftpboot 内に EFI ブートイメージ用のディレクトリパスを作成して、ブートディレクトリからブートイメージをコピーします。
mkdir /var/lib/tftpboot/pxelinux
mkdir /var/lib/tftpboot/pxelinux/bootx64.efi
cp /boot/efi/EFI/redhat/grub.efi /var/lib/tftpboot/pxelinux/bootx64.efi

上記手順だと、grub.efiを/var/lib/tftpboot/pxelinux/bootx64.efi/grub.efiに置くことになる。

5. pxelinux 内に pxelinux.cfg ディレクトリを作成します。
mkdir /var/lib/tftpboot/pxelinux/pxelinux.cfg

6. このディレクトリに設定ファイルを追加します。ファイル名は、efidefault とするか、または IP アドレスにちなんだ名前を付けます。例えば、マシンの IP アドレスが 10.0.0.1 の場合には、ファイル名を 0A000001 とします。
/var/lib/tftpboot/pxelinux/pxelinux.cfg/efidefault にあるサンプルの設定ファイルは以下のようになります。

何が間違っているか?

「ファイルを置くパス」

正しい手順は、以下の通り


3. tftpboot 内に EFI ブートイメージ用のディレクトリパスを作成して、ブートディレクトリからブートイメージをコピーします。

mkdir /var/lib/tftpboot/pxelinux
cp /boot/efi/EFI/redhat/grub.efi /var/lib/tftpboot/pxelinux/bootx64.efi

grub.efiをbootx64.efiという名前で/var/lib/tftpboot/pxelinux/に置く。


5. pxelinux 内に pxelinux.cfg ディレクトリを作成します。
mkdir /var/lib/tftpboot/pxelinux/pxelinux.cfg

EFIの場合は、/var/lib/tftpboot/pxelinux/pxelinux.cfg/というディレクトリを作る必要は無い。


6. このディレクトリに設定ファイルを追加します。ファイル名は、efidefault とするか、または IP アドレスにちなんだ名前を付けます。例えば、マシンの IP アドレスが 10.0.0.1 の場合には、ファイル名を 0A000001 とします。
/var/lib/tftpboot/pxelinux/efidefault にあるサンプルの設定ファイルは以下のようになります。

default=0
timeout=1
splashimage=(nd)/splash.xpm.gz
hiddenmenu
title RHEL
        root (nd)
        kernel /rhel6/vmlinuz
        initrd /rhel6/initrd.img

efidefaultというファイルは/var/lib/tftpboot/pxelinux/というディレクトリに置く。
なぜか「/rawhide-x86_64/」と記載されているが、後の記述をみると「/rhel6/」であるべきもの。

参考にしたページ
・Grokbase:[CentOS] PXE booting UEFI
・fedora project:QA:Testcase UEFI pxeboot

Bcrodcom BCM23550採用でAndroid 4.4(KitKat)対応のもの


Coviaのtwitterアカウント曰く、「CP-F03aにAndroid 4.4 KitKatを入れると、メモリは512MBのままで、動作サクサクに。」とのこと。

CP-F03aのAndroid 4.4へのアップデータ提供がいつかわからないので、他の機種からぱくってこれないか調べてみた。

まず、前回調べた「Broadcom BCM23550チップ採用のAndroid機種のメモ書き(2014/04/01)」に掲載している機種を確認したところ、アップデータは無かった。

では、前回対象外とした、怪しげメーカ群を探してみることにした。

YUHUA TELECOM(雨桦通信)社取扱品全般
Alibabaにもサイトを持っているYUHUA TELECOM(雨桦通信)社
Alibabaの企業ページ
上記ページを見てみると、Broadcomチップ採用のスマホをいろいろ扱っている模様。

「EOS J??」という名称のバリエーションモデルと、HTC ONE風の「ORION J??」というモデルがあるようなんだが、各モデルの違いがわかりにくいという・・・
EOS J15 BCM23550 1.2GHz Quad Core (Cortex A7) 4.5″ HD (1280*720) IPS Android 4.4 (KitKat)
ORION J01 BCM23550 1.2GHz Quad Core 5″ HD (1280*720) IPS NFC Phone

とりあえず、全部Android 4.4(KitKat)のモデルということになっているらしい。

ざらっと探したけど、

Overmax Vertis Expi
ドイツのOvermaxというところが扱っている「Overmax Vertis Expi」はBCM23550搭載だが、現状Android 4.2.2まで。

・Lava QPAD e704
インドの7インチタブレット
Broadcomのプレスリリースで紹介されている「Lava Selects Broadcom Quad-Core HSPA+ Turnkey Platform to Power New QPAD Tablet

Covia FleaPhone CP-F03aの近況


Covia FleaPhone CP-F03aが届いて1ヶ月。いろいろありました。

いろいろ問題があったりしましたが、先日リリースされた「firmware ver 20140415」でひとまず落ち着いた感じです。

いままで私の端末で発生した問題として、以下のものがあります。

1. CP CRASHと表示され再起動する
2. いきなり再起動し、ブラックアウト。電源ボタンを押しても何も反応しない
3. CP CRASH毎に/data領域が圧迫されていく

これらについて、Coviaのサポートに連絡し、クラッシュダンプの送付などを行い、調査・対応を行ってもらいました。

1番は、「firmware ver 20140315」で解消されたように見えたのですが、入れ替わって、2番の現象が発生するようになりました。

2番は、実はブラックアウトしても内部的にはクラッシュダンプ処理をしていて、15分ぐらいたつと電源ボタンが使えるようになります。
最初はあまりこの現象が発生していなかったのですが、4/7ぐらいから発生率が急上昇し、最盛期には1時間に1回ぐらい発生していました。
最新のfirmware ver 20140415でこれが発生しなくなったような感じです。

3番は、CP CRASHすると/data/dontpanicディレクトリにクラッシュダンプデータが書き込まれていくことで、発生していました。
これは、「firmware ver 20140327(2014/04/01リリース)」で修正されました。

これで一通り問題があったところが解消したかなぁ・・・というところではあります。

Outlookの.msgファイルをOutlook無しで読むMSGViewer


Outlookの内部ファイル形式であるところの拡張子.msgのファイルをOutlookを使わないで読み取るツールが必要になったので、探した。

由来があやしいsoftnicとかは使いたくないので、そこそこ由来が追えるものを探していったところ、SourceForgeにて「MsgViewer」というものを発見した。

Javaで動作し、GPLv3ライセンスのソースコードが公開されているものだった。
Windows向けのインストーラと、Linux用のrpmパッケージも用意されていた。

これは、Outlook .msgの他にもThunerbirdの.emlとUNIXのmbox形式も読み込める、とのこと

sourceforge上でのversion1.6の日付は2014/03/16となっていますが、これは、soureforgeに移転してきた日であり、実際には2012/11/30リリースのようです。(changelogより)

最新は、画面表示の仕組みを変更する作業を実施しているようで、そのうち、新しいバージョンが登場するかもしれません。

日本語の表示に関しては、今回届いたメールが英語のものだったので、ちょっとわかりません。
試してみてください。


2019/06/13追記

現在は2015年4月23日リリースのv1.9が最新のようです。


2020/10/12追記

OpenJREをインストールしている環境で「java -jar MSGViewer.jar」という感じで起動して使います。

また、公式が更新してくれないので、https://github.com/lolo101/MsgViewer でforkした開発を行っている人もいます。

最新の2020/08/02更新バージョンでは印刷のサポートなどを行っているようです。


2021/04/05追記

MSGViewer 1.9を使ってみたところ、きちんと日本語も表示されました。

「java -jar MSGViewer.jar」で起動したウィンドウにemlファイルをドラッグ&ドロップで表示されました。

ここにemlファイルをD&Dすると、文面が表示されます


2022/04/15追記

古いJavaが入った環境でMSG Viewer ver 1.10を実行したら、新しいJavaバージョンを要求された。

C:\tmp>java -version
java version "1.8.0_211"
Java(TM) SE Runtime Environment (build 1.8.0_211-b12)
Java HotSpot(TM) Client VM (build 25.211-b12, mixed mode)

C:\tmp>java -jar X:\tmp\windows\msgviewer.jar
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.UnsupportedClassVersionError: net/sourceforge/MSGViewer/ModuleLauncher has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(Unknown Source)
        at java.security.SecureClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.access$100(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)

C:\tmp>j

このような新しいJavaが入ってないWindows環境で一時的に試すのであればMicrosoft Build of OpenJDK から「Windows X64 zip」のファイル、例えば microsoft-jdk-17.0.2.8.1-windows-x64.zip をダウンロードし、適当なフォルダに展開。

中にあるbin\java.exe をフルパスで指定して実行するとよい。

下記はMicrosoft OpenJDK 17.0.2.8.1 で MSGViewer ver 1.10を実行した例

C:\tmp>X:\tmp\windows\jdk-17.0.2+8\bin\java.exe -version
openjdk version "17.0.2" 2022-01-18 LTS
OpenJDK Runtime Environment Microsoft-30338 (build 17.0.2+8-LTS)
OpenJDK 64-Bit Server VM Microsoft-30338 (build 17.0.2+8-LTS, mixed mode, sharing)

C:\tmp>X:\tmp\windows\jdk-17.0.2+8\bin\java.exe -jar X:\tmp\windows\msgviewer.jar
WARNING: sun.reflect.Reflection.getCallerClass is not supported. This will impact performance.
HSWShellExec_amd64.dll loaded via tmp generated pathname: C:\Users\xxxxxxxxxxxxxxx\AppData\Local\Temp\HSWShellExec-12653163171875368309.dll
All Windows closed, normal exit

C:\tmp>

eggという拡張子のファイルを解凍する(2022/07/10修正)


拡張子「egg」のファイルは韓国産のアーカイブソフト「ALZip」が作成するファイルである。単独ファイルではなく ~.vol1.egg, ~.vol2.egg, ~.vol3.egg という感じで数字連番のファイル名で分割されている場合もある。

このALZipを提供するALToolsは日本語サイトが2016年7月に終了し、英語サイトも2018年に終了。現在は韓国語サイトしか生き残っていない。

そのような状態にもかかわらずいまだにこのページにアクセスがある。しかも、2019年8月以降何故かアクセス数が上昇してきている。このため、わかりやすいようにページ構成を修正している。

さて・・・2019年10月現在、ALzipのメーカサイトは「ALTools」でハングルページしか無い。

アーカイブソフト「ALzip」の最新版は2019/08/27リリースのV10.93 2022/05/17リリースのV12.09となっている。

上記の「↓」のところをクリックすると恐らくWindows用のALZipを入手できる(と思われるが試していない)。

ALZipにはいろんな機能が含まれているようだが、eggファイルの展開だけしたい場合はUnEggを使うと余計なことをされずに安心である。

UnEggの入手は上記のALZipページをスクロールしていくことで現れる。ALzipページの一番下にある下記のような表示がそれである。

実は数ヶ月このボタンが正常に動作しない状態が続いていたが、2019/10/03に確認したところ修正され、左側から「EGGフォーマットの仕様(EGG_Specification.zip)」「Windows用UnEgg単体(UnEGG.zip)」「Linux用UnEgg単体(unegg.tar.bz)」「Android用UnEgg単体(unegg_android.zip)」がダウンロードできるようになっていた。
2022/07/10時点だと左側から「EGGフォーマットの仕様(EGG_Specification.zip)」「Windows用UnEgg単体(UnEGG.zip)」「Linux用UnEgg単体(unegg.tar.bz)」「Android用UnEgg単体(unegg_android.zip)」でダウンロードされた。(URLがhttpからhttpsに変わった)

Linux用のunegg.tar.bzは2011年の日付なので以前から変化は無いようだが、Windows用のUnEGG.zipは2016年の日付で簡単なGUI部分が追加されていた。

で、EGGファイルの展開については、Windowsであれば「UnEgg.zip」をダウンロードする。UnEgg.zipを展開して、binディレクトリにあるUnEGGSample64.exeを実行すると下記の様なウィンドウが開く。

あとは、「Open」ボタンをクリックし、展開したい拡張子eggファイルを指定し、「Extract」で展開すればOKである。


=== ここより下は古い記述で、資料のために残してあります。===


~.vol1.egg, ~.vol2.egg, ~.vol3.egg というファイルが送られてきた。

状況から考えるにどうやら分割してあるものらしいが、説明はない。

検索すると、某怪しげな動画再生ソフトと同じベンダのものを解凍展開ツールとしてお薦めする知恵袋が・・・
さすがに、あんな怪しげなところを信頼する訳もないので、きちんとしたものを探すことに。

どうやら、「ALZip」というソフトで採用している独自形式の圧縮フォーマット「EGGフォーマット」を使用しているらしい。

ALZipをインストールしなきゃらなんのかなぁ、と思っていたのだが、フォーマットのページをよく見てみると、「EGGフォーマットおよび解凍モジュール関連案内」のところに「UnEggソースコードLinux用(unegg.tar.bz)」が・・・

入手してみるとC++のソースコード(gcc向け)、Linux 32bitバイナリ、Linux 64bitバイナリが含まれていました。

cygwin環境でコンパイルできるかな、と気軽にやってみたら、そううまくは行かず、追求するのも面倒だったのでCentOS5環境下でファイルを解凍展開して、今回の問題は解決、としました。


2016/09/27追記

ALTools日本語版サービスは 2016年 7月 28日をもって終了となったようです。

このため、日本語版サイトからALZip、ALSee、ALToolbar、ALSong、ALFTPが入手できなくなっています。

altools

で、ESTSoftは海外でも展開している企業なので、探してみると「ALTools 英語版サービス」は、まだやっているようです。

ALZip Windows版ダウンロードページ
ALZip EGG Format解説ページ

ダウンロードページには「ALZip Free Serial Number」が掲載されてるけれど、「Korea, Japanでは使えない」とも書いてある。
しかし、現状はJapanでは入手できない・・・さて、どういう扱いになってることやらね・・・


2018/04/17追記

ALToolsのトップページに、2018年前半でサービス終了(We are sorry to announce that we will terminate all ALtools services in the first half of 2018.)というお知らせが出た。

現状、UnEgg SourceCode (For Linux)のリンク先が http://www.altools.com/al/downloads/egg_module/unegg_v0.5.tar.bz となっているがリンク先が無い。

韓国版の方は特に終わるとは書いていないので、情報を探してみると、UnEgg SourceCode (For Linux)のリンク先は http://sdn.altools.co.kr/etc/unegg.tar.bz となっていた。

中身を確認するとUnEgg.cpp内に「unegg v0.5」という記載があるのでコレであるようだ。

ファイルの日付は2011年6月24日なので、以前から更新はされていないようだ


2019/06/13追記

英語版ALToolsのドメインは死んでいるが、韓国版ALToolsはまだ生きている。

UnEgg SourceCode (For Linux)も http://sdn.altools.co.kr/etc/unegg.tar.bz としてダウンロードできる状態のままになっている。

ALzipの公式ページとしては「 https://www.altools.co.kr/download/alzip.aspx 」である模様。現在は2019/05/24リリースのversion 10.90 となっているようだ。

上記ページの下の方に下記の様な記述がある。

ボタンをクリックするとUnEgg関連が入手できるようになっている。