FuguIta-7.4 (2)
Table of Contents
where header file
前回、試しにkshをコンパイルした時、#include "charclass.h" エラーになっ た。何処にある?
fug$ find . -name charclass.h ./lib/libc/gen/charclass.h ./usr.bin/rsync/charclass.h
ちゃんと有るじゃん。
cc -O2 -pipe -DEMACS -DVI -I. -I/tmp/ksh -I/tmp/ksh/../../lib/libc/gen -Wall -Wpointer-arith -Wuninitialized -Wstrict-prototypes -Wmissing-prototypes -Wunused -Wsign-compare -Wshadow -MD -MP -c misc.c misc.c:16:10: fatal error: 'charclass.h' file not found #include "charclass.h" ^~~~~~~~~~~~~
ヘッダーファイルは普通 <charclass.h>のはず。なのにローカルな場所指定に なってる。その場で自動生成してるのか。 もう一度エラーを見ると、ヘッダーの指定が、相対になってるじゃん。勝手に コピーや移動してはいけないと言う事。元居た場所で咲きなさい、なんだな。
fug$ cd /usr/src/bin/ksh/ fug$ doas make : cc -static -pie -o ksh alloc.o c_ksh.o c_sh.o c_test.o c_ulimit.o edit.o emacs.o eval.o exec.o expr.o history.o io.o jobs.o lex.o mail.o main.o misc.o path.o shf.o syn.o table.o trap.o tree.o tty.o var.o version.o vi.o -lcurses var.c(var.o:(getspec)): warning: rand() may return deterministic values, is that what you want?
お騒がせしました。
load averages
fug$ w 3:10PM up 1:04, 2 users, load averages: 0.49, 0.48, 0.42 ;; この間、アイドル状態 fug$ w 3:26PM up 1:20, 2 users, load averages: 0.52, 0.48, 0.42
ダエモン君は、大幅に殺してある。
fug$ ps awx PID TT STAT TIME COMMAND 1 ?? I 0:01.00 /sbin/init 58817 ?? I 0:00.86 /boottmp/mount_mfs -s 2097152 -o wxallowed swap /ram 95564 ?? IU 0:00.00 /sbin/dhcpleased 71814 ?? Ip 0:00.00 dhcpleased: engine (dhcpleased) 60406 ?? IpU 0:00.01 dhcpleased: frontend (dhcpleased) 45621 ?? IpU 0:00.00 /sbin/resolvd 82965 ?? Ipc 0:00.03 pflogd: [running] -s 160 -i pflog0 -f /var/log/pflog (pflogd) 1253 ?? I 0:00.00 sshd: /usr/sbin/sshd [listener] 0 of 10-100 startups (sshd) 76001 ?? I 0:00.06 sshd: sakae [priv] (sshd) 1678 ?? R/0 0:00.08 sshd: sakae@ttyp0 (sshd) 87654 ?? Rp/0 0:00.39 tmux: server (/ram/tmp/tmux-1000/default) (tmux) 34871 p0 Ip 0:00.01 -ksh (ksh) 4862 p0 I+p 0:00.01 tmux: client (/ram/tmp/tmux-1000/default) (tmux) 86655 p1 I+p 0:00.00 -ksh (ksh) 1157 p2 Sp 0:00.02 -ksh (ksh) 92316 p2 R+pU/0 0:00.00 ps -awx 42636 C0 I+p 0:00.18 -ksh (ksh) 9443 C1 I+pU 0:00.00 /usr/libexec/getty std.9600 ttyC1 17630 C2 I+pU 0:00.00 /usr/libexec/getty std.9600 ttyC2 3298 C3 I+pU 0:00.00 /usr/libexec/getty std.9600 ttyC3 77055 C5 I+pU 0:00.00 /usr/libexec/getty std.9600 ttyC5
この問題はFuguItaの作者さんの所でも発生してるそうだ。安心したよ(安心し ないで潜れ、それでこそOpenBSD使いだろう)。それにしても、rcctl stop pflogdしても停止しない暴走族君が居るよ。その性根を探れば面白いだろうね。
USB led点滅問題
上記の様にプロセスを殺しても、点滅してる。ならばカーネルを仮死状態にし てみよう。Ctrl-Alt-Delete は駄目だったので(後で分かった事だけど、これ れもddb.console=1の影響下にある)、下記を追加。
ddb.console=1 ;; on /etc/sysctl.conf (ddb main switch) alias inddb='sysctl -w ddb.trigger=1'
ddbに落ちても、点滅してた。何なのこれ、メーカーのお客様相談室に聞いて みるか。AIには、そんな疑問は登録されませんと一蹴されるかな。そしたら豹 変してクレーマーになってやる。ヲイヲイ!
よく観察すると、カーネルがロードされ、(多分)イニシャライズ中は、消灯し てるんだよな。そして/etc/rcが走り初めると、また点滅状態になる。わけワ カメであります。
これも作者さんが過去記事を掘り出してくれました。何とも情けない事です。 結論は気にするな、です。
日本語表示に問題あり
そりゃ、コンソール上ではそうでしょう。対応フォントも無いし、コンソール・ ドライバーも対応してないからね。
でも、sshでログインした場合はどうなの? 日本語文書をcatしてもw3mでWEB にアクセスしても化ける。
こんな設定をしてみたけど、効果なし。
fug$ export LANG=ja_JP.UTF-8 fug$ locale LANG=ja_JP.UTF-8 LC_COLLATE="ja_JP.UTF-8" LC_CTYPE="ja_JP.UTF-8" LC_MONETARY="ja_JP.UTF-8" LC_NUMERIC="ja_JP.UTF-8" LC_TIME="ja_JP.UTF-8" LC_MESSAGES="ja_JP.UTF-8" LC_ALL=
ssh接続と言えど、ptyなんで駄目なのかな?
Xな端末
コンソールをXな端末にしたら、Nihonngo OK desu. になるだろう。
案内をざっと見すると、かなり色々なパッケージを取り寄せしてるみたい。そ のダウンロード元は何処?
fug$ cat /etc/installurl https://cdn.openbsd.org/pub/OpenBSD
pkg_add
の参照するURLはこれだけ。適当に分散してくれるのかな。
Debianみたいにバージョンが代わるた
びに、設定するなんて面倒(/etc/apt/source.list)は無い。
fug$ doas dtjsetup Which desktop software will you install? 1: no desktop (wm only) 2: [rox-filer] 3: xfce 4: mate 5: lumina 6: lxqt -> Which window manager will you install? 1: cwm 2: fvwm 3: twm 4: [icewm] 5: fluxbox 6: jwm ->2 Will you setup Japanese language environment? [y/N] -> y Which input method will you install? 1: [fcitx-anthy] 2: ibus-anthy 3: ibus-skk 4: scim-anthy 5: uim-gtk ->3 *** You selected fvwm as desktop software. *** Installing Japanese environment is YES. *** Japanese input method is ibus-skk. *** Installing packages: rox-filer ja-nkf ja-kterm-- ja-fonts-funet ja-fonts-gnu ja-sazanami-ttf hanazono mixfont-mplus-ipa mplus-fonts vlgothic ibus-skk ibus Will you continue? [y/N] -> y quirks-6.160 signed on 2024-01-23T10:49:46Z rox-filer-2.11p4:pcre2-10.37p1: ok rox-filer-2.11p4:glib2-2.76.5: ok : ibus-skk-1.4.3p4:iso-codes-4.15.0: ok Error: mfs:11682 on /ram is not large enough (/usr/local/share/ibus/dicts/emoji-gu.dict) Error: mfs:11682 on /ram is not large enough (/usr/local/share/ibus/dicts/emoji-ha.dict) : Couldn't install ibus-1.5.29rc1 ibus-skk-1.4.3p4 *** Installing package(s) failed.
メモリー不足問題発生。
fug$ df -k Filesystem 1K-blocks Used Avail Capacity Mounted on mfs:11682 1014455 977771 -14038 102% /ram
これはもう、tmpfsに切り変えるしかないのかな? それにしても、底無し沼の 予感。
fug$ man fs /ram: write failed, file system is full man: /fuguita/usr/share/man/man5/fs.5: SYSERR: write: /tmp/man.rg8tcIg4Jj: No space left on device man: see above the output for SYSERR messages
雀の涙程にメモリーを開放。
fug$ doas rm -rf /usr/local/share/doc fug$ ps awx 11682 ?? S 0:01.89 /boottmp/mount_mfs -s 2097152 -o wxallowed swap /ram fug$ man mount_mfs -s size The size of the file system in sectors (see -S). Alternatively size may instead use a multiplier, as documented in scan_scaled(3), to specify size in bytes; in this case size is rounded up to the next sector boundary. The maximum size of an FFS file system is 2,147,483,647 (2^31 - 1) of 512-byte blocks, slightly less than 1 TB. FFS2 file systems can be as large as 64 PB. Note however that for mount_mfs the practical limit is based on datasize in login.conf(5), and ultimately depends on the per- arch MAXDSIZ limit.
これが効いてて、制限をかけているの?
fug# ulimit -a data(kbytes) 1048576
駄目元で、起動モード0を使って、ramを2048Mに設定してみたけど、しっかり 1024Mに訂正されてしまったよ。安全弁がちゃんと組み込まれていた。
fug$ cat /etc/fuguita/global.conf fuguita_sys_mb=830 # size of sysmedia.img newdrive_defswap=16M # default swap size at usbfadm newdrive memfstype=mfs # 'mfs' or 'tmpfs' mfs_max_mb=1024 # mfs hard limit disable_uefiboot=Yes # not prompt at usbfadm/newdrive
これがリミット値なんだな。そして
/boottmp/rc
umem=$(min "$mfs_max_mb" $(parsesize "$umem" $maxmem $swpmem)) : if [[ "$memfstype" = 'tmpfs' ]]; then /fuguita/sbin/mount_tmpfs -s ${umem}M -o wxallowed tmpfs /ram || exit else # mount_mfs exists on in-kernel FS # to be able to umount /fuguita at boot mode 2 /boottmp/mount_mfs -s $((2*1024*umem)) -o wxallowed swap /ram || exit fi
メモリーを大量に積んでいたら、もっとリミットを緩くしても大丈夫そうな予 感。まて、そんな根幹を勝手にいじるな。止めとけ。今後の付き合いも有るか らね。丁度カスタム・カーネルは、syspatchの対象外ですと一緒の構図だ。
それにしても、この rc は、力作ですねーー。
fug$ df -h Filesystem Size Used Avail Capacity Mounted on mfs:71258 991M 472M 469M 51% /ram
下記のddskkまで導入した状態で、空エリアはこんなに有るって、ポジティブ に捉えておこうよ。将来的には、/usr/src/ を他に移動させるんで、そうした ら、もう100M程、余裕が出来るからね。これで手打だ。
more simple
上の導入で、懐かしいktermもやって来るけど、日本語がちゃんと表示できる のかな? 指示されてたフォント一式も入れてみたけど、やっぱり文字化け。 何か設定が必要なのかな? オイラーはフォントと印刷関係が鬼門だったりし ます。
そこで方針転換。こんな .xinitrc を作成。ちゃんとemacsの指使いになるよ うに設定。
setxkbmap -option ctrl:nocaps & export LANG=ja_JP.UTF-8 xterm -r & fvwm
これで、ちゃんと日本語を表示できた。ちとフォントサイズが小さい。 xtermのメニューからサイズを大きい物に変更すると、豆腐文字になる。 さて、どうやって大きいフォントにしたらいいの?
fug$ cat .Xdefaults ! $OpenBSD: dot.Xdefaults,v 1.3 2014/07/10 10:22:59 jasper Exp $ XTerm*loginShell:true
多分、この辺だろうけど。。真剣にXなんて使用しないからなあ。 まて、フォント問題はこれじゃ解決できず、別な端末ソフトを導入した覚えが あるぞ。記憶が飛んでいるなあ。歳くった証拠ぢゃわい。
日本語入力は、ddskk on emacsで十分だな。w3mでググる時は、コピペでいい かな。
画面の明るさは、下記で設定できるとの事。こういう助言は非常に助かります。 OpenBSDなユーザーなんて、ほとんどいませんから。
# wsconsctl display.brightness=70 ;; (0 <= XX <= 100)
参考までに、Debianでの調光装置
#! /bin/sh # @brief Change LCD brightness PREFIX="/sys/class/backlight/intel_backlight" MAX_V=$(cat ${PREFIX}/max_brightness) CUR_V=$(cat ${PREFIX}/brightness) CUR_R=$(echo "scale=1; ${CUR_V} * 100 / ${MAX_V}" | bc) VALUE=$(echo ${1:?} | awk '{print $1*1}') [ ${VALUE} -gt 100 ] && VALUE=100 [ ${VALUE} -lt 20 ] && VALUE=20 VALUE=$(echo "${MAX_V} * ${VALUE} / 100" | bc) # must be (20 < x < 100) echo ${VALUE} | sudo tee ${PREFIX}/brightness >/dev/null
ddskk
package-install ddskk
M-x skk-get ;; install dict
;; for SKK ------------------------------- (global-set-key (kbd "C-x C-j") 'skk-mode) (global-set-key (kbd "C-x j") 'skk-auto-fill-mode) (setq default-input-method "japanese-skk") (setq skk-sticky-key ";") (add-hook 'isearch-mode-hook 'skk-isearch-mode-setup) (add-hook 'isearch-mode-end-hook 'skk-isearch-mode-cleanup) (setq skk-egg-like-newline t)
河豚の美味しい所
無茶しても再起動すれば、それが無かった事になる。自覚があれば、usbfadm -r しなけりゃいいだけですから。逆に言うと、永久保存したい時だけ実行す れば良い。
他に嬉しいのは、emacsの起動がメチャ速いこと。起動が遅くて有名なんで、 emacsをダエモン化しておいて、クライアントモードで接続するのを勧めてい る。が、FuguItaでは、それが必要ない。 全部がメモリー上にあるからだ。
下記は、loginした直後に、Xを起動して、xtermの中からemacsした状態。
fug$ iostat -w 5 sd1 tty sd1 cpu tin tout KB/t t/s MB/s us ni sy sp in id 0 44 0.00 0 0.00 0 0 0 0 0100 0 27 0.00 0 0.00 0 0 0 0 0100 1 169 19.76 174 3.35 4 0 5 0 0 90 0 27 23.03 64 1.43 5 0 6 1 1 87 4 201 16.00 1 0.02 7 0 3 0 0 90
こちらは2回目の実行
fug$ iostat -w 5 sd1 tty sd1 cpu tin tout KB/t t/s MB/s us ni sy sp in id 0 74 0.00 0 0.00 0 0 0 0 0100 0 192 0.00 0 0.00 5 0 5 0 0 89 0 27 0.00 0 0.00 5 0 3 0 1 91 4 199 0.00 0 0.00 7 0 2 0 0 91 0 26 0.00 0 0.00 0 0 0 0 0100
3回目で、vmstatしてみた。
fug$ vmstat -w 5 sd1 procs memory page disks traps cpu r s avm fre flt re pi po fr sr sd0 sd1 int sys cs us sy id 3 75 531M 1930M 136 0 0 0 0 0 0 43 105 421 119 0 1 99 2 80 554M 1923M 1549 0 0 0 0 0 0 0 72 1780 145 1 4 95 0 89 581M 1891M 2433 0 0 0 0 0 0 0 216 3948 713 8 7 85 0 90 599M 1881M 644 0 0 0 0 0 0 0 41 1550 100 8 2 90 0 90 599M 1881M 3 0 0 0 0 0 0 0 38 10 60 0 0 100
sys source
画面の明るさ調整ってどういう機構なのだろう。想像するに、LCDのバックパ ネルを光らせる発光ダイオードに流す電流を変えているんだろうね。リナにも 同様な機能があって、ソースを見たけど、森の中で迷子になった。
今なら綺麗なソースと対面できるよ。って、まだsysなソースは入れてなかっ た。ソース・ツリーにはgnuもあるけど、コンパイラー関係なんで手を出すの は無謀だ。
fug$ ftp https://ftp.jaist.ac.jp/pub/OpenBSD/7.4/sys.tar.gz Trying 150.65.7.130... Requesting https://ftp.jaist.ac.jp/pub/OpenBSD/7.4/sys.tar.gz 100% |**************************************************| 56674 KB 00:31 58035169 bytes received in 31.21 seconds (1.77 MB/s)
今朝の北陸地方は大雪の為、荷物の配送が遅延してます、ってか。展開したら /ram不足になったぞ。
fug$ doas mkdir /mine fug$ doas mount_mfs -s 1536000 -o wxallowed swap /mine fug$ cd /mine fug$ doas tar zxf /tmp/sys.tar.gz fug$ du -sh sys/ 526M sys/
tagsも作りたいので、これじゃ絶望的だな。 それに、portsのソースもほしいなんて贅沢は、もう無謀ってもんです。
see tag jump 2018年は色々やってたんだな。すっかり忘却でイカンゼヨ。
hddとの併用計画
そこで出てくるのは、Debian/FreeBSDが鎮座してるHDDだ。両OSとも、 Windows10なマシンの中にあるVMWareやWSL2上で動いているからね。
この際、HDDを丸ごとOpenBSDにしちゃって、容量の喰うものはそちらに入れる。 そして、それをFuguItaからマウントしてアクセスする。
fug$ doas mount /dev/sd0j /mnt fug$ ls /mnt COPYRIGHT dev/ lib/ mnt/ rescue/ tmp/ FBDEB/ entropy libexec/ net/ root/ usr/ bin/ etc/ media/ opt/ sbin/ var/ boot/ home@ meet@ proc/ sys@
適当にマウントしてみたら、FreeBSDの / が見えたぞ。
fug$ doas dd if=/dev/sd0c of=/dev/null bs=1M count=1000 1000+0 records in 1000+0 records out 1048576000 bytes transferred in 29.345 secs (35731578 bytes/sec)
余りアクセスしないと、HDDのヘッダーが固着しちゃうかも。たまには喝を入 れてあげないとな。iostatで転送スピードをチェックしてみたぞ。
fug$ iostat -w 5 sd0 tty sd0 cpu tin tout KB/t t/s MB/s us ni sy sp in id 0 67 0.00 0 0.00 0 0 0 0 0100 1 338 3.98 1573 6.12 0 0 2 0 1 97 0 10 4.00 8684 33.92 0 0 14 1 5 80 0 10 4.00 8672 33.87 0 0 14 1 7 78 0 10 4.00 8779 34.29 0 0 14 2 5 79 0 10 4.00 8692 33.95 0 0 16 2 6 77
OpenBSD化実施計画書
ThinkPad本体に生のOpenBSDをインストールする。そしてそれが単独でも動作 する様に設定する。普段はFuguItaのUSBを差しておいて、高速な動作を授受す る。
もう有線に一度も接続する事なく、生OpenBSDでWiFi readyにしたい(女房に白い眼でみら れない為の配慮)。
1. 取り敢えず、NIC無しとしてインストール 2. FuguItaで起動してネット関係を転送(hostname.{iwn0,re0},mygete,resolv.conf) 3. /etc/firmwareを転送(i915,intel,intel-ucode*,iwn-*) 4. intel-firmware-20231114v0,inteldrm-firmware-20230919,iwn-firmware-5.11p1導入 5. 多分ダエモン君の起動の追加が必要だろう 6. syspatch 7. cp /home/*
pkg関係の導入は面倒なので、強引に、/usr/local/と/var/db/pkg/ をコピー しやうのが楽か。こいうの頭上演習だから、実施してみるまで穴には気がつか ないわな。
batt
14年もののパソコンだと、どこかしらガタが来るものだ。設計寿命を遂に過ぎ ているだろうから。目につくのは、バッテリーのチャージ状態を示すインジケー タ。去年までは、緑色の月マークだったけど、今年になってオレンジ色のバッ テリーマークが点滅するようになった。取り敢えず健康診断。
fug$ systat sensor 1 users Load 1.39 1.06 0.69 fug 08:47:57 SENSOR VALUE STATUS DESCRIPTION acpithinkpad0.temp0 0.00 degC acpithinkpad0.temp1 55.00 degC acpithinkpad0.temp2 55.00 degC acpithinkpad0.temp3 0.00 degC acpithinkpad0.temp4 0.00 degC acpithinkpad0.temp5 0.00 degC acpithinkpad0.temp6 17.00 degC acpithinkpad0.temp7 0.00 degC acpithinkpad0.fan0 652 RPM acpithinkpad0.indicator Off unknown port replicator acpiac0.indicator0 On power supply acpibat0.volt0 14.40 V DC voltage acpibat0.volt1 0.00 V DC current voltage acpibat0.power0 0.00 W rate acpibat0.watthour0 0.00 Wh last full capacity acpibat0.watthour1 1.58 Wh warning capacity acpibat0.watthour2 0.32 Wh low capacity acpibat0.watthour3 0.00 Wh CRITICAL remaining capacity acpibat0.watthour4 31.68 Wh design capacity acpibat0.raw0 0 raw OK battery full acpibtn0.indicator0 On lid open acpitz0.temp0 55.00 degC zone temperature cpu0.temp0 43.00 degC
FuguIta for ThinkPad E560 でもFuguItaでセンサーチェックしてるけど、 64bit機だからなあ。まずは体型からして違うよ。参考にならないな。ああ、 参考にならないと言えば、血圧って年齢により違いが有るはずなんだけど、一 律に130以上は要注意って、医者の陰謀ではなかろうか? まあ、反論が有る事 は承知ですが。