ThinkPad L450のOS+Openboxをアップグレード(その後破壊)

今日はもう10月なのですが、2024年9月22日の話をします。
順番が前後しましたが、今日は2024年10月1日。曇天。個人の翻訳事務所ヒノトリホンヤクの本店がある東京都日野市の最高気温は25℃の予想です。やっと過ごしやすくなってきましたが、油断大敵です。


今日のお題:Lenovo ThinkPad L450のOSをアップグレードしたら、SDDMのログイン画面から先に進めなくなってツミました。

もう私、FreeBSD系のマシンを5台(ラップトップ4台、miniPCが1台)お世話しているので、マイナーアップグレードであってもX Window Systemが起動しないなんてトラブルには段々慣れてきました。(昔は絶望していました)

NomadBSD (FreeBSD 13.1-RELEASE)+Openboxをセットアップしていたのに、FreeBSD 13.4-RELEASEが出たからfreebsd-updateでアップグレードしたらログインできなくなっていたわけです。
Ctl+Alt+F2でコンソールに降下はできるが、コンソールがチカチカしていてユーザー名もタイプできない状態でした。

 

申し遅れましたが、今回トラブルを起こして楽しませてくれたのはLenovo ThinkPad L450というラップトップです。CPUはCeleron。発売は2015年頃。たぶん製造からは10年経ってますね。
こんな外観です。

 

さて、コンソールでログインもできないのでは、手も足も出ないでしょう。

あきらめて最新のNomadBSDをUSBメモリに書き込んで、ThinkPadのSSDにインストールしました。

 

今回使ったNomadBSDは、こちら。

NomadBSD 141R-20240711 (64-bit/x86-64/amd64, UFS)

今年2024年から、デフォルトのX環境がOpenboxからXfceに替わってます。
Openboxファンとしては、ショックです。

でもまずはなにか起動してログインできるOS入れないと。もう死語な古代の川柳ですが、「コンピューターソフトなければただの箱」です。 OSは「ソフト」の土台その二です。XfceだろうがKDEだろうが、FreeBSDはFreeBSDです。
あとで根性と時間があったらOpenboxに手動で変更しましょう。

で、とりあえずNomadBSD 141R-20240711をThinkPad L450にインストールしました。
あまり落ち込まずにSSDをフォーマットできるのは、ホームディレクトリ以下のビデオや画像や音楽ファイルをNASにバックアップしてあるからです。

3か月もすると今回何をやったのかわからなくなるのでここにメモしておきます。

まずは /etc/rc.conf

###### /etc/rc.conf (2024-09-21 ThinkPad L450 NomadBSD 141R Xfce)
#
rcmsg_color="yellow"
allscreens_flags="green"
devd_flags="-l 50"
bsdstats_enable="NO"
clear_tmp_X="NO"
cupsd_enable="YES"
dbus_enable="YES"
devfs_system_ruleset="desktopuser"
dsbdriverd_enable="YES"
dsbmd_enable="YES"
entropy_file="NO"
hostname="TP-L450-BSD"
kld_list="cuse4bsd /boot/modules/i915kms.ko"
ldconfig_insecure="YES"
lpd_enable="NO"
ntpd_enable="YES"
ntpd_sync_on_start="YES"
powerdxx_enable="YES"
savecore_enable="NO"
sendmail_enable="NO"
sendmail_msp_queue_enable="NO"
sendmail_outbound_enable="NO"
sendmail_submit_enable="NO"
setup_mouse_enable="YES"
syslogd_enable="YES"
update_motd="NO"
webcamd_enable="YES"
economy_cx_lowest="C2"
performance_cx_lowest="C2"
initgfx_enable="NO"
sddm_enable="YES"
init_vbox_enable="NO"
avahi_daemon_enable="YES"
ipv6_activate_all_interfaces="YES"
ackfwl_enable="YES"
load_iichid_enable="YES"

keymap="jp.106"
initgfx_kmods="/boot/modules/i915kms.ko"
sddm_lang="ja_JP"
ifconfig_em0="up DHCP"
ifconfig_em0_ipv6="inet6 accept_rtadv"
wlans_iwm0="wlan0"
create_args_wlan0="down country JP"
ifconfig_wlan0="up scan WPA DHCP"
ifconfig_wlan0_ipv6="inet6 accept_rtadv"
linux_enable="YES"
sshd_enable="YES"
samba_server_enable="YES"

 

次は /etc/sysctl.conf

###### /etc/sysctl.conf (2024-09-21 ThinkPad L450 NomadBSD 141R Xfce)
###### line 14 ****vfs.usermount=1**** is important
###### 
# $FreeBSD: src/etc/sysctl.conf,v 1.8.34.1 2009/08/03 08:13:06 kensmith Exp $
#
#  This file is read when going to multi-user and its contents piped thru
#  ``sysctl'' to adjust kernel values.  ``man 5 sysctl.conf'' for details.
#

# Uncomment this to prevent users from seeing information about processes that
# are being run under another UID.
#security.bsd.see_other_uids=0

# Allow users to mount devices
vfs.usermount=1

kern.maxvnodes=60000

kern.ipc.somaxconn=512

# Disable creating *.core files
kern.coredump=0

# Disable bell
kern.vt.enable_bell=0

# Improve responsiveness on high work load.
kern.sched.preempt_thresh=224

# Runtime of each thread before rescheduling in units of 10ms.
kern.sched.slice=3

# A table of 100000 file descriptors should be enough for desktop system.
kern.maxfiles=100000

kern.evdev.rcpt_mask=12

# Good sound sampling quality
hw.snd.feeder_rate_quality=3

# Max. number of virtual channels
hw.snd.maxautovchans=32

vfs.vmiodirenable=0
vfs.read_max=16
vfs.write_behind=0

# Improve write speed a little bit
vfs.lorunningspace=1048576
vfs.hirunningspace=5242880
#

 

続いて /boot/loader.conf
最後のfuse_load=”YES”は重要ですよ。

###### ~/xinitrc (2024-09-21 ThinkPad L450 NomadBSD 141R Xfce)
###### the last line fuse_load="YES" 
###### added by the user (hinotori-honyaku)

# graphics_enable="YES"
# beastie_theme="/boot/themes/default/theme.conf"
vfs.mountroot.timeout=300

loader_logo="nomadbsd"
loader_brand="nomadbsd"
loader_menu_frame="none"
loader_menu_title="Welcome to NomadBSD"
loader_menu_title_align="left"

ums_load="YES"
aio_load="YES"
snd_uaudio_load="YES"

hint.pcm.0.eq="1"
hint.pcm.1.eq="1"
hint.pcm.2.eq="1"
hint.pcm.3.eq="1"
hint.pcm.4.eq="1"
hint.pcm.5.eq="1"
hint.pcm.6.eq="1"
hint.pcm.7.eq="1"
hint.pcm.8.eq="1"
hint.pcm.9.eq="1"

hw.snd.vpc_autoreset=0
hw.syscons.bell=0
hw.usb.no_pf=1
hw.usb.no_boot_wait=0
hw.usb.no_shutdown_wait=1
hw.psm.synaptics_support=1
hw.psm.trackpoint_support=1

kern.cam.scsi_delay=10000

# Use new virtual terminal driver
hw.vga.textmode=1
kern.vty=vt

# Make sure to wait for the root device to appear before trying root mount
vfs.root_mount_always_wait=1

# Disable GEOM withering
kern.geom.label.disk_ident.enable="0"

if_re_load="YES"
fuse_load="YES"

 

続いて、/usr/local/etc/X11/xorg.conf.d/00-video-initgfx.conf

###### /usr/local/etc/X11/xorg.conf.d/00-video-initgfx.conf
###### (2024-09-21 ThinkPad L450 NomadBSD 141R Xfce) ユーザーではなくインストーラが設定した。
Section "Device"
    Identifier    "Intel Graphics"
    Driver        "modesetting"
    BusID         "PCI:0:2:0"
EndSection

 

続いて、/usr/local/etc/X11/xorg.conf.d/10-input-keyboard.conf

###### /usr/local/etc/X11/xorg.conf.d/10-input-keyboard.conf
######  (2024-09-21 ThinkPad L450 NomadBSD 141R Xfce)
Section "InputClass"
    Identifier      "Keyboard0"
    MatchIsKeyboard "on"
    MatchDevicePath "/dev/input/event*"
    Driver          "libinput"
    Option          "XkbRules"   "evdev"
    Option          "XkbLayout"  "us,jp"
    Option          "XkbVariant" "alt-intl,OADG109A"
    Option          "XkbOptions" "terminate:ctrl_alt_bksp"
EndSection

 

続いて、/usr/local/etc/X11/xorg.conf.d/10-input-touchpad.conf

###### /usr/local/etc/X11/xorg.conf.d/10-input-touchpad.conf
###### (2024-09-21 ThinkPad L450 NomadBSD 141R Xfce)
###### "NaturalScrolling" "on" added by the user (hinotori-honyaku)
###### "ScrollMethod" "twofinger" added the user (hinotori-honyaku)
###### "DisableWhileTyping" "on" added by the user (hinotori-honyaku)
###### "Tapping" "on" added by the user (hinotori-honyaku)
#
Section "InputClass"
    Identifier      "Touchpad"
    MatchIsTouchpad "on"
    MatchDevicePath "/dev/input/event*"
    Driver          "libinput"
    Option          "MiddleEmulation"    "on"
    Option          "NaturalScrolling" "on"
    Option          "ScrollMethod" "twofinger"
    Option          "DisableWhileTyping" "on"
    Option          "Tapping" "on"
EndSection

 

それから、~/.xinitrc
このファイルはインストーラが作ってくれなかったので存在していませんでした。
私が作成しました。

###### ~/.xinitrc (2024-09-21 ThinkPad L450 NomadBSD 141R Xfce)
#### manually created by the user, hinotori-honyaku 2024-09-19 ###
#!/bin/sh
#
export EDITOR=vim
export LANG=ja_JP.UTF-8 
export LC_ALL=ja_JP.UTF-8
export LC_CTYPE=ja_JP.UTF-8

. ~/.xprofile

export XMODIFIERS=@im=ibus
export GTK_IM_MODULE=ibus
export QT_IM_MODULE=ibus
/usr/local/bin/mozc start
ibus-daemon -r --daemonize --xim

tpquirk
enable_tapping


 

 

それでは出来上がったNomadBSD (FreeBSD 14.1-RELEASE) + Xfceの環境のスクリーンショット見せびらかしタイムです。

今回はビデオ的にはこの下に埋め込むYouTubeビデオを参考にしました。ロボナギーさんもXfceを入れたあとでディスプレイマネージャー(Slimをビデオ内では使っているようです)を停止させて、それからOpenboxをインストール、初期設定をしているみたいですね。
「ディスプレイマネージャーSlimじゃなくてstartxコマンドを使おう」と言っています。
やっぱりそっちの方角が正しいのかー……。涼しくなったらチャレンジします。
Xfceも悪くないのですが、やっぱりOpenboxの軽快さを一度知ってしまうとOpenboxがいいです。
なにしろ10年前のPCですからね。Celeronだし。

IBMの時代は、かっこよかったなぁ。