第646回ではIoTデバイス用のプラットフォームとして利用されているUbuntu Coreの基本的な使い方を,
KVM版のUbuntu Coreの使い方
前回までと異なり,
後半で説明するイメージの作成方法はKVM版とRaspberry Pi版で違いはありません。異なるのは指定するカーネル等のsnapファイルの名前だけです。では,
本記事の手順に従ってカスタムイメージの作成方法を把握したあとは,
- PCからSDカードにカスタムイメージを書き込む
- Raspberry PiにSDカードを取り付ける
- Raspberry Piを起動する
- ディスプレイとキーボードを操作し,
初期セットアップを行う - SSH経由でログインし,
イメージの内容が正しいことを確認する - SDカードを取り外し,
PCに接続する - 最初に戻る
要するにイメージを作ったあとのステップがとても煩雑なのです。特に最近のRasypberry PiはSDカードスロットのスプリングロックがなくなったので,
本当に簡単に壊れてしまいます
- ※1
- 念のためお伝えしておくと,
「ここ一週間ほど話題」 になっていたのは, SDカードスロットの物理的な耐久性ではなく, SDカードそのものの電気的な耐久性の話です。上記画像のような結果になるのは単に優しさが足りないだけです。
いずれにせよトライアンドエラーをするなら,
まずはKVM版のUbuntu Coreの起動手順を紹介しましょう。特別なことは特になく,
$ sudo apt install qemu-kvm $ kvm-ok INFO: /dev/kvm exists KVM acceleration can be used $ sudo adduser $USER kvm
kvmグループへの参加を反映するために,
KVM環境が用意できたらUbuntu Coreのイメージをダウンロードし,
$ wget https://cdimage.ubuntu.com/ubuntu-core/18/stable/current/ubuntu-core-18-amd64.img.xz $ unxz ubuntu-core-18-amd64.img.xz $ cp ubuntu-core-18-amd64.img{,.bak}
上記のようにイメージのバックアップを取っておけば,
$ kvm -smp 2 -m 1500 -netdev user,id=mynet0,hostfwd=tcp::8022-:22 \ -device virtio-net-pci,netdev=mynet0 -nographic \ -drive file=ubuntu-core-18-amd64.img,format=raw
今回はUbuntu CoreにSSHログインすることを想定してゲストの22番ポートをホストの8022番ポートに転送しています。たとえばNextcloudをインストールするなら,hostfwd=tcp::8022-:22,hostfwd=tcp::8090-:80
」
GUIは使わないので-nographic
」-nographic
」-vga qxl
」
- ※2
- さらに第595回の
「リモートデスクトップのためのSPICEクライアントあれこれ」 で紹介しているSPICEクライアントと組み合わせれば, リモートデスクトップ的な使い方も可能です。
いずれにせよ上記でUbuntu Coreを起動したら,Press enter to configure.
」
セットアップが完了したら,
$ ssh -p 8022 <Ubuntu SSOのユーザー名>@localhost
仮想マシンインスタンスはSSHログインしてshutdown
コマンドを実行するか,pkill
コマンドで,
ちなみにKVMを起動したターミナルはGRUBメニューを表示する際に,reset
コマンドを引数なしで実行してください。