テクノロイド

コンピュータやゲーム他、色々日々思ったことをつづっていきます。

LXD3.0でzfsのストレージプールを作ってみた(追記有り)

2018-10-28 03:30:58 | LXC/LXD,コンテナ,snaps
(追記)見直してみたら、-sオプションを知らなかったせいか変なことやってる。「UWR#571 LXD 3.0のストレージ設定」を参照した方が良さげ。


lxd initのデフォルトで作成したbtrfsなストレージプールが一杯になったので、新しいストレージプールを作る必要があったのでzfsで作ってみた。
今はzfsがデフォルトに変更された?

# lxd init
Would you like to use LXD clustering? (yes/no) [default=no]:
Do you want to configure a new storage pool? (yes/no) [default=yes]:
Name of the new storage pool [default=default]:
The requested storage pool "default" already exists. Please choose another name.
Name of the new storage pool [default=default]: newsp
Name of the storage backend to use (btrfs, dir, zfs) [default=zfs]:
Create a new ZFS pool? (yes/no) [default=yes]:
Would you like to use an existing block device? (yes/no) [default=no]:
Size in GB of the new loop device (1GB minimum) [default=21GB]:
Would you like to connect to a MAAS server? (yes/no) [default=no]:
Would you like to create a new local network bridge? (yes/no) [default=yes]: no
Would you like to configure LXD to use an existing bridge or host interface? (yes/no) [default=no]: yes
Name of the existing bridge or host interface: lxdbr0
Would you like LXD to be available over the network? (yes/no) [default=no]:
Would you like stale cached images to be updated automatically? (yes/no) [default=yes]
Would you like a YAML "lxd init" preseed to be printed? (yes/no) [default=no]:
Error: Failed to update profile 'default': At least one container relies on this profile's root disk device.

lxd initで新しいprofileが作れるのかと思ってたらエラーだったので、新規ストレージプールを作成してから新しいprofileを作成した。
$ lxc storage list
+---------+-------------+--------+--------------------------------+---------+
| NAME | DESCRIPTION | DRIVER | SOURCE | USED BY |
+---------+-------------+--------+--------------------------------+---------+
| default | | btrfs | /var/lib/lxd/disks/default.img | 9 |
+---------+-------------+--------+--------------------------------+---------+
$ lxc storage create stplzfs zfs
ストレージプール stplzfs を作成しました
$ lxc storage list
+---------+-------------+--------+--------------------------------+---------+
| NAME | DESCRIPTION | DRIVER | SOURCE | USED BY |
+---------+-------------+--------+--------------------------------+---------+
| default | | btrfs | /var/lib/lxd/disks/default.img | 9 |
+---------+-------------+--------+--------------------------------+---------+
| stplzfs | | zfs | /var/lib/lxd/disks/stplzfs.img | 0 |
+---------+-------------+--------+--------------------------------+---------+
$ lxc storage volume list stplzfs
+------+------+-------------+---------+
| TYPE | NAME | DESCRIPTION | USED BY |
+------+------+-------------+---------+
$ lxc profile copy default profzfs
$ lxc profile show profzfs
config: {}
description: Default LXD profile
devices:
eth0:
name: eth0
nictype: bridged
parent: lxdbr0
type: nic
root:
path: /
pool: default
type: disk
name: profzfs
used_by: []
$ lxc profile set profzfs pool stplzfs
Error: Unknown configuration key: pool

コマンドでprofileの値を変更する方法がわからなかったのでエディタで編集。
$ lxc profile edit profzfs
$ lxc copy conA newcon --profile profzfs
Error: copying containers between different storage pools is not implemented

やはりLXD3.2以降じゃないとcopyできないらしいので、リモートホストからcopy。
$ lxc copy remoho:conA --profile profzfs
コンテナを転送中: conA: 1.80GB (4.27MB/s)
コンテナ名: conA

成功。dfするとdefault(btrfs)とマウント表示が違うんだけど、zfsのせい or lxc storage createのせい or 何か間違ってるのか。
$ df -h
Filesystem                     Size  Used Avail Use% Mounted on
udev                           3.9G     0  3.9G   0% /dev
tmpfs                          787M  1.7M  785M   1% /run
/dev/sda1                      110G   57G   48G  55% /
(略)
/dev/loop23                     21G   17G  3.9G  82% /var/lib/lxd/storage-pools/default
stplzfs/containers/conA         16G  831M   15G   6% /var/lib/lxd/storage-pools/stplzfs/containers/conA

Android-x86 8.1 RC2

2018-10-27 04:07:08 | パソコン/マイコン全般
Kapper氏のブログにAndroid-x86 8.1 RC2に付いて書かれてあるのを発見。
どうやら、カーネルが新しくなって対応デバイスが増えているとのこと。そしてUSBメモリからインストールするよりUbuntu(Linux)上でインストールするのが良いのがわかった。
これはさっそく(Ubuntu入れたAtomタブレットに)インストールするしかない。

まずは普通にUbuntuがインストールできてカメラ以外は問題ないCLIDE8.9(TVE8907i)から。タッチもマルチタッチできない以外は普通に使えて、他はやはりカメラが動作しないくらいか。FHDのAndroid機は持ってなかったんで感動。
そしてWDP121や083,072にもインストールしたがやはりタッチパネルが動作せずにマウスを繋げないと操作できなかった。Ubuntuでタッチ操作できるようにしたけどUbuntuだとタッチ操作が使いにくいからAndroidに期待したんだが駄目でがっかり。Linuxで設定したようにできればタッチも使えるようになるだろうけど、どういじったらいいか大変そうだ。
WDP072は7インチで持ちやすいし、メモリが1GBしかないので特に期待したんだが、Ubuntu上にシステムファイルを置いててloopbackマウントというやり方をしてるせいなのか、逆にメモリが足りないようで激重。これはAndroid単体でインストールしてもいい気もするが、どうせタッチパネルが使えないならAndroid使うのは無意味だからなあ。

GRUBでUbuntuとAndroid-x86のデュアルブートにできるのはいいのだが、タブレットにキーボードを繋いでないと起動時に選択できないではないか。WindowsとAndroidの両方が入ってる中華タブは切り替えアイコンで切り替えられるようになっているようなのでそうしたい。
というわけで、Ubuntu上から再起動する場合にGRUBの何番目かを起動するか指定できないと困る。いちいち通常のGRUBの設定変更なんてやってられない。何とか再起動時に指定できないだろうかと必死にググった。
すると「次回起動時に使うカーネルをあらかじめ選択しておく」というブログ記事を発見。grub-rebootというコマンドがあったのか、知らなかった。これでキーボードが無い緊急時にAndroidを使うということができるぞ!

まあ結局AtomタブレットではCLIDE8.9でしかまともに使えそうになかった。逆にCLIDE8.9でAndroid-x86がすこぶる快調なので、もう1台買ってしまった。
Windows8.1で販売されてたCLIDE8.9なので、Windows10に無料アップグレードできなくて不人気なためか8,480円+代引き手数料という激安価格で売られていた。代引き手数料を浮かせるために2台買おうか悩んだのだが、よく調べると1万円以下と以上で手数料が変わるので逆に1台の方が手数料が安かったので1台のみ購入となった。それにしてもタイミング良く激安価格で出てて良かった。
薄いし程よい大きさだし、車載用とか壁掛け用で使えるかな?なんて妄想すると1万円もしないなんてアンビリーバボー!!
Android8の動作する8.9インチフルHDタブレットにマウスを追加したとしてもiPad用のPencilより安いぜ!(笑)

ドメインキングの5倍値上げはさすがにひどい

2018-10-26 03:34:21 | Weblog
月額安かったんでドメインキングを使ってたんだけど、今回支払おうとしたら値段が5倍になってて目ん玉飛び出た。
そういえば以前値上げのお知らせあったなと思ったけど、期限が来るまで真剣に考えないもんだな。
ググったらもう移行してる人が出ているようなんで参考になるかな。まあ今回は考える暇ない状態だし、今まで安かったからまあ1回位は払ってあげましょか。1年間じっくりと考えることにしよう。その間に色々情報出てくるだろうし。

LXDでLXQtデスクトップとKDE Plasmaデスクトップを使ってみる

2018-10-25 22:42:50 | LXC/LXD,コンテナ,snaps
最近GNOMEからKDEに鞍替えしようかと思っていた。
(理由を後で書く)

そしたら今週のUbuntu Weekly Recipeが「第542回 生まれ変わったLubuntu 18.10を使用する」だった。
というわけ(?)で、VirtualBoxでLubuntu 18.10使ってみようかなと思ったんだけど、VirtualBoxってセキュアブートがオンだと動いてくれないみたい。
すっかりLXDばかりやってたんで今まで知らなかったっつうことで、Ubuntu16.04(host)で使ってるLXD2.0でubuntu18.10入れてLXQtデスクトップを入れてみた。
※面倒くさいんで日本語化省略。後でやるかもだが。

host$ lxc launch ubuntu:18.10 u1810
host$ lxc exec u1810 bash
root@u1810:~# apt update
root@u1810:~# apt dist-upgrade
root@u1810:~# apt search lxqt
root@u1810:~# apt install lxqt
root@u1810:~# ll /etc/alternatives/x-session-manager

ここでhost上でremminaを起動しu1810のアドレスへ接続しようとしたがxrdpを入れてなくて失敗。忘れてた。
root@u1810:~# apt install xrdp

今度は接続できたが、ユーザー名とパスワードをいくら入れてもログインできずに焦ったが、ubuntuユーザーのパスワードが設定されなくなっていたのを忘れてたので設定して解決。
root@u1810:~# passwd ubuntu
無事remminaからLXQtデスクトップが拝めた。

続いてKDE Plasmaデスクトップを入れてみる。
root@u1810:~# apt install plasma-desktop

x-session-managerでplasma-desktopが起動するように変更。
root@u1810:~# update-alternatives --config x-session-manager
There are 2 choices for the alternative x-session-manager (providing /usr/bin/x-session-manager).

  Selection    Path                Priority   Status
------------------------------------------------------------
* 0            /usr/bin/startlxqt   50        auto mode
  1            /usr/bin/startkde    40        manual mode
  2            /usr/bin/startlxqt   50        manual mode

Press <enter> to keep the current choice[*], or type selection number: 1
update-alternatives: using /usr/bin/startkde to provide /usr/bin/x-session-manager (x-session-manager) in manual mode
root@u1810:~# 

動かないかと思ってたら動いた!ラッキー(^_^)v

追記)
冒頭の「GNOMEからKDEに鞍替えしようか」というのはストップしている。鞍替えしようとした理由は、タブレットに入れたUbuntu18.04のドック部分がタッチ操作で不可解な動作を引き起こす(何故かアプリが2重起動する)からだった。さらにはGTKからQtに移行しようとするディストリビューションが丁度目立っていたのもあったし。
ただ、Kubuntu18.04をインストールしたらタブレットの傾き検知で縦持ち横持ちに変更することが全く考慮されて無くてUbuntu(GNOME?)の方がさすがの対応力だというのが分かったし、ドック部分の操作も最初に画面左上のアクティビティをタッチしてから操作すればとりあえず問題を回避可能なのがわかった。
GNOMEが悪いんじゃなくてUbuntuが改造した部分が不完全なんだろうな。

LXDでストレージプールの拡張はできない?(追記有り)

2018-10-24 00:28:29 | LXC/LXD,コンテナ,snaps
LXCで動かしてたコンテナをLXD3.0に移してたらdefaultなbtrfsで作ったストレージプールが一杯になってしまった。
なので拡張する方法がないかググったんだが、zfsの場合しかできないみたい。Xenの場合は/dev/nullで作成したファイルを結合して領域を拡げるって面白い方法が見つかったんだけど、同じような方法は使えないのだろうか?

まあcopy時にprofileやconfigを指定できたようなんで、別なストレージプールを指定してcopyすれば良かった話だけど。
異なるストレージプール間でコンテナの移動が簡単にできないのだろうか?
LXD>ニュースにLXD3.2で「ストレージプール間のコンテナのコピーと移動ができるようになりました」と書かれてあるんだけど、やり方が書かれてないし、そもそも今現在はsnap版じゃないんでLXD3.0だし。

とまあググってたら、拡張とは関係ないけどここ見たらコンテナ間で同じストレージを使える(Sharing custom storage volumes between containers)のがわかった。
もしかして、うまく設定すればデータベースのデータだけ異なるコンテナとか作れるかな?

追記:
確かこれ書いた時は書かれてなかったと思うけど、LXDドキュメント翻訳プロジェクトのストレージのページでbtrfsの拡張の仕方が書かれてた。
該当箇所に直リンできなくて、短いので以下コピペ
ーーー
LXD では、ループバックデバイスの btrfs プールを直接は拡張できませんが、次のように拡張できます:
sudo truncate -s +5G /var/lib/lxd/disks/<POOL>.img
sudo btrfs filesystem resize max /var/lib/lxd/storage-pools/<POOL>/
ーーー

不覚にもSSHのリバーストンネル機能を知らなかった

2018-10-23 00:18:28 | Ubuntu Linux
リモートメンテするのに相手先のルータにアドレス変換(ポートフォワーディング)設定をしてsshを使ってた。
しかし、これだと回線変更でルータが変わった時などにいちいち設定をしなきゃいけなくて、面倒くさいしルータの設定に責任が発生してしまう可能性があるなと思っている。
なのでNAT越えのためにssh以外でTeamViewerとかPacketiXを検討するしかないかと、ちらほらチェックしていた。
しかしTeamViewerってやはり中継サーバーで漏洩とかあったし、中継サーバーにアカウント作るのもなあって感じ。

そしてたまたまSyncthingというp2pで中継サーバー要らずな同期ソフトを知った。(今更だったりするかもだけど。)
まあ結局インターネット経由の場合は中継サーバーが要るわけだけど、まあ自前サーバー立てたりできるようだし面白いなと。

なのでp2pなssh無いかな?とググったらありました。そのものずばりssh-p2pってのが。
こっち見るとWebRTC使って簡単にp2pできるっていう実験用みたいな感じなので、すっごい興味深くて面白そうなんだけどメンテナンスされないような気がするので、ずっと使っていくのは厳しそうな気が。

そしてこっちの質問サイトを見てみると、現在p2pじゃなくて「reverse tunnel feature of OpenSSH」を使っていると書かれていたので、sshのリバーストンネル仕様ってなんじゃあ!?って調べてみると、sshのRオプションのことだった。

以前、リモート先のVNCサーバにssh経由で繋ぐのにLオプションを知り、その時にLの逆でRオプションというのがあるのはわかっていたんだが、まさか欲しかった機能だったとは気付かなかった・・・。
これを使えば自分側のルータのアドレス変換の設定だけ気を使えばいいよなあ。
sshなら新たに操作や設定を覚える必要もないのでありがたい(^_^)。

L/Rオプションは、ここにある落書きみたいな図がイメージつかみやすい(のか?)。

続)LXC-to-LXDしたいのだが

2018-10-22 19:31:13 | LXC/LXD,コンテナ,snaps
注:LXD3.3からlxc-to-lxdがgo言語で描き直しされて、lxd-p2cと同様にコンテナを転送できるようになってた。以下は古いlxc-to-lxdの話。

hostA(Ubuntu14.04)のLXC2.0コンテナをhostB(Ubuntu18.04)のLXD3.0コンテナに移行したい。
hostAの空き容量不足でLXC-to-LXDが無理そうなのでlxd-p2cを使おうとしたのだが、失敗したので結局LXC-to-LXDを使うことにした。
32GBのUSBメモリが800円だったので買ってあったのを思い出したので、hostAのLXCコンテナ(/usr/lib/lxc)をtgzにまとめてUSBメモリに保存した。そして一部のコンテナを削除してLXDコンテナ用の空き容量確保した。容量食ってたのはVirtualBoxのイメージだったのでそっちをバックアップした方が速かった気がするが、USBメモリがfatで4GB以上のファイルが保存できないという今時こんなことがあるんだなという原因によりコンテナの方をバックアップした。まあ外付けHDDつければ良かったんだが・・・。

LXC-to-LXDするのにLXDが必要なので、hostAにバックポートからLXDを入れる。
hostA# apt install -t trusty-backports lxd lxd-client
hostA# lxd --version
2.0.11
hostA# lxc-ls --version
2.0.8
hostA# ./lxc-to-lxd conA
コンフィグファイルに使われなくなったオプション等が指定されているとエラーで失敗するので、/var/lib/lxc/conA/configの該当箇所を#でコメントアウトするとうまく行った。
それと、案の定overlayfsを使ったコンテナはうまく行かないので、lxc-cloneでoverlayfsを使わないコンテナを作成した方が良さそう。(未実行)
hostA$ lxc list
+------+---------+------+------+------------+-----------+
| NAME |  STATE  | IPV4 | IPV6 |    TYPE    | SNAPSHOTS |
+------+---------+------+------+------------+-----------+
| conA | STOPPED |      |      | PERSISTENT | 0         |
+------+---------+------+------+------------+-----------+

最初hostA(LXD2.0)からhostB(LXD3.0)に対してlxc copyしようとしてたがうまく行かなったんで、逆にhostBからhostAのコンテナに対してlxc copyしたらコピーできた。(追記:copyはデフォルトのモードがpullなせいだったかも)
hostA$ lxc config set core.trust_password hoge
hostA$ lxc config set core.https_address "[::]:8443"
hostB$ lxc remote add remoho 192.168.0.xx
証明書のフィンガープリント: fe4d61〜(略)〜a1cf9d6b
ok (y/n)? y
remoho の管理者パスワード: 
クライアント証明書がサーバに格納されました:  remoho
hostB$ lxc copy remoho:conA

しかし起動失敗(@_@)
hostB$ lxc start conA 
Error: Missing parent 'lxcbr0' for nic 'convert_net0'
更に情報を得るために `lxc info --show-log conA` を実行してみてください

メッセージ通りにコマンド試すがありがたい情報は特になし。
とりあえず/var/lib/lxd/storage-pools/default/containers/conA/backup.yamlの該当箇所をviでlxcbr0からlxdbr0に変えてみたがエラーに変更なし。

結局、
hostB$ lxc config device show conA 
convert_net0:
  hwaddr: 00:16:3e:c9:8d:a8
  nictype: bridged
  parent: lxcbr0
  type: nic
eth0:
  type: none
root:
  path: /
  pool: default
  type: disk
と出てくるので、これを変更する必要がある。
hostB$ lxc config device get conA convert_net0 parent
lxcbr0
hostB$ lxc config device set conA convert_net0 parent lxdbr0
hostB$ lxc config device show conA 
convert_net0:
  hwaddr: 00:16:3e:c9:8d:a8
  nictype: bridged
  parent: lxdbr0
  type: nic
eth0:
  type: none
root:
  path: /
  pool: default
  type: disk

これで動いた!
それにしても、どこにconfigがファイルとして保存されてるんだろ。

AndroidアプリのtermuxでUbuntuを使えるようにする(追記あり

2018-10-18 18:17:41 | Ubuntu Linux
2022年5月17日追記)何故かPC WatchにTermuxとUbuntu22.04のインストール記事が掲載された。

Androidアプリのtermuxでubuntu環境を入れられるようなのでやってみる。
既にDebian norootも入れてるZenfoneZoomに、GooglePlayからtermuxを入れ起動。
そして上のリンク先のコマンドをコピペで実行するがwgetに失敗する。wgetが何故かインストールされない。
手入力でwgetだけインストールしようとしたり悪戦苦闘してようやく入ったんだが、今度は何故かbusyboxのwgetが動きubuntu.shを取得できない。
一旦termuxを終了させて再起動してやっとubuntu.shをゲット。
ubuntu.shを実行して環境を作り、さあstart-ubuntu.shでubuntuを起動するぞーとやってみたらprootが無いと。
pkg install prootでインストールして今度こそと思ったが動かず。/usr/bin/envが無いと出てたかな。
lsでubuntu-fs/見ると何もなくてubuntu.tar.gzというファイルがあったので、tar ztvf ubuntu.tar.gz usr/bin/envしたらあったので、これをubuntu-fs/に展開してやり直すとエラーは出たがプロンプトが変わったので動いたのがわかった。
$ ./start-ubuntu.sh
groups: cannot find name for group ID 1015
groups: cannot find name for group ID 1028
groups: cannot find name for group ID 3003
groups: cannot find name for group ID 9997
groups: cannot find name for group ID 50144
root@localhost:~#
しかしコマンドも普通に使えるようなんだが、apt updateでエラーが出る。ネットワークがおかしいのかとpingとかipで確認しようとしてもコマンドがない。
インストールしようとしてもできないのでネットワークがおかしいんだろうけど調査のしようもないという状態にハマってしまった。
stubsブランチの方にあるubuntu.shだと上記groupsエラーが出なかったので、
    stubs=()
    stubs+=('usr/sbin/groupadd')
    stubs+=('usr/sbin/groupdel')
    stubs+=('usr/bin/groups')
    stubs+=('usr/sbin/useradd')
    stubs+=('usr/sbin/usermod')
    stubs+=('usr/sbin/userdel')
    stubs+=('usr/bin/chage')
    stubs+=('usr/bin/mesg')
    for f in ${stubs[@]};do
        echo "Writing stub: $f"
        echo -e "#!/bin/sh\nexit" > "$f"
    done
をやればいいみたい。

というわけでこれ以上の深追いは諦めて、GalaxyS8にtermuxでubuntu環境を入れた人を発見していたのでそれを参考にしてインストールした。
Lazymuxというのが何かよくわからないが、とりあえず便利そうでサクッとインストールでき、ubuntuが動いた。groupsのエラーも同様に出る。
インストール中のメッセージを見ると"fixing nameserver, otherwise it can't connect to the internet"と出てたんで、うまく行かなかったのはおそらくそれっぽいけど何でそんなことになったんだか。
それにしてもこっちのubuntu環境もネットまわりのツールが入ってなかった。って、全く同じtarファイルを取得しているようなんでそりゃそうなんだが。
とりあえずapt install iputil_ping net-toolsでpingとifconfigを使えるようにした。

snapdが使えないかapt installしてみたら以下のエラー。
Cannot open audit interface - aborting.
addgroup: `/usr/sbin/groupadd -g 101 systemd-journal' returned error code 1. Exiting.
dpkg: error processing package systemd (--configure):
installed systemd package post-installation script subprocess returned error exit status 1
Errors were encountered while processing:
systemd
E: Sub-process /usr/bin/dpkg returned an error code (1)

Termux上で以下を実行したら、どうやらAndroidが32bitなようだ。Atom Z3580は64bitだと思うのに、これはがっかり。
$ dpkg --print-architecture
i686

いやunameだとx86_64なのでtermuxがi686なのか?
$ uname -a
Linux localhost 3.10.20-x86_64_moor-gdae716e #1 SMP PREEMPT Fri May 20 20:19:04 CST 2016 x86_64 Android

というわけで、amd64をダウンロードするようにubuntu.shを書き換えてやってみた。
するとprootが32bitだから64bit版はこっちからダウンロードしてと出たので、ダウンロードしようとしたらサイトが乗っ取られてて64bit版prootバイナリがないのだが・・・。

intel insideなAndroid機でWindowsのソフトを動かす

2018-10-16 15:53:25 | パソコン/マイコン全般
GalaxyS8にLinux環境をインストールしようか考えている時に、CPUがintelのスマホ版Atom(?)なZenfone ZoomにDebian noroot入れればWINE(Windowsエミュレータ)でWindowsアプリが使えたりして?と思ったのを思い出した。

Debian norootは公式ではAndroid6以降じゃ動かないので、この時のためにZenfone Zoomはバージョンアップしないでおいた。
intelなAtomCPUだけどDebian norootは動くのかな?と思わなくもなかったけど無事動いた。
uname -aするとx86_64の文字があるんでarmエミュレーションみたいなことじゃなく、普通のintelPCとして動いている。
ということでapt install wineでWINEをインストールしてwine notepad.exeでメモ帳が動いた。解像度がFHDなんで文字が小さすぎて見えなかったりする。

とりあえず普通にWINEで動作するWindowsソフトが使えそうなのがわかった。
まあ日頃からWindowssソフトとか使わないのでこれ以上は追わないでおく(汗;)。

Debian norootのDebianのバージョンがjessieじゃなくstretchならsnapdやLXDをインストールして色々試したいのだが、どうもjessieじゃすんなり動かないようなのでやめとく。どうせchroot環境じゃ動かないような気もするので。
Debian norootの次はtermuxにubuntu環境があるようなんで、それでsnapdやLXDが動くか試そうかな。

SG116jにUbuntu18.04を入れる

2018-10-12 23:27:49 | Ubuntu Linux
SG116jというビック通販で買ったノートPCはメモリ4GB,eMMC(ストレージ)64GBなのでUbuntuLinuxとWindowsのデュアルブートで使えるだろうと思いインストールした。
その前にUbuntu18.04インストーラが起動するかを確認するとどうも反応がおかしかった。なのでまずはCPUが同じCherryTrailなWDP121にUbuntu18.04をインストールして、大丈夫だろうということでインストール決行。

インストーラはWDP083にUbuntu18.04をインストールした時に作成したもの。
ほぼWDP121と同様にインストールしたが、有線LANアダプタは使用せずにあらかじめUSBメモリ(microSDでもいいか)にbrcmfmac43455-sdio.txtを入れておいてインストール時点でWiFiでネットできるようにした。
# cp brcmfmac43455-sdio.txt /lib/firmware/brcm/
# modprobe -r brcmfmac
# modprobe brcmfmac

Ubuntuに割り当てる領域は20GBにしたかったが、Windowsの空き容量を考えて結局16GBにした。
音が鳴らない以外は今んとこ不満はない。
WDP083,WDP121のキーボードと違って'|'(パイプ)の入力ができるのがうれしい。WDPだと、いちいち日本語入力にして「たてぼう」で変換してるからなあ。

サウンドはblacklistに追加しても音はならなかった。う〜ん。
# echo 'blacklist snd_hdmi_lpe_audio' >> /etc/modprobe.d/blacklist.conf
まあAbemaとか見る時はWindows開けばいいか。