top page > PC unix (2) > here

FreeBSD/amd64 13.3 on Endeavor ST180E


概要

Endeavor ST180E (EPSON) に FreeBSD/amd64 13.2 を install しました. その記録を提示します.

(2024.3.13) 13.3 に更新しました. 表題を 13.2 から 13.3 に変えました.


目次

1. まえがき
2. powerd
3. X Window System
4. emacs
5. Wnn 8
6. terminal
7. 日本語マニュアル
8. 13.3 におけるトラブル

1. まえがき

新しい HDD に FreeBSD 13.2 を install しました.

これまで,freebsd-update を利用して FreeBSD 11.2 から 12.4 まで更新してきました.
この間,ports で gccmake すると /tmp が 8GB 程度必要になってしまいました. 一時的に tempfs を利用して RAM から 8GB を割り当ててしのいでいたのですが,面倒ですし,HDD も長いこと使っているので,久々に HDD を新調して clean install しました.

(2024.3.13) freebsd-update を用いて FreeBSD 13.2 から 13.3 へと更新しました.
  更新にあたり少々問題が生じました. 8. 13.3 におけるトラブル をご覧下さい.

2. powerd

default だと dmesg の出力は以下のようになります.(関連部分を抜粋)

hwpstate_intel0: <Intel Speed Shift> on cpu0   ← 0 から 7 まで繰り返される.

ところが,うちの環境 (Skylake) ですと (関連部分を抜粋)

# sysctl dev.cpu
dev.cpu.0.freq_levels: 2801/-
dev.cpu.0.freq: 2800

のよう単一の clock しか表示されません. また,-M で clock の上限を設定しても無視されます.

/boot/loader.conf に以下のように指定すれば

hint.hwpstate_intel.0.disabled="1"

dmesg の出力は以下のようになります.(FreeBSD 12.4 では default でこうなっています.)

est0: <Enhanced SpeedStep Frequency Control> on cpu0

clock も多数表示されますし,-M も効くようになります,

# sysctl dev.cpu
dev.cpu.0.freq_levels: 2801/35000 2800/35000 2700/33218 2500/30093 2400/28408 2200/25469 2000/22640 1900/21110
                       1800/19923 1700/18457 1500/15909 1400/14824 1200/12146 1100/11140 900/8911 800/7698
dev.cpu.0.freq: 800

3. X Window System

X Server は 1.21.8 が導入されます.

xf86-video-vesa, xf86-video-intel, modesetting 共に動作します.

xf86-video-intel, modesetting のために ports から graphics/drm-kmodmake install したのですが,/boot/modules/ に明らかに関係ない .ko が大量に install されます, make config とかを活用して絞り込むようにして欲しいところです.

NP25S の方は ports でなく pkg install しているのですが,この点は同様です. (むしろ ports よりも選択の柔軟性がないので,そうなるでしょうけど.)

4. emacs

emacs が 28.2 から 29.1 になりました.

ports で make config において,(関連する箇所を抜粋)

[x] XFT     Xft font library support
[ ] CAIRO   Cairo graphic library support [implies PNG, prevents XFT]

ここで Xftcairo を排他的に選択することになるのですが,cairo を選択することができません.

フォントの選び方によっては mode line すなわち下から「2 行目」の

[--] E:**-  file_name    82%  (233.31)  (XHTML+)

file_name の部分が文字化けします.

default font や OptionsSet Default Font... から選択できるフォントならば問題ないようです.

5. Wnn8

配布されているのは FreeBSD 12 用の packages 形式のものですが,pkg -f add で install することができます.

Wnn7Egg や tamago から使うことができています.[1][2]

compat12x は必要ありませんでした.

[1] wnn8le からは使えません.

[2] Wnn7Egg は,修正なしには emacs 29 で使うことはできません.

6. terminal

FreeBSD 13.2 とは直接関係ありませんが,ports/packages から kterm がなくなりました.

この先,動作に問題が生じない限りは自分で make すれば良いだけなのことなのですが,この機会に他の terminal を試用することにしました.

xterm, rxvt, mlterm を試しました. 私の主たる環境はいまだに ja_JP.eucJP なので [1],この環境において kterm とほぼ同じ挙動になるように設定することができる mlterm を選びました. ここで「同じ挙動」と言うのは主に曖昧文字幅に関わる動作のことです.[2][3]
(どれを選んでも,適切に設定すれば同じになるのかもしれませんが.)

[1] ja_JP.UTF-8 の環境は,移行するか否かを判断するために試用しています. そこでは rxvt-unicode も候補になります.

[2] 実際に使い込んでみると,それ以外にも細かい差異がたくさんあることが判明します.

[3] 私は曖昧文字幅に該当する文字を積極的に使っているわけではありません. 自分用の文書には TeX 表記を使っています.
  net でこれらの混じった文書を copy & paste すると入り込んで来るのです.
(  sed で TeX 表記に変換していますが,地味に面倒です.)

7. その他

FreeBSD 13.2 用の日本語マニュアルは catpages 形式も含めて以下のところで配布されております.

ftp://ftp.koganemaru.co.jp/pub/jman13/ja-man-doc-13.2.20230407.amd64.txz
ftp://ftp.koganemaru.co.jp/pub/jman13/ja-cat-doc-13.2.20230407.amd64.txz

FreeBSD/amd64 13.3 用のマニュアルは catpages 形式も含めて以下のところで配布されております.

ftp://ftp.koganemaru.co.jp/pub/jman13/ja-man-doc-13.3.20240302.amd64.txz
ftp://ftp.koganemaru.co.jp/pub/jman13/ja-cat-doc-13.3.20240302.amd64.txz

8. 13.3 におけるトラブル

freebsd-update を利用して FreeBSD 13.2 から 13.3 へと更新しました. その際に生じた問題を提示します.

8.1 mergemaster

/etc/group/etc/master.passwd は editor (vi) をを利用して手動で修正する必要がありました. (私としては,このような状態になるのは初めてです.)

どこを消してどこを残すのか等を把握しておかないと,この段階でつまずきます.

8.2 clang as built in

/usr/include/c++/v1/__string
/usr/include/c++/v1/__tuple
/usr/src/contrib/llvm-project/libcxx/include/__string
/usr/src/contrib/llvm-project/libcxx/include/__tuple

が "exist but not directory" だと警告され,「そこにファイルを展開するつもりだったのにできなかったよ」と言われます. この四つのファイルは消されます.

これらがないと (devel/llvm18make などで) 困るので,以下のところから cp しました.

/usr/ports/devel/llvm17/work-default/llvm-project-17.0.6.src/libcxx/include/

8.3 pipe

これは ST180E 特有の症状です.(なぜ NP25S で同じことにならないのか不明.) pipe の動作がおかしいです.

以下のような場合には問題なく動作します.

% ls -l | more

ところが,以下のように ( ) でくくったコマンドを pipe の前に置くと,明らかに動作がもたつくようになりました. 悩ましいことに,そのもたつき具合いに再現性がありません.

% (pwd; ls -l) | more

標準の csh (実は tcsh) だけでなく bash でも同じことになります. また,more だけでなく less でも同じことになります.

FreeBSD/amd64 14.0 で試しましたが,こちらではこの問題は生じておりません. 時期としては 13.3 の方が遅いので,14.1 でどうなるのか気になるところです.

8.4 WARNING on X

これも ST180E 特有の症状です.

X を終了すると,console に以下のように表示されています.

WARNING: Kernel has no file descriptor comparison support : No such file or directory

X は modesetting driver で使っておりますが,動作に問題は生じておりません. (現時点で気付いていないだけかもしれませんが.)

8.5 emacs, xemacs on FreeBSD/i386, /pc98

これは ST180E, N25S 両方の症状です.

OS が FreeBSD/i386 8.4, FreeBSD/pc98 8.4 である PC に ssh で繋げて emacsxemacs を起動すると,Ctrl-k (1 行消去) の反応が異常に遅くなりました. Meta-kESC + k も同様です.

xtermmlterm から ssh で繋げて

% xemacs -nw

として独自の Window を開かない場合には,この問題は生じませんでした.

相手が同じ FreeBSD/amd64 13.3 の場合,emacs ではこの問題は生じません. (xemacs は試す環境にありません.)

client が FreeBSD/amd64 13.2 以前の頃には,はこの問題は生じませんでした. FreeBSD/amd64 12.4 の環境を残してあるので再確認しましたが,大丈夫でした.

client として FreeBSD/amd64 14.0 を試してみました. 13.3 と同じ問題が生じます.

時期的に FreeBSD 12.4 から 14.0 の間,すなわち 2023 年の 4 月から 11 月の間ですね. この間に何があったのやら?

ssh の問題なのかなあ? だったら telnet ではどうなのだろう?」と考えてやろうとしてみたのですが,諸々の設定をきれいさっぱり忘れていました. telnet に関するメモはきちんと残っていないし,検索してもありきたりの情報しか得られないので頓挫しました.