Ubuntu 20.04 でリンク速度固定をする

Ubuntu 20.04.3 Serverでリンク速度の固定をしようと思ったのだが、公式に類するドキュメントが発見できなかった。

手動でやる場合は ethtoolコマンド、というのは分かるのだが、起動時に自動設定する方法が分からない。

Desktop版の設定

Ubuntu 20.04 DesktopではNetworkManagerがネットワークの設定を担当しており、 /etc/NetworkManager ディレクトリ内に関連する設定ファイルがあった。

具体的には /etc/NetworkManager/system-connections/接続名.nmconnection というファイルが作成されていた。

そのファイル内の[ethernet]セクションに下記の記載をすることで設定された。

[ethernet]
mac-address-blacklist=
speed=100
duplex=full

Server版の場合

Ubuntu 20.04 Server版では systemd-networkd と netplanがネットワーク設定を担当している。

IPアドレス設定については netplan側で行い、 /etc/netplan/99_config.yaml などで設定する。

リンク速度固定についてはsystemd側で設定を行うようだった。

今回直接のヒントになった情報はこちら:Set network interface speed with systemd-networkd

上記サイトでは /etc/systemd/networkd/internet.link というファイルを作って設定している。(Ubuntu 20.04 だと /etc/systemd/networkd/ というディレクトリは無く /etc/systemd/network/ )

実際には拡張子「.link」が重要となっていて、NICの初期認識の時に読み込むファイル群ということになっている。

私の場合は /etc/systemd/network/99-default.link というファイル名で作成した。

複数のNICがあり、それぞれで異なる設定を行いたい場合は /etc/systemd/network/99-nic1.link と /etc/systemd/network/99-nic2.link とMatch条件ごとにファイルを分けて設定する形になる。

ドキュメント: systemd.link

[Match]セクションで条件に該当するデバイスを定義し、[Link]セクションで値を設定する、という作りになっている。

たとえばドライバ e1000e のNIC全てに同じ設定を入れる場合は下記の様になる。

[Match]
Driver=e1000e

[Link]
AutoNegotiation=no
BitsPerSecond=100M
Duplex=full

特定のMACアドレスに対してのみ適用したい場合は下記の様になる。

[Match]
PermanentMACAddress=00:0c:29:9c:7e:14

[Link]
AutoNegotiation=no
BitsPerSecond=1G
Duplex=half

なお、「MACAddress=~」で設定もできるが、Linuxでは物理的なMACアドレスに対して上書きで別途MACAddress値を設定してしまうことができる。

特にbonding設定時は必ずMACAddress値が変わってしまうため、物理的なデバイスについているPermanentMACAddressの値を使う必要がある。

bondingデバイス設定時などは「ip a s」で確認できるMACアドレスではなく、dmesgなどに登場する起動直後に認識しているMACアドレスを使う必要がある。

root@ubuntu:~# dmesg|grep eth
[    1.718483] e1000e 0000:03:00.0 eth0: (PCI Express:2.5GT/s:Width x1) 00:0c:29:9c:7e:0a
[    1.718709] e1000e 0000:03:00.0 eth0: Intel(R) PRO/1000 Network Connection
[    1.718927] e1000e 0000:03:00.0 eth0: MAC: 3, PHY: 8, PBA No: 000000-000
[    1.825725] e1000e 0000:0b:00.0 eth1: (PCI Express:2.5GT/s:Width x1) 00:0c:29:9c:7e:14
[    1.826001] e1000e 0000:0b:00.0 eth1: Intel(R) PRO/1000 Network Connection
[    1.826314] e1000e 0000:0b:00.0 eth1: MAC: 3, PHY: 8, PBA No: 000000-000
[    1.829127] e1000e 0000:03:00.0 ens160: renamed from eth0
[    1.843927] e1000e 0000:0b:00.0 ens192: renamed from eth1
root@ubuntu:~#

複数のMACアドレスを指定する場合は下記の様にスペースを空けて列挙する。

[Match]
PermanentMACAddress=00:0c:29:9c:7e:14 00:0c:29:9c:7e:0a

[Link]
AutoNegotiation=no
BitsPerSecond=100M
Duplex=full

NICのデバイス名 ens192などを指定できないかチャレンジしたのですが、「Name=」や「OriginalName=」を使用してみましたが動作しませんでした。

設定値の反映については、確認した限りではauto negotiationのon/off切り替えについては、再起動が必要でした。

auto-negotiation offになった後の、リンク速度変更については、設定記載後に「udevadm test-builtin net_setup_link /sys/class/net/デバイス名」を実行することで反映されました。

root@ubuntu:~# udevadm test-builtin net_setup_link /sys/class/net/ens160
Load module index
Parsed configuration file /etc/systemd/network/99-default.link
Parsed configuration file /usr/lib/systemd/network/73-usb-net-by-mac.link
Created link configuration context.
ID_NET_DRIVER=e1000e
ens160: Failed to get ACTION= property: No such file or directory
Using default interface naming scheme 'v245'.
ID_NET_LINK_FILE=/etc/systemd/network/99-default.link
Unload module index
Unloaded link configuration context.
root@ubuntu:~#

リンク速度が変わったことが確認できます。

root@ubuntu:~# dmesg|grep ens160
[ 5510.551597] e1000e: ens160 NIC Link is Up 100 Mbps Full Duplex, Flow Control: None
[ 5510.551771] e1000e 0000:03:00.0 ens160: 10/100 speed: disabling TSO
root@ubuntu:~#

失敗編

/etc/networkd-dispatcher/routable.d にスクリプトを配置して、 ethtoolを実行してTSO offさせる、的な記述を発見。(How to execute post-up scripts with netplan)

/etc/networkd-dispatcher/routable.d/990-speed を作成し下記の内容を書いてみたところ、なぜか1秒間隔でスクリプトが実行され続けてしまった・・・なぜ?

#!/bin/bash

/usr/sbin/ethtool -s ens192 autoneg off speed 100 duplex full
exit 0

失敗ではないものの、実は一番最初に見つけた「How to permanently disable TSO & GSO in Ubuntu 18.04」で/etc/systemd/network/01-tso-and-gso.link ファイルを作って下記を記述

[Match]
# Set a match condition appropriate for your use case
Name=*

[Link]
TCPSegmentationOffload=false
GenericSegmentationOffload=false

と書かれていたのがもっとも正解に近かったという・・・


2021/12/24 追記

udevadmの詳細表示は下記の様に実行する

osakanataro@ubuntu:~$ sudo SYSTEMD_LOG_LEVEL=debug udevadm test-builtin net_setup_link /sys/class/net/ens160
Trying to open "/etc/systemd/hwdb/hwdb.bin"...
Trying to open "/etc/udev/hwdb.bin"...
Trying to open "/usr/lib/systemd/hwdb/hwdb.bin"...
Trying to open "/lib/systemd/hwdb/hwdb.bin"...
Trying to open "/lib/udev/hwdb.bin"...
=== trie on-disk ===
tool version:          245
file size:         9953660 bytes
header size             80 bytes
strings            2163852 bytes
nodes              7789728 bytes
Load module index
Found container virtualization none.
timestamp of '/etc/systemd/network' changed
timestamp of '/run/systemd/network' changed
Parsed configuration file /usr/lib/systemd/network/99-default.link
Parsed configuration file /etc/systemd/network/98-ens34.link
Parsed configuration file /etc/systemd/network/98-ens224.link
Parsed configuration file /usr/lib/systemd/network/73-usb-net-by-mac.link
Created link configuration context.
ID_NET_DRIVER=vmxnet3
ens160: Config file /usr/lib/systemd/network/99-default.link is applied
ens160: Failed to get ACTION= property: No such file or directory
ethtool: autonegotiation is unset or enabled, the speed and duplex are not writable.
ens160: Device has name_assign_type=4
Using default interface naming scheme 'v245'.
ens160: Policy *keep*: keeping existing userspace name
ens160: Device has addr_assign_type=0
ens160: MAC on the device already matches policy *persistent*
Could not set AlternativeName= or apply AlternativeNamesPolicy= on ens160, ignoring: Operation not supported
ID_NET_LINK_FILE=/usr/lib/systemd/network/99-default.link
Unload module index
Unloaded link configuration context.
osakanataro@ubuntu:~$

NICデバイス名の算出に関しては下記

osakanataro@ubuntu:~$ sudo SYSTEMD_LOG_LEVEL=debug udevadm test-builtin net_id /sys/class/net/ens160
Trying to open "/etc/systemd/hwdb/hwdb.bin"...
Trying to open "/etc/udev/hwdb.bin"...
Trying to open "/usr/lib/systemd/hwdb/hwdb.bin"...
Trying to open "/lib/systemd/hwdb/hwdb.bin"...
Trying to open "/lib/udev/hwdb.bin"...
=== trie on-disk ===
tool version:          245
file size:         9953660 bytes
header size             80 bytes
strings            2163852 bytes
nodes              7789728 bytes
Load module index
Found container virtualization none.
timestamp of '/etc/systemd/network' changed
timestamp of '/run/systemd/network' changed
Parsed configuration file /usr/lib/systemd/network/99-default.link
Parsed configuration file /etc/systemd/network/98-ens34.link
Parsed configuration file /etc/systemd/network/98-ens224.link
Parsed configuration file /usr/lib/systemd/network/73-usb-net-by-mac.link
Created link configuration context.
Using default interface naming scheme 'v245'.
ID_NET_NAMING_SCHEME=v245
ID_NET_NAME_MAC=enx00505699e0a1
ID_OUI_FROM_DATABASE=VMware, Inc.
ID_NET_NAME_PATH=enp3s0
ID_NET_NAME_SLOT=ens160
Unload module index
Unloaded link configuration context.
osakanataro@ubuntu:~$

ちなみに ens34については100Mb固定設定を行っていて、下記の様な出力となる。

osakanataro@ubuntu:~$ sudo SYSTEMD_LOG_LEVEL=debug udevadm test-builtin net_setup_link /sys/class/net/ens34
Trying to open "/etc/systemd/hwdb/hwdb.bin"...
Trying to open "/etc/udev/hwdb.bin"...
Trying to open "/usr/lib/systemd/hwdb/hwdb.bin"...
Trying to open "/lib/systemd/hwdb/hwdb.bin"...
Trying to open "/lib/udev/hwdb.bin"...
=== trie on-disk ===
tool version:          245
file size:         9953660 bytes
header size             80 bytes
strings            2163852 bytes
nodes              7789728 bytes
Load module index
Found container virtualization none.
timestamp of '/etc/systemd/network' changed
timestamp of '/run/systemd/network' changed
Parsed configuration file /usr/lib/systemd/network/99-default.link
Parsed configuration file /etc/systemd/network/98-ens34.link
Parsed configuration file /etc/systemd/network/98-ens224.link
Parsed configuration file /usr/lib/systemd/network/73-usb-net-by-mac.link
Created link configuration context.
ID_NET_DRIVER=e1000
ens34: Config file /etc/systemd/network/98-ens34.link is applied
ens34: Failed to get ACTION= property: No such file or directory
ens34: Device has name_assign_type=4
Using default interface naming scheme 'v245'.
ens34: Policies didn't yield a name and Name= is not given, not renaming.
ID_NET_LINK_FILE=/etc/systemd/network/98-ens34.link
Unload module index
Unloaded link configuration context.
osakanataro@ubuntu:~$ sudo SYSTEMD_LOG_LEVEL=debug udevadm test-builtin net_id /sys/class/net/ens34
Trying to open "/etc/systemd/hwdb/hwdb.bin"...
Trying to open "/etc/udev/hwdb.bin"...
Trying to open "/usr/lib/systemd/hwdb/hwdb.bin"...
Trying to open "/lib/systemd/hwdb/hwdb.bin"...
Trying to open "/lib/udev/hwdb.bin"...
=== trie on-disk ===
tool version:          245
file size:         9953660 bytes
header size             80 bytes
strings            2163852 bytes
nodes              7789728 bytes
Load module index
Found container virtualization none.
timestamp of '/etc/systemd/network' changed
timestamp of '/run/systemd/network' changed
Parsed configuration file /usr/lib/systemd/network/99-default.link
Parsed configuration file /etc/systemd/network/98-ens34.link
Parsed configuration file /etc/systemd/network/98-ens224.link
Parsed configuration file /usr/lib/systemd/network/73-usb-net-by-mac.link
Created link configuration context.
Using default interface naming scheme 'v245'.
ID_NET_NAMING_SCHEME=v245
ID_NET_NAME_MAC=enx000c2953f0df
ID_OUI_FROM_DATABASE=VMware, Inc.
ID_NET_NAME_PATH=enp2s2
ID_NET_NAME_SLOT=ens34
Unload module index
Unloaded link configuration context.
osakanataro@ubuntu:~$ cat /etc/systemd/network/98-ens34.link
[Match]
PermanentMACAddress=00:0c:29:53:f0:df

[Link]
AutoNegotiation=no
BitsPerSecond=100M
Duplex=full

osakanataro@ubuntu:~$

上記で「ens34: Policies didn’t yield a name and Name= is not given, not renaming.」というのが出ているが、これはLinkセクションでName=で定義していないための表示。

/etc/systemd/network/98-ens34.link のLinkセクションにNAME=ens34aと記載すると、再起動後のNIC名がens34a と指定したものになる。

また Matchセクションの「OriginalName=」についてだが、マニュアル にINTERACEを元にするとあるが、起動後に変更されてると名前が変わってると使えない、ともある。

とりあえず起動状態のINTERFACEを確認するには 「sudo udevadm test /sys/class/net/ens34」で確認出来る

osakanataro@ubuntu:~$ sudo udevadm test /sys/class/net/ens34
This program is for debugging only, it does not run any program
specified by a RUN key. It may show incorrect results, because
some values may be different, or not available at a simulation run.

Load module index
Parsed configuration file /usr/lib/systemd/network/99-default.link
Parsed configuration file /etc/systemd/network/98-ens34.link
Parsed configuration file /etc/systemd/network/98-ens224.link
Parsed configuration file /usr/lib/systemd/network/73-usb-net-by-mac.link
Created link configuration context.
Reading rules file: /usr/lib/udev/rules.d/01-md-raid-creating.rules
Reading rules file: /usr/lib/udev/rules.d/39-usbmuxd.rules
Reading rules file: /usr/lib/udev/rules.d/40-vm-hotadd.rules
Reading rules file: /usr/lib/udev/rules.d/50-apport.rules
Reading rules file: /usr/lib/udev/rules.d/50-firmware.rules
Reading rules file: /usr/lib/udev/rules.d/50-udev-default.rules
Reading rules file: /usr/lib/udev/rules.d/55-dm.rules
Reading rules file: /usr/lib/udev/rules.d/55-scsi-sg3_id.rules
Reading rules file: /usr/lib/udev/rules.d/56-dm-mpath.rules
Reading rules file: /usr/lib/udev/rules.d/56-dm-parts.rules
Reading rules file: /usr/lib/udev/rules.d/56-lvm.rules
Reading rules file: /usr/lib/udev/rules.d/58-scsi-sg3_symlink.rules
Reading rules file: /usr/lib/udev/rules.d/60-autosuspend-chromiumos.rules
Reading rules file: /usr/lib/udev/rules.d/60-block.rules
Reading rules file: /usr/lib/udev/rules.d/60-cdrom_id.rules
Reading rules file: /usr/lib/udev/rules.d/60-crda.rules
Reading rules file: /usr/lib/udev/rules.d/60-drm.rules
Reading rules file: /usr/lib/udev/rules.d/60-evdev.rules
Reading rules file: /usr/lib/udev/rules.d/60-fido-id.rules
Reading rules file: /usr/lib/udev/rules.d/60-input-id.rules
Reading rules file: /usr/lib/udev/rules.d/60-multipath.rules
Reading rules file: /usr/lib/udev/rules.d/60-open-vm-tools.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-alsa.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-input.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-storage-dm.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-storage-tape.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-storage.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-v4l.rules
Reading rules file: /usr/lib/udev/rules.d/60-sensor.rules
Reading rules file: /usr/lib/udev/rules.d/60-serial.rules
Reading rules file: /usr/lib/udev/rules.d/60-tpm-udev.rules
Reading rules file: /usr/lib/udev/rules.d/61-autosuspend-manual.rules
Reading rules file: /usr/lib/udev/rules.d/61-persistent-storage-android.rules
Reading rules file: /usr/lib/udev/rules.d/63-md-raid-arrays.rules
Reading rules file: /usr/lib/udev/rules.d/64-btrfs-dm.rules
Reading rules file: /usr/lib/udev/rules.d/64-btrfs.rules
Reading rules file: /usr/lib/udev/rules.d/64-md-raid-assembly.rules
Reading rules file: /usr/lib/udev/rules.d/66-azure-ephemeral.rules
Reading rules file: /usr/lib/udev/rules.d/66-snapd-autoimport.rules
Reading rules file: /usr/lib/udev/rules.d/68-del-part-nodes.rules
Reading rules file: /usr/lib/udev/rules.d/69-bcache.rules
Reading rules file: /usr/lib/udev/rules.d/69-lvm-metad.rules
Reading rules file: /usr/lib/udev/rules.d/69-md-clustered-confirm-device.rules
Reading rules file: /usr/lib/udev/rules.d/70-iscsi-disk.rules
Reading rules file: /usr/lib/udev/rules.d/70-iscsi-network-interface.rules
Reading rules file: /usr/lib/udev/rules.d/70-joystick.rules
Reading rules file: /usr/lib/udev/rules.d/70-mouse.rules
Reading rules file: /usr/lib/udev/rules.d/70-power-switch.rules
Reading rules file: /etc/udev/rules.d/70-snap.snapd.rules
Reading rules file: /usr/lib/udev/rules.d/70-touchpad.rules
Reading rules file: /usr/lib/udev/rules.d/70-uaccess.rules
Reading rules file: /usr/lib/udev/rules.d/71-power-switch-proliant.rules
Reading rules file: /usr/lib/udev/rules.d/71-seat.rules
Reading rules file: /usr/lib/udev/rules.d/73-seat-late.rules
Reading rules file: /usr/lib/udev/rules.d/73-special-net-names.rules
Reading rules file: /usr/lib/udev/rules.d/75-net-description.rules
Reading rules file: /usr/lib/udev/rules.d/75-probe_mtd.rules
Reading rules file: /usr/lib/udev/rules.d/78-graphics-card.rules
Reading rules file: /usr/lib/udev/rules.d/78-sound-card.rules
Reading rules file: /usr/lib/udev/rules.d/80-debian-compat.rules
Reading rules file: /usr/lib/udev/rules.d/80-drivers.rules
Reading rules file: /usr/lib/udev/rules.d/80-net-setup-link.rules
Reading rules file: /usr/lib/udev/rules.d/80-udisks2.rules
Reading rules file: /usr/lib/udev/rules.d/81-net-dhcp.rules
Reading rules file: /usr/lib/udev/rules.d/85-hdparm.rules
Reading rules file: /usr/lib/udev/rules.d/85-regulatory.rules
Reading rules file: /usr/lib/udev/rules.d/90-bolt.rules
Reading rules file: /usr/lib/udev/rules.d/90-console-setup.rules
Reading rules file: /usr/lib/udev/rules.d/90-fwupd-devices.rules
Reading rules file: /usr/lib/udev/rules.d/95-dm-notify.rules
Reading rules file: /usr/lib/udev/rules.d/95-kpartx.rules
Reading rules file: /usr/lib/udev/rules.d/95-upower-csr.rules
Reading rules file: /usr/lib/udev/rules.d/95-upower-hid.rules
Reading rules file: /usr/lib/udev/rules.d/95-upower-hidpp.rules
Reading rules file: /usr/lib/udev/rules.d/95-upower-wup.rules
Reading rules file: /usr/lib/udev/rules.d/96-e2scrub.rules
Reading rules file: /usr/lib/udev/rules.d/99-systemd.rules
Reading rules file: /usr/lib/udev/rules.d/99-vmware-scsi-udev.rules
Reading rules file: /etc/udev/rules.d/ubuntu--vg-ubuntu--lv.rules
Using default interface naming scheme 'v245'.
ethtool: autonegotiation is unset or enabled, the speed and duplex are not writable.
Could not set AlternativeName= or apply AlternativeNamesPolicy= on ens34, ignoring: Operation not supported
DEVPATH=/devices/pci0000:00/0000:00:11.0/0000:02:02.0/net/ens34
INTERFACE=ens34
IFINDEX=6
ACTION=add
SUBSYSTEM=net
ID_MM_CANDIDATE=1
ID_NET_NAMING_SCHEME=v245
ID_NET_NAME_MAC=enx000c2953f0df
ID_OUI_FROM_DATABASE=VMware, Inc.
ID_NET_NAME_PATH=enp2s2
ID_NET_NAME_SLOT=ens34
ID_BUS=pci
ID_VENDOR_ID=0x8086
ID_MODEL_ID=0x100f
ID_PCI_CLASS_FROM_DATABASE=Network controller
ID_PCI_SUBCLASS_FROM_DATABASE=Ethernet controller
ID_VENDOR_FROM_DATABASE=Intel Corporation
ID_MODEL_FROM_DATABASE=82545EM Gigabit Ethernet Controller (Copper) (PRO/1000 MT Single Port Adapter)
ID_PATH=pci-0000:02:02.0
ID_PATH_TAG=pci-0000_02_02_0
ID_NET_DRIVER=e1000
ID_NET_LINK_FILE=/usr/lib/systemd/network/99-default.link
TAGS=:systemd:
SYSTEMD_ALIAS=/sys/subsystem/net/devices/ens34
USEC_INITIALIZED=2681966
run: '/lib/open-iscsi/net-interface-handler start'
run: '/lib/systemd/systemd-sysctl --prefix=/net/ipv4/conf/ens34 --prefix=/net/ipv4/neigh/ens34 --prefix=/net/ipv6/conf/ens34 --prefix=/net/ipv6/neigh/ens34'
Unload module index
Unloaded link configuration context.
osakanataro@ubuntu:~$

「INTERFACE=ens34」とはなっているが、OriginalName=ens34 と設定しても動作しなかったので、ダメなようだ。

MatchセクションでNIC特定に利用できたものは下記3つでした。
「PermanentMACAddress=」NICのMACアドレスで指定
  例: PermanentMACAddress=00:0c:29:9c:7e:0a

「Driver=」そのNICが使用するドライバ名で指定
  例: Driver=e1000

「Path=」そのNICの存在するPCIバスアドレスで指定
  例: Path=pci-0000:02:02.0

Path=で指定するパスは「sudo udevadm test /sys/class/net/ens34」の出力内にある「ID_PATH」の値を使用する

Ubuntu 20.04でインストールされるdrbdは8.4なのか9.11なのか?

Ubuntu 20.04でdrbdを使おうとしたら、drbd-utilsのバージョンは9.11.0だが、drbd自体は8.4.11 といういまいちわけがわからない状態になっていた。

2022/04/22追記:Ubuntu 22.04 LTSでも状況はほぼ同じだった。詳しくは最後尾
2023/02/20: 本文を現状にあわせて若干修正

どういうことなのか調査してみた。

なお、drbd 8.4.11として使った場合にいくつか問題点があったが、それについては別記事「Ubuntu 20.04で標準のdrbd 8.4.11を使う場合の注意点」に記載している。


ubuntuのサイトに掲載されている「Ubuntu HA – DRBD」ではバージョンに関する話は特に書いておらず「sudo apt install drbd-utils」だけでインストールは完了し、あとは/etc/drbd.confの編集、という手順になっている。

次にdrbdの開発元であるlinbitが公開している「drbd 8ドキュメント」と「drbd 9ドキュメント」を見るとそれぞれ手順が異なっている。

drbd8では標準レポジトリだけでインストールできる、という趣旨だったものが、drbd9では明示的にPPAレポジトリを使え、と変更されている。

とりあえずは「apt install drbd-utils」でインストールかな?と実行してみると普通に実行できる。

$ sudo -i
# apt install drbd-utils
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
  guile-2.2-libs libgc1c2 libgsasl7 libidn11 libkyotocabinet16v5 libmailutils6
  libmysqlclient21 libntlm0 mailutils mailutils-common mysql-common postfix
  ssl-cert
Suggested packages:
  heartbeat mailutils-mh mailutils-doc procmail postfix-mysql postfix-pgsql
  postfix-ldap postfix-pcre postfix-lmdb postfix-sqlite sasl2-bin
  | dovecot-common resolvconf postfix-cdb postfix-doc openssl-blacklist
The following NEW packages will be installed:
  drbd-utils guile-2.2-libs libgc1c2 libgsasl7 libidn11 libkyotocabinet16v5
  libmailutils6 libmysqlclient21 libntlm0 mailutils mailutils-common
  mysql-common postfix ssl-cert
0 upgraded, 14 newly installed, 0 to remove and 0 not upgraded.
Need to get 9,579 kB of archives.
After this operation, 66.5 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
<略>

postfixとdovecotもインストールされるため下記のダイアログも開くので注意が必要。

インストール後、パッケージを調べて見ると、drbd-utilsは9.11.0だけど、drbd-docは8.4というちぐはぐな状態であることに気がつく。

root@ubuntu143:~# apt search drbd
Sorting... Done
Full Text Search... Done
collectd-core/focal 5.9.2.g-1ubuntu5 amd64
  statistics collection and monitoring daemon (core system)

drbd-doc/focal 8.4~20151102-1 all
  RAID 1 over TCP/IP for Linux (user documentation)

drbd-utils/focal,now 9.11.0-1build1 amd64 [installed]
  RAID 1 over TCP/IP for Linux (user utilities)

nagios-plugins-contrib/focal 25.20191015+1ubuntu1 amd64
  Plugins for nagios compatible monitoring systems

prometheus-hacluster-exporter/focal 0.4.0-2 amd64
  Prometheus exporter for HA cluster services

root@ubuntu143:~#

動作させてみると /proc/drbd が返すバージョンは 「version: 8.4.11 (api:1/proto:86-101)」だった。

root@ubuntu143:~# cat /proc/drbd
version: 8.4.11 (api:1/proto:86-101)
srcversion: FC3433D849E3B88C1E7B55C
 0: cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate C r-----
    ns:6276 nr:0 dw:42864576 dr:5041 al:328 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0
root@ubuntu143:~#

drbdは9.0からauto promoteという機能が追加されたので、それを使いたい場合に、8.4だと困る、ということになる。

このauto promoteは、両ノードが再起動した際に最初にdrbdデバイスにアクセスしてきたノードを自動的にprimaryに設定してくれる、という機能である。(8.xまでは両方ともSecondaryのままで、手動でprimaryに設定する必要があった)

というわけで、drbd9を使いたい場合は、PPAレポジトリを追加してlinbitが提供するdrbd9をインストールする必要がある。

ドキュメントに書かれているPPAレポジトリ情報は誤りがあり、正しくは「https://launchpad.net/~linbit/+archive/ubuntu/linbit-drbd9-stack」だった。

ここにあるように「add-apt-repository ppa:linbit/linbit-drbd9-stack」を実行してPPAレポジトリを追加する。

root@ubuntu143:~# add-apt-repository ppa:linbit/linbit-drbd9-stack
 This PPA contains DRBD9, drbd-utils, LINSTOR (client, python API, server).

This differs from official, production grade LINBIT repositories in several ways, including:
- We push RCs immediately to the PPA
- We don't push hotfixes, these usually have to wait until the next RC/release
- We only keep 2 LTS versions up to date (Bionic and Focal, but not Xenial)

For support and access to official repositories see:
https://www.linbit.com or write an email to: sales AT linbit.com
 More info: https://launchpad.net/~linbit/+archive/ubuntu/linbit-drbd9-stack
Press [ENTER] to continue or Ctrl-c to cancel adding it.

Hit:1 http://jp.archive.ubuntu.com/ubuntu focal InRelease
Get:2 http://jp.archive.ubuntu.com/ubuntu focal-updates InRelease [114 kB]
Get:3 http://jp.archive.ubuntu.com/ubuntu focal-backports InRelease [101 kB]
Get:4 http://jp.archive.ubuntu.com/ubuntu focal-security InRelease [114 kB]
Get:5 http://ppa.launchpad.net/linbit/linbit-drbd9-stack/ubuntu focal InRelease [24.4 kB]
Get:6 http://ppa.launchpad.net/linbit/linbit-drbd9-stack/ubuntu focal/main amd64 Packages [2,344 B]
Get:7 http://ppa.launchpad.net/linbit/linbit-drbd9-stack/ubuntu focal/main Translation-en [1,308 B]
Fetched 356 kB in 3s (137 kB/s)
Reading package lists... Done
root@ubuntu143:~#

で・・・linbit提供のdrbdはdkmsモジュールとして提供されるため「apt install drbd-utils drbd-dkms」を実行してインストールすることになる。

今回のテスト環境ではdrbd8が既にインストールされていたので、最初に「apt update;apt upgrade」を実行してapt-utilsのバージョンアップを行った。

root@ubuntu143:~# apt update
Hit:1 http://jp.archive.ubuntu.com/ubuntu focal InRelease
Get:2 http://jp.archive.ubuntu.com/ubuntu focal-updates InRelease [114 kB]
Get:3 http://jp.archive.ubuntu.com/ubuntu focal-backports InRelease [101 kB]
Get:4 http://jp.archive.ubuntu.com/ubuntu focal-security InRelease [114 kB]
Hit:5 http://ppa.launchpad.net/linbit/linbit-drbd9-stack/ubuntu focal InRelease
Fetched 328 kB in 1s (538 kB/s)
Reading package lists... Done
Building dependency tree
Reading state information... Done
1 package can be upgraded. Run 'apt list --upgradable' to see it.
root@ubuntu143:~# apt list --upgradable
Listing... Done
drbd-utils/focal 9.19.1-1ppa1~focal1 amd64 [upgradable from: 9.11.0-1build1]
N: There is 1 additional version. Please use the '-a' switch to see it
root@ubuntu143:~# apt upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages will be upgraded:
  drbd-utils
1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 720 kB of archives.
After this operation, 75.8 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://ppa.launchpad.net/linbit/linbit-drbd9-stack/ubuntu focal/main amd64 drbd-utils amd64 9.19.1-1ppa1~focal1 [720 kB]
Fetched 720 kB in 3s (214 kB/s)
Preconfiguring packages ...
(Reading database ... 72754 files and directories currently installed.)
Preparing to unpack .../drbd-utils_9.19.1-1ppa1~focal1_amd64.deb ...
Unpacking drbd-utils (9.19.1-1ppa1~focal1) over (9.11.0-1build1) ...
Setting up drbd-utils (9.19.1-1ppa1~focal1) ...

Configuration file '/etc/drbd.d/global_common.conf'
 ==> Modified (by you or by a script) since installation.
 ==> Package distributor has shipped an updated version.
   What would you like to do about it ?  Your options are:
    Y or I  : install the package maintainer's version
    N or O  : keep your currently-installed version
      D     : show the differences between the versions
      Z     : start a shell to examine the situation
 The default action is to keep your current version.
*** global_common.conf (Y/I/N/O/D/Z) [default=N] ? y
Installing new version of config file /etc/drbd.d/global_common.conf ...
Installing new version of config file /etc/init.d/drbd ...
Processing triggers for man-db (2.9.1-1) ...
Processing triggers for systemd (245.4-4ubuntu3.13) ...
root@ubuntu143:~#

次に、「apt install drbd-dkms」でdrbd本体をインストールした。

root@ubuntu143:~# apt install drbd-dkms
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
  autoconf automake autopoint autotools-dev binutils binutils-common
  binutils-x86-64-linux-gnu build-essential cpp cpp-9 dctrl-tools debhelper
  dh-autoreconf dh-strip-nondeterminism dkms dpkg-dev dwz fakeroot g++ g++-9
  gcc gcc-9 gcc-9-base gettext intltool-debian libalgorithm-diff-perl
  libalgorithm-diff-xs-perl libalgorithm-merge-perl libarchive-cpio-perl
  libarchive-zip-perl libasan5 libatomic1 libbinutils libc-dev-bin libc6-dev
  libcc1-0 libcroco3 libcrypt-dev libctf-nobfd0 libctf0 libdebhelper-perl
  libdpkg-perl libfakeroot libfile-fcntllock-perl
  libfile-stripnondeterminism-perl libgcc-9-dev libgomp1 libisl22 libitm1
  liblsan0 libltdl-dev libmail-sendmail-perl libmpc3 libquadmath0
  libstdc++-9-dev libsub-override-perl libsys-hostname-long-perl libtool
  libtsan0 libubsan1 linux-libc-dev m4 make manpages-dev po-debconf
Suggested packages:
  autoconf-archive gnu-standards autoconf-doc binutils-doc cpp-doc
  gcc-9-locales debtags dh-make menu debian-keyring g++-multilib
  g++-9-multilib gcc-9-doc gcc-multilib flex bison gdb gcc-doc gcc-9-multilib
  gettext-doc libasprintf-dev libgettextpo-dev glibc-doc bzr libtool-doc
  libstdc++-9-doc gfortran | fortran95-compiler gcj-jdk m4-doc make-doc
  libmail-box-perl
The following NEW packages will be installed:
  autoconf automake autopoint autotools-dev binutils binutils-common
  binutils-x86-64-linux-gnu build-essential cpp cpp-9 dctrl-tools debhelper
  dh-autoreconf dh-strip-nondeterminism dkms dpkg-dev drbd-dkms dwz fakeroot
  g++ g++-9 gcc gcc-9 gcc-9-base gettext intltool-debian
  libalgorithm-diff-perl libalgorithm-diff-xs-perl libalgorithm-merge-perl
  libarchive-cpio-perl libarchive-zip-perl libasan5 libatomic1 libbinutils
  libc-dev-bin libc6-dev libcc1-0 libcroco3 libcrypt-dev libctf-nobfd0 libctf0
  libdebhelper-perl libdpkg-perl libfakeroot libfile-fcntllock-perl
  libfile-stripnondeterminism-perl libgcc-9-dev libgomp1 libisl22 libitm1
  liblsan0 libltdl-dev libmail-sendmail-perl libmpc3 libquadmath0
  libstdc++-9-dev libsub-override-perl libsys-hostname-long-perl libtool
  libtsan0 libubsan1 linux-libc-dev m4 make manpages-dev po-debconf
0 upgraded, 66 newly installed, 0 to remove and 0 not upgraded.
Need to get 47.8 MB of archives.
After this operation, 208 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
<略>
drbd.ko:
Running module version sanity check.
 - Original module
   - No original module exists within this kernel
 - Installation
   - Installing to /lib/modules/5.4.0-90-generic/updates/dkms/

drbd_transport_tcp.ko:
Running module version sanity check.
 - Original module
   - No original module exists within this kernel
 - Installation
   - Installing to /lib/modules/5.4.0-90-generic/updates/dkms/

depmod..........

DKMS: install completed.
Processing triggers for install-info (6.7.0.dfsg.2-5) ...
Processing triggers for libc-bin (2.31-0ubuntu9.2) ...
Processing triggers for man-db (2.9.1-1) ...
root@ubuntu143:~#

これで再起動

すると下記の様にdrbdのバージョンが「version: 9.1.4 (api:2/proto:110-121)」となった。

root@ubuntu143:~# cat /proc/drbd
version: 9.1.4 (api:2/proto:110-121)
GIT-hash: e4de25c3a65811b0fa4733b1c2a000ee322f5cfa build by root@ubuntu143, 2021-11-24 07:10:11
Transports (api:17): tcp (9.1.4)
root@ubuntu143:~#

この状態でdrbd関連パッケージの状態を確認する下記の様になっていた。

root@ubuntu143:~# apt search drbd
Sorting... Done
Full Text Search... Done
collectd-core/focal 5.9.2.g-1ubuntu5 amd64
  statistics collection and monitoring daemon (core system)

drbd-dkms/focal,now 9.1.4-1ppa1~focal1 all [installed]
  RAID 1 over TCP/IP for Linux module source

drbd-doc/focal 8.4~20151102-1 all
  RAID 1 over TCP/IP for Linux (user documentation)

drbd-module-source/focal 9.1.4-1ppa1~focal1 all
  RAID 1 over TCP/IP for Linux module source

drbd-reactor/focal 0.5.0-1ppa1~focal1 amd64
  Monitors DRBD resources via plugins.

drbd-utils/focal,now 9.19.1-1ppa1~focal1 amd64 [installed]
  RAID 1 over TCP/IP for Linux (user utilities)

drbd8-utils/focal 2:9.19.1-1ppa1~focal1 amd64
  transitional dummy package

linstor-common/focal 1.16.0-1ppa1~focal1 all
  DRBD distributed resource management utility

linstor-controller/focal 1.16.0-1ppa1~focal1 all
  DRBD distributed resource management utility

linstor-satellite/focal 1.16.0-1ppa1~focal1 all
  DRBD distributed resource management utility

nagios-plugins-contrib/focal 25.20191015+1ubuntu1 amd64
  Plugins for nagios compatible monitoring systems

prometheus-hacluster-exporter/focal 0.4.0-2 amd64
  Prometheus exporter for HA cluster services

root@ubuntu143:~#

2022/04/22追記

Ubuntu 22.04 LTSが出たので状況を確認してみた。

user$ apt search drbd
Sorting... Done
Full Text Search... Done
drbd-doc/jammy 8.4~20220106-1 all
  RAID 1 over TCP/IP for Linux (user documentation)

drbd-utils/jammy 9.15.0-1build2 amd64
  RAID 1 over TCP/IP for Linux (user utilities)

monitoring-plugins-contrib/jammy 37.20211217ubuntu1 amd64
  Plugins for nagios compatible monitoring systems

prometheus-hacluster-exporter/jammy 1.2.3-2 amd64
  Prometheus exporter for HA cluster services

user@ubuntu2204:~$ modinfo drbd
filename:       /lib/modules/5.15.0-25-generic/kernel/drivers/block/drbd/drbd.ko
alias:          block-major-147-*
license:        GPL
version:        8.4.11
description:    drbd - Distributed Replicated Block Device v8.4.11
author:         Philipp Reisner <phil@linbit.com>, Lars Ellenberg <lars@linbit.com>
srcversion:     C369F58AE19642816B00C81
depends:        lru_cache,libcrc32c
retpoline:      Y
intree:         Y
name:           drbd
vermagic:       5.15.0-25-generic SMP mod_unload modversions
sig_id:         PKCS#7
signer:         Build time autogenerated kernel key
sig_key:        43:DE:0B:33:F7:CF:5A:CE:F6:19:E2:2A:DD:DD:1D:BD:4D:ED:8E:ED
sig_hashalgo:   sha512
signature:      72:7A:0C:A3:E5:31:68:E8:FC:55:61:6F:FF:E1:11:B1:90:9F:8D:DF:
                29:E0:16:9D:C5:6D:0A:D4:A6:48:88:87:E0:5B:46:73:96:24:8A:1D:
                51:1E:39:4B:A4:20:65:42:2F:A7:2B:6A:ED:AE:8B:4E:FD:0F:E5:94:
                7C:03:0D:53:1F:21:C4:09:AF:7A:91:32:23:0E:E2:3A:32:79:FF:0B:
                36:E7:BC:7A:5E:72:A0:6E:05:2C:04:B6:4B:01:77:65:5A:43:EA:AB:
                F0:BE:B0:97:2E:65:81:7B:90:67:76:E5:64:2D:EF:8A:9A:3F:21:DD:
                CF:A6:C8:3B:87:4D:C1:1C:6C:F8:AD:F2:01:C2:DC:BD:CA:3F:85:4C:
                A8:A6:B3:C5:83:C8:13:76:31:77:51:8C:37:3D:D4:77:00:29:8F:BE:
                1A:E3:C4:1F:EE:96:1E:24:24:9A:77:BE:F4:7C:40:4D:BD:34:83:69:
                8D:0C:E6:DA:FC:F0:65:74:52:86:EA:8F:26:2B:71:5B:BB:79:73:0C:
                26:D1:66:4D:FC:71:B2:E4:B3:0B:4D:85:EC:CF:98:CB:E6:83:C6:79:
                28:F1:BF:23:CC:30:68:0E:F4:50:85:04:D1:AF:87:31:E0:4E:A5:1D:
                5B:F7:6F:18:34:17:E9:8D:84:6C:B5:2C:9F:6F:38:DA:4D:9D:4B:3F:
                38:6D:38:5E:02:56:23:DB:B3:F4:06:6E:EE:52:F1:09:62:59:1A:BA:
                57:1E:E7:10:0F:61:E1:86:5C:3E:ED:67:D6:AF:9F:CE:69:F3:38:D4:
                EA:91:30:72:7F:B3:02:08:82:0F:C4:4B:8C:85:86:6E:4A:9F:E3:51:
                78:A7:4D:C2:E1:E2:7D:20:F5:42:F6:A7:6F:76:76:04:B9:93:E7:99:
                53:9A:3F:6D:61:AA:31:B2:04:59:BE:E4:16:E3:8C:4E:D0:58:0A:FE:
                FF:1C:79:D6:5E:72:72:3D:A0:41:47:DC:04:8C:04:04:C6:E7:6A:55:
                5A:E7:FC:B1:C5:B5:CD:C3:D3:03:3A:B8:3E:C1:24:87:93:DD:34:1A:
                4B:97:3B:61:7C:CB:E9:34:90:C2:C5:C5:2A:79:74:D1:49:E6:50:A1:
                9F:35:AA:14:38:1B:0F:01:27:4E:44:F5:0F:7C:28:41:77:0A:AB:A9:
                0A:43:0C:CB:69:27:B8:E4:CA:FA:E9:01:12:A3:57:D2:7B:9F:9F:8E:
                4D:A1:F9:5B:12:AD:F8:87:FA:49:F2:E3:72:D4:2A:A4:6F:EF:C7:13:
                2D:96:BF:E9:7C:3F:63:5B:60:C7:33:7B:5C:FA:9A:3A:66:83:41:63:
                B6:67:18:DC:D4:5F:D6:4B:5F:DA:F2:74
parm:           allow_oos:DONT USE! (bool)
parm:           disable_sendpage:bool
parm:           proc_details:int
parm:           minor_count:Approximate number of drbd devices (1-255) (uint)
parm:           usermode_helper:string
user@ubuntu2204:$

drbd-utilsのバージョンが 9.15.0 にアップデートしているが、kernelに含まれているdrbd は8.4.11 のままとなっていた。

Windows 11 Insider Preview環境でWSLg経由で起動したUbuntu 20.04のfirefoxが日本語文字化けする

Windows 11 Insider Previewにした環境で、WSLgを使ったLinux GUIのテストをしてみようと、Ubuntu 20.04を設定して、firefoxを起動してみた。(別途 sudo apt install firefox でインストール済み)

まぁ、文字化けした。

どうせ、いつもの(Zentyalを日本語で使う場合の設定手順)だろう、と「sudo apt install fonts-arphic-uming fonts-takao-gothic」でフォントをインストールして

firefoxを起動したところ、問題なく表示されました。

AMD B450チップセット+Ryzen 3 2200G環境でWSL2が 0x80370102で使えない

AMD B450チップセットを使っているASUS TUF B450M-PLUS GAMING にRyzen 3 2200Gを載せている環境で、WSL2を試そうとした。

BIOSのCPU設定にて「SVM Mode」を「Enabled」に変更して、

画像

Windows 10 用 Windows Subsystem for Linux のインストール ガイドの手順に従ってWSL2をセットアップしていく・・・

画像

Ubuntu が0x80370102 のエラーで起動しない。

画像

冒頭に写真に出したように仮想化は有効にしている。

タスクマネージャのパフォーマンスのCPUでも「仮想化:有効」表示を確認

画像

msinfo32でも仮想化の有効を確認

画像

万策尽きたか・・・というところで、AMD Radeon Softwareパッケージを再インストールすることで解決するかも?という話を聞いて、AMD Ryzen™ 3 2200G Previous Drivers からRadeon Softwareをダウンロード/インストール/再起動してみたところ、今度はWSL2が正常に起動することが確認出来た。

次はWSLgだな・・・

タッチパネル一体型業務向けPC MSI-R104I8BD1を入手したのでWindows/Ubuntu/ChromeOSで起動してみた

sueboさんがうっかり落札してしまった14台のタッチパネル一体型PCを2台譲ってもらった。

現状は全台はけた、ということですが、この機種およびマザーボードについてぐぐっても情報がほとんど出てこないので、ここにメモとして残しておきます。

目次
 スペックについて
 中をあける方法
 USBメモリからの起動について
 Windows 10の起動状況
 Ubuntu 20.04の起動状況
 ChromeOSの起動状況
 BIOSアップデートについて

スペックについて

マザーボードはMSI MS-98I8 で、この一体型PCは下記の様なスペックになっている。

Celeron N3160
DDR3x1 / Mini-PCIex1 / mSATAx1 / SATAx1 / DPx1 / HDMIx1 / GbEx2
10インチ SVGA(800×600)+タッチパネル
Windows 10 IoT Enterprise 2016 LTSB ライセンスシール
メモリ/ディスクは搭載なしだが、CF/SATA変換ボードと2.5インチHDD接続用ケーブルが残存
電源は12V単一。一般的なコネクタではなく電線を直接入力するタイプ
ただ、マザーボード自体の仕様としては9V~36Vと書いてある

中をあける方法

抜けたりするのを防ぐため中のケーブルのコネクタ部分が固められています。

とりあえず中身を確認するためには、下記のような感じで開けてみてから、その次をどうしていくかを考えた方がいいと思います。

画像

このような感じであけるには以下の赤い丸印のネジを外します。

画像
画像
画像

中をあけたらメモリとディスクなどをいれて単体で動作できるようにしましょう。

USBメモリからの起動について

BIOSメニューからUSBメモリを選んでもなんか普通のマザーボードと同様にUSBメモリからの起動になりません。(後述のWindows, Ubuntu, ChromeOSで同じ)

起動順序を「UEFI: Built-IN EFI Shell」を一番最初にして起動します。

画像

EFI Shellが起動してくるので、何かキーを押してEFI Shellプロンプトで止めます。

画像

今回はUSBメモリが「fs1」で認識されていたので「fs1:」でドライブを移動したあと、

「efi\boot\bootx64.efi」を実行するとUSBメモリからの起動が開始されます。

下記の写真では「cd efi」「cd boot」でディレクトリ移動してから「bootx64.efi」を実行しています。

画像

なお、このEFI Shellはタブキー補完が効くのでefiを指定する際に「e」を入力したあとにタブキーを押すと「efi」と変換されます。

また、fs1:で移動した後にそこにどんなディレクトリ/ファイルがあるかを確認するには「ls」を実行することで確認出来ます。

なお、USBメモリに startup.nsh というファイルを置いて、「.\efi\boot\bootx64.efi」とかかいておけば自動起動されるんじゃないかなぁとは思います。

参考:拡張ファームウェアインターフェイス (EFI) インテル®の基本手順サーバーボード

Windows 10の起動状況

Windows 10 IOT ENT 2016 LTSBのプロダクトキーがついていますが、このプロダクトキーが通るのは、「Windows 10 IOT ENT 2016 LTSBメディア」か「Windows 10 ENT 2016 LTSB」だけのようです。「Windows 10 Enterpriseメディア」や「Windows 10 Enterprise 2019 LTSCメディア」では通りませんでした。

「Windows 10 IOT ENT 2016 LTSBメディア」を含めて2016年頃のWindows 10メディアだとデバイスが2個△マークとなりますが、タッチパネル/イーサネット含めて動作しています。

2017年以降のWindows 10 メディアを使ったり、Windows Updateを実行すると、全デバイスが正常に認識されますので、問題はありません。

画像

なお、Windows 10 IOT ENT 2016 LTSBのプロダクトキーを入力してライセンス認証を行った場合、「Windows 10 Enterprise 2016 LTSB」として認識されています。

画像

なお、Windows 10 Enterprise 2016 LTSBのライフサイクル ポリシーはメインストリームが2021/10/12、延長が2026/10/13となっています。

画像

Ubuntu 20.04の起動状況

普通にインストールすると、タッチパネル用のドライバが認識されているもののX-Window上でタッチパネル動作を認識できていません。

画像
画像

この問題についてはxserver-xorg-input-evdevをインストールして、xserver-xorg-input-libinputを削除して対応できました。(xinput-calibratorはタッチパネルの位置調整用コマンドxinput_calibratorをインストールするために追加している)

$ sudo apt install xserver-xorg-input-evdev xinput-calibrator
$ sudo apt remove xserver-xorg-input-libinput

これを行った後、再起動するとタッチパネルが動作するようになっていると思います。

画像

Ubuntuのオンスクリーンキーボードは、「設定」の「アクセスビリティ」から設定できますが、最初のログイン画面では動いていないようです。

とりあえず、自動ログインさせてログイン画面をスキップする設定をGUIで行おうとしたところ画面が表示できていない・・・

画像

このため設定ファイル /etc/gdm3/custom.conf を直接編集し、下記の設定を行いました。

[daemon]
AutomaticLoginEnable=yes
AutomaticLogin =ユーザ名

ChromeOSの起動状況

純正ChromeOSのリカバリイメージを元に汎用ChromeOS起動ディスクを作成するbrunchを使ってUSBメモリを作成して起動したもの。

rammus用リカバリイメージを元に作成してあるUSBメモリがあったので起動してみたところ、標準状態でそのままタッチパネルもLineOUTからのオーディオ出力も普通に使える状態で起動してきました。

画像

ただ、Chrome OSは、800×600解像度で使うものではない感じですね・・・


BIOSアップデートについて

マザーボードの製品ページを開いて少しスクロールすると上側に「Download」リンクが現れ、そこにBIOSアップデートが提供されており、Version 170と書いてある。

ZIPファイルをダウンロードするとバージョンアップ履歴のテキストファイルがあり、Version 170とは、E98I8IMS V1.7ということのようだ

画像

届いたものを確認すると E98I8IMS V1.6となっているので、少し古いバージョンということになっている。

画像

BIOSアップデータはEFIで実行する形式なので、EFI Shellから実行する必要があります。

EFI ShellではFAT32領域しか見れず、NTFSやLinux ext4領域などは使えない、という制約があるので、FAT32でフォーマットしたUSBメモリにBIOSアップデート関連ファイルを展開して使用します。

USBメモリをさして、EFI Shellに入ってから下記のように入力してアップデートを実施します

Shell> fs1:
fs1:\> cd E98I8IMS170
fs1:\> EFUx64.EFI E98I8IMS.170
画像
画像

アップデートが終わったら再起動します。

バージョンを確認するとV1.7に変わったことが確認できます。

画像