Table of Contents
一般的なインストール方法と手順のおさらい
念の為、「How to install DEXCS2024 for OpenFOAM on VirtualBox」のスライドで公開している各ステップにおける操作イメージ図と、DEXCS2024に同梱の「その他諸々」資料の一部も貼付しておいた。
1. ubuntu セットアップ

2. ubuntuインストール ⇒ 再起動


3. DEXCSセットアップ ⇒ 再ログイン

4. 仮想環境で使う場合には、さらに仮想環境用のセットアップ ⇒ 再起動

なお、1.で「ライブモード」の設定も可能であるが、本記事では「インストールモード」での説明とさせていただく。
暫定対応版の推奨インストール手順
推奨というのは、上記のインストールに当たってインターネットに接続しないで作業を実施せよ、というだけである。セットアップが終了したらネットワークに接続するようにすれば、カーネルアップデートの不具合は生じない。
1. ネットワーク接続の切断
2. ubuntu セットアップ
3. ubuntu インストール ⇒ 再起動
4. DEXCSセットアップ ⇒ 再ログイン
5. 仮想環境で使う場合には、さらに仮想環境用のセットアップ ⇒ 再起動
6. 一旦終了 ⇒ ネットワーク接続して電源オン
マシンの電源をオフにしたら、1.のネットワーク切断での処置を元に戻してから、マシンの電源をオンにする。
上記手順でインストール出来ていれば、以降のソフトウェア更新は、デフォルトの自動更新のまま、更新を促すメッセージが出た場合に適宜対応すれば良く、取り立てて意識しないで使用することができる。
なお、5.の仮想環境用セットアップは、ネットワーク接続後に実施しても良い。
KernelPanicの状態になったら
今回リリースのカーネルバージョンは、6.8.0-57 であるので、製作時点(2025/4/4)から間もない日時であればネットワークーク接続した状態でもカーネルアップデートは行われないはずであるが、ある程度日時が経過してしまう(確認され次第、本記事に日にちを明記する予定)とubuntuインストールを実行して再起動の後、ほぼ確実にKernelPanicの状態になる。その場合の対処法を以下記しておく。

実計算機では、画面が真っ黒で何も表示されない場合もある。
GRUBメニュー選択
電源を入れ直すと、以下のGRUB画面が現れるはずである。
ここで何もしないでいると、KernelPanicの状態になってしまうが、
2番目の「Advanced options for Ubuntu」を選択すると、以下のサブ画面となる。
ここで、上の2つが最新カーネルで、3番目を選択すれば一つ前のカーネルで起動でき、カーネルアップデート前の状態に戻すことができる。
因みに、isoイメージを作成した時点におけるカーネルは 6.8.0-55 であったが、本記事を作成する段階では 6.8.0-56 となっていたので、上記の画面イメージとなった。しかし本記事を公開する時点(2025/4/2)では、6.8.0-57 になっているので、上記画面イメージは再現されない点、お断りしておく。
dexcsKernelUpdate.sh 実行
デスクトップ上のDEXCSフォルダ中に、dexcsKernelUpdate.sh というスクリプトが収納されている(下図)。
これを❷右クリックメニューから❸「プログラムとして実行」を選択すると、端末画面が現れ、パスワードの入力を促される。
パスワードが正しく入力されると、カーネルアップデートの補完作業が実行される。最終的に、/boot/ フォルダ中のファイル一覧リストが表示され、❸「y」を入力すれば再起動される。「y」を入力せずとも、そのまま再起動させても良かったが、このスクリプトはまだ十分に検証できていない。❷の部分で、initrd.img というファイルが最新Kernelのシンボリックリンクになっていることを確認したかった。これが出来ていれば問題無いはずだが、うまく出来ない場合があるかもしれない点と、出来ていてなおかつ不具合が生じる場合もあるかもしれない。かような事態が生じた場合にはレポートをお願いする。
カーネルアップデート不具合の原因
本記事の冒頭に記した原因調査では、ubuntuの標準アップグレードを実施する中で、update-initramfs というコマンドが実行されていないことがわかった。このコマンドそのものは、/usr/sbin に収納されていたが、その内容まで調べると、
$ cat /usr/sbin/update-initramfs
#!/bin/true
# diverted by curtin
となって、全く実体の無いものであった。、また以下調べたところ、
$ ls /usr/sbin/update-ini* -l
-rwxr-xr-x 1 root root 32 2月 19 18:58 /usr/sbin/update-initramfs
-rwxr-xr-x 1 root root 6908 2月 7 18:55 /usr/sbin/update-initramfs.curtin-disabled
となって、どうやら本来のupdate-initramfs というファイルが、update-initramfs.curtin-disabled というファイルに(curtin)が変更したものと読み取れた。そこで、これをもとに戻す、つまり
$ sudo rm -rf /usr/sbin/update-initramfs
$ sudo mv /usr/sbin/update-initramfs.curtin-disabled /usr/sbin/update-initramfs
としてやれば、以降カーネルアップデートが正常に実施されることが確認できた。今回のリリースは、DEXCSセットアップ(opt/DEXCS/setupDEXCS.sh)の中で、この変更を実施しているが、既にDEXCS2024を使っている場合には、そのマシンで実行すれば良い。
つまり、これまでカーネルアップデートの都度、手動でアップデートの補完作業を実施していたバージョンのDEXCS2024であっても、上記変更する(update-initramfs を本来の内容に戻す)だけで、以降、カーネルアップデートの煩わしさからは解消されることになる。
但し、これが根本的な対策かというと、そうではない。Cubic上で仮想マシンを作成している段階で上記変更はされておらず、Cubicが作成したsquasfs(圧縮ファイルシステム) においても変更されていなかった。多分、ubuntuのインストール段階で curtin が変更したんだろうとしか思えないが、curtin って何?ubuntuのインストーラーの仕組みが従来と大きく変わっているという情報もあり、その内容も理解できていない。あくまで対症療法でしかないので、依然「暫定対応版」であることには変わりはない。
暫定対応版の改定内容
前項で記したように、カーネルアップデート不具合の対策としては、/usr/sbin/update-initramfs を本来の形に戻してやれば済む。既にDEXCS2024をお使いの人で、この作業ができる人にはその方法を推奨する。
本リリースは、あくまでこれから始める人、もしくはLinuxの超初心者で、この変更作業に不安のある方が対象である。また、公開当初のリリース版と比べて、以下の改定も実施しているので、これらの改定が必要な人には、これを契機に更新するのも良いかと。
- FreeCADをver.1.0.0 に変更
- 先の記事で説明したスクリプトを同梱
- TreeFoam-3.28-2502(一部改)⇒効能については、こちらの記事を参照されたい
- DEXCS−WBのデフォルト値変更
- DEXCSセットアップスクリプトの改変
但し、同梱ドキュメントについて、これらの改定に対応していない点はお断りしておく。
カーネル周りを自動コンパイルするdkmsパッケージがインストールされていないことが原因だと思います。
私のVirtualBoxのUbuntuでは、同様の現象になっていません。
VirtualBox Debian Wiki : Installing the Guest Additions on a Debian VMに記述があります(ゲストツールは、CDメディアのものを使用しますが、カーネル周りのコンパイルのは同じ条件です)。
https://wiki.debian.org/VirtualBox#Installing_the_Guest_Additions_on_a_Debian_VM
また、ゲストOSのLinuxカーネルをメジャーアップデートする必要性は低いので、HWEカーネルを削除し、genericカーネルでの運用とすれば、本問題のリスクが下がります。
Grub2のメニューは常時表示させる方が安心できると思います。manjaro linuxでの設定ですが、Ubuntuでも同じだったと思います。
https://zenn.dev/calloc134/articles/d01e77e370ee5d
情報、ありがとうございます。
しかしdkmsパッケージを入れてみましたが、症状(ubuntuインストーラーが勝手にupdate-initramfs を書き換える)は変わりませんでした。
またCubic上でubuntuを更新しただけで、ほとんどカスタマイズしていない状態で作成したisoイメージでは問題が生じていないことは、こちらでも確認できております。
カーネルのメージャーアップデートを行うUbuntuから、枯れたLinux Kernelでバージョン固定されている別のディストリビューションに乗り換えるのも、対策の一つだと思います。
Debian 12 (デスクトップ環境付のライブメディアもあります)が Linux Kernel 6.1、Debian 12ベースのLinux Mint 6も6.1、Red Hat Enterprise Linux 9互換のAlmaLinux 9やRocky Linux 9は 5.14です。
Debianの場合、新しいカーネル(今は6.12)がbackportsにあります。
DebianのカスタムISOを作る方法、ライブISO(作成時のlogファイルもあります)は、以下URLなどで公開されています。
https://tech.quickguard.jp/posts/debian-live-cd/
http://ftp.jaist.ac.jp/pub/Linux/debian-cd/12.10.0-live/amd64/iso-hybrid/
最近のWindowsからのLinuxの利用は、WSL2に移行している人が多いです。起動時間や演算速度がVirtualBOXより優れています。
https://qiita.com/HD_mount_Music/items/1c9da89b22c0351b4a8b
Salome-meca(WSL2)は、ベータ版(EDF R&D / ERMESの名前入り)として、フォーラムの管理者が公開しています。
Ready to use(すぐに使える)と面では最も優れています。
https://forum.code-aster.org/public/d/28014-salome-meca-20241-on-wsl2-ready-to-use-distribution
Nix(環境構築のスクリプトを書けることを知った程度です)を用いて、WSL2のベース状態から使用できる状態にビルドするのをElmerのgitで公開されています。
https://github.com/ElmerCSC/elmer-wsl
色々ご提案いただきましたが、DEXCS-OFにはOpenFOAM以外に様々なGUIアプリケーションがインストールされており、そういったものをちゃんと動かせるかどうか?が先決問題です。
特にTreeFoamあたり、困難が多いと予想しており、これらの目処が出た時点でご提案を検討したいと思います。