ジャンル不定の日記です。

SheevaPlug届いてからの作業をまとめる

SheevaPlug届いてからやった作業をまとめとく。

大目的はNFSサーバー。

まず、シリアルコンソールでつないで作業。
SSHは標準で入ってたと思うから、ブートローダの編集作業以外はシリアルじゃなくても出来るかもしれない。
SSHでrootログイン試してないけど。
シリアルコンソールは、メイン機のUbuntuにscreenが最初から入ってたので、それを利用。

scrennは、
screen /dev/ttyUSB0 115200
こんな感じで。
参考にした先人のページだと、/dev/ttyUSB0ではなかったんで、人によって違うぽい。
母艦にUSBつけて出てきたデバイスで接続する。

ブートローダは、3秒待ちでkernel起動するので、なにかキーを押してキャンセルすると、
Marvell>>
というU-Bootのプロンプトになる。
もしすでにkernelが起動しちゃってたら、ログインしてrebootする必要があるが、
rootの初期パスワードはnosoup4uになってる。

U-Bootのコマンドはたくさんあるが、とりあえず、
コマンド
説明
?
コマンド一覧の表示
boot標準設定でkernel起動
reset
再起動
printenv環境変数確認
setenv環境変数設定
saveenv環境変数保存
辺りを使う。

U-Bootの書き換えをしている先人たちも多いようだが、
万が一トラブったら修復困難と思われるので、やらなかった。
今後も必要がなければやらない。
環境変数の保存も、シリアル関連とかミスったら修復困難になるんじゃないかと思うんで、あまり触らないことにする。

とりあえず、
printenv
で環境変数を確認して、メモ。
Marvell>> printenv
baudrate=115200
loads_echo=0
rootpath=/mnt/ARM_FS/
console=console=ttyS0,115200 mtdparts=nand_mtd:0xc0000@0(uboot)ro,0x1ff00000@0x100000(root)
CASset=min
MALLOC_len=1
ethprime=egiga0
bootargs_root=root=/dev/nfs rw
bootargs_end=:::DB88FXX81:eth0:none
image_name=uImage
standalone=fsload 0x2000000 $(image_name);setenv bootargs $(console) root=/dev/mtdblock0 rw ip=$(ipaddr):$(serverip)$(bootargs_end) $(mvPhoneConfig); bootm 0x2000000;
ethmtu=1500
mvPhoneConfig=mv_phone_config=dev0:fxs,dev1:fxs
mvNetConfig=mv_net_config=(00:11:88:0f:62:81,0:1:2:3),mtu=1500
usb0Mode=host
yuk_ethaddr=00:00:00:EE:51:81
nandEcc=1bit
netretry=no
rcvrip=169.254.100.100
loadaddr=0x02000000
autoload=no
ethact=egiga0
filesize=202588
fileaddr=2000000
netmask=255.255.255.0
ipaddr=10.4.50.4
serverip=10.4.50.5
tun_diag=yes
run_diag=no
bootargs=console=ttyS0,115200 mtdparts=nand_mtd:0x400000@0x100000(uImage),0x1fb00000@0x500000(rootfs) rw root=/dev/mtdblock1 rw ip=10.4.50.4:10.4.50.5:10.4.50.5:255.255.255.0:DB88FXX81:eth0:none
bootcmd=nand read.e 0x800000 0x100000 0x400000; bootm 0x800000
ethaddr=F0:AD:4E:00:BB:59
stdin=serial
stdout=serial
stderr=serial
mainlineLinux=no
enaMonExt=no
enaCpuStream=no
enaWrAllo=no
pexMode=RC
disL2Cache=no
setL2CacheWT=yes
disL2Prefetch=yes
enaICPref=yes
enaDCPref=yes
sata_dma_mode=yes
netbsd_en=no
vxworks_en=no
bootdelay=3
disaMvPnp=no
enaAutoRecovery=yes

Environment size: 1374/131068 bytes
こんな感じ。

bootコマンドやresetでkernelを起動。
上にも書いたが、rootの初期パスワードはnosoup4uになってる。
起動時にはエラーや警告もいくつか出るはず。
ログイン画面のあとにメッセージが出てきて
login:
が流されちゃうが、Enterすればまた表示される。

うちはルーター使ってるから、ルーターがDHCP鯖になってるんで、
IPアドレスはDHCPで設定。
SheevaPlugも最初からDHCPクライアントとしてネットワーク起動するようになってるので、
ネットワークは最初から使える。
だが、DNSが固定されていてドメインが使えない。
/etc/dhcp3/dhclient.conf
の、
supersede domain-name-servers 127.0.0.1;
って行をコメントアウトしてreboot。
適当にドメイン宛にpingして確認。

インストールされているUbuntuは9.04だが、
9.04はすでにサポート切れで、リポジトリがold-releases.ubuntu.comに移動している。
/etc/apt/sources.list
を、
#deb http://ports.ubuntu.com jaunty main restricted universe multiverse
deb http://old-releases.ubuntu.com/ubuntu/ jaunty main restricted universe multiverse
に変更。
また、apt-getする際に、ディレクトリが存在しないって怒られるので、
mkdir /var/cache/apt/archives
mkdir /var/cache/apt/archives/partial
で作成。
apt-get update
とかで確認。
apt-get upgrade
もここでしちゃっていいかもしれない。

カーネルを、コミュニティーサイトのやつに更新する。
標準のカーネルはNFSに対応していないと思うので、
NFSするならカーネルの更新は必要と思う。

http://sheeva.with-linux.com/sheeva/
にSheevaPlug用のカーネルが用意されているが、
インストーラまで用意されてる。
README-PLUG-UPDATE.sh
がインストーラになってる。
これを用意して、
USBメモリに保存。
USBメモリは通常FATでフォーマットされていると思うが、
FATだと難しいと思うのでext3でフォーマットした。
USBメモリをSheevaPlugにつないで、
/dev/sda1
になると思うので、
mkdir /mnt/usb
mount -t ext3 /dev/sda1 /mnt/usb
でマウント。
cd /mnt/usb
chmod 0755 README-PLUG-UPDATE.sh
README-PLUG-UPDATE.sh
を実行できるようにパーミッション変更。

README-PLUG-UPDATE.sh
でカーネル更新だが、
必要なwgetがインストールされてない。
apt-get install wget
でwgetインストール。

README-PLUG-UPDATE.sh
は、引数二つで、
1個目がカーネルバージョン。
2個目が--nandkernelか--rootkernel。
内蔵フラッシュを書き換える場合は--nandkernel。
カーネルバージョンは、
http://sheeva.with-linux.com/sheeva/
で公開されているものを選べる。
2.6.39.4
を入れたんで、
./README-PLUG-UPDATE.sh 2.6.39.4 --nandkernel
でカーネル更新。
万が一更新中にエラーが出たら、
カーネルが起動できなくなってめんどいと思うので、
成功するまでがんばる。
停電にも注意。

README-PLUG-UPDATE.sh
に記載されているが、
新しいカーネルにした場合は、U-Bootの環境変数を変更する必要がある。
rebootしてU-Boot画面にして、
setenv mainlineLinux yes
setenv arcNumber 2097
setenv bootargs rootfstype=jffs2 console=ttyS0,115200 mtdparts=orion_nand:0x400000@0x100000(uImage),0x1fb00000@0x500000(rootfs) rw root=/dev/mtdblock1
saveenv
reset
で新カーネル起動。

Linux側も、
/etc/sysctl.d/10-process-security.conf
を、数字部分を32768にしないとリモートからroot以外のユーザーログインできない様なので変更。
変更したら、
adduser ユーザー名
で一般ユーザを作って、一般ユーザのログインを確認。

SSHは最初からインストールされているが、
シリアルコンソールよりも、一般ユーザーでSSHログインしてsudoのが操作しやすいと思うので、
visudo
で、
ユーザー名 ALL=(ALL) NOPASSWD: ALL
で、sudo出来るように設定。(パスワード不要設定)
/etc/hosts

127.0.1.1
にホスト名が設定されてないとsudoできないようなので、
127.0.1.1 debian
とする。

起動時に /etc/rc.localが余計なことをしているようなので修正。
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
#insmod /boot/fat.ko
#insmod /boot/vfat.ko
mkdir -p /var/cache/apt/archives/partial
#/root/discoverd
#cd /
#./demo.sh
#date 012618002009
#hwclock -w

exit 0
こんな感じに。
普通のUbuntuだと、
最後のexit 0しかないが、
/var/cache/apt/archives/partial
が起動時に作成しないと消えてaptが使えないようなので、
mkdir -p /var/cache/apt/archives/partial
は必要ぽい。

時計が日本のローカル時間になってないので、
locale-gen ja_JP.UTF-8
echo 'LANG="ja_JP.UTF-8"' > /etc/default/locale
dpkg-reconfigure tzdata
で、Asia→Tokyoってすると日本時間になる。

SDカードをNFSの共有ストレージにするが、
SDカードの1番目のパーティションは/dev/mmcblk0p1になると思うので、
sudo mkdir /mnt/sd
sudo mount -t ext3 /dev/mmcblk0p1 /mnt/sd
で、マウントポイント作ってマウント確認。
確認できたら、
/etc/fstab
を、
/dev/mmcblk0p1 /mnt/sd ext3 defaults 0 0
な感じで、起動時自動マウント。

NFSサーバーは、
apt-get install nfs-kernel-server
でインストールできるが、
コミュニティーサイトのカーネルはNFSはモジュールでサポートなので、
起動スクリプトのカーネルチェックで失敗するんで、
/etc/init.d/nfs-kernel-server
の70行目付近の、
        if [ -f /proc/kallsyms ] && ! grep -qE 'init_nf(sd|    )' /proc/kallsyms; then
            log_warning_msg "Not starting $DESC: no support in current kernel."
            exit 0
        fi
の部分4行をコメントアウトする。

/etc/exports
でNFSサーバーの設定。
/mnt/sdを192.168.1.0/255.255.255.0で共有するので、
/mnt/sd 192.168.1.0/255.255.255.0(rw,no_subtree_check)
な感じにした。
IP(ホスト名)の後ろに()で囲んでオプションを付けるが、
()の前に不要なスペースをつけるとオプションが無効になるので注意。
no_subtree_check(又はsubtree_check)
は、付けないと警告が出る。

で、再起動でエラーがでなければNFS鯖は成功。

NFSクライアントの方もUbuntuだが、
初期状態でNFSクライアントが入ってなかったんで、
nfs-commonをインストールした。
sudo mkdir /mnt/nfs
sudo mount -t nfs 192.168.1.23:/mnt/sd /mnt/nfs
マウントポイントを作ってマウント。
IPはうちの。

fstabの自動マウントは、
192.168.1.23:/mnt/sd /mnt/nfs  nfs defaults 0 0
とりあえずこんな感じにした。
192.168.1.23:/mnt/sd /mnt/nfs  nfs rsize=8192,wsize=8192,hard,intr 0 0
こんな感じに修正した。
rsizeとwsizeは読み込みと書き込みのバッファ。
カーネル依存で標準は1024ぽいが、大きいサイズが設定できるなら速度が向上するらしい。
hardは、書き込みが成功しない場合、クライアントは停止するので、書き込み失敗がない。
intrは、hardでの書き込み失敗時にアプリケーションにシグナルを送って永久停止を回避する。

NFS接続できたー

目的としていたNFSの接続できました。

メイン機とノートをクライアントにするわけだが、とりあえずメイン機で。
まず、マウントポイントを作成。
sudo mkdir /mnt/nfs
で、鯖の/mnt/sdのSDカードをストレージとするんで、
sudo mount -t nfs 192.168.1.23:/mnt/sd /mnt/nfs
でマウントなんだが、(IPは自分の)
ファイルタイプが不正って言われる。
標準でNFSクライアント入ってないらしい。
nfs-commonをSynapticでインストール。
で、もっかいマウントしたら成功。
ユーザー権限で編集もできました。

NFSのユーザーは、ユーザーIDで識別されるらしいんで、
共有する端末のユーザーIDを全て統一しておけばいいらしい。
Ubuntuは一人目の一般ユーザーは1000になるはず。
全機一人用だから最初から多分統一されてる。

fstabも設定してみたが、
192.168.1.23:/mnt/sd /mnt/nfs  nfs defaults 0 0
とりあえずこんな感じで。
オプションあとでいじるかもしれない。



fstabでSD自動マウント

テスト用のSDカードは64MBしか無い年代物で、
新しい32GB注文してるわけだが、
デバイス名は変わらんはずだし、
fstab設定しといていいかな。

ってわけで、設定。

すでにマウントポイントとして、/mnt/sdは作成済みだが、無いなら、
sudo mkdir /mnt/sd
で作成。
sudo mount -t ext3 /dev/mmcblk0p1 /mnt/sd
でマウントテスト。

/etc/fstabの方は、
/dev/mmcblk0p1 /mnt/sd ext3 defaults 0 0
を1行追加。
マウントできて、問題なさそう。

nano

LinuxのCUIテキストエディタは、いつも普通にvi使ってたが、
どうもSheevaPlugで使いにくかったんで、nanoっての試してみたんだが、
これいいな。
エディタコマンド使わずに、GUIエディタ感覚で使える。

コマンドはショートカットで使えるが、
保存は、
Ctrl+X
で終了するときに変更されてれば保存するか聞かれるからyすればいいだけ。

今度からviじゃなくてnano使おうと思う。

NFSサーバーインストール

NFSサーバーのインストールは、
aptでnfs-kernel-serverを入れればいいだけなんだが、
* not starting nfs kernel daemon: no support in current kernel.
言われて起動に失敗する。

kernelコンパイルしなきゃダメかと思ってgcc入れたりして、
内蔵フラッシュ4%ほど消費しちゃったんだが、
コミュニティーサイトから落としたkernelはモジュールでNFSサポートしてるんで、
/etc/init.d/nfs-kernel-server
の70行目付近の、
        if [ -f /proc/kallsyms ] && ! grep -qE 'init_nf(sd|    )' /proc/kallsyms; then
            log_warning_msg "Not starting $DESC: no support in current kernel."
            exit 0
        fi
をコメントアウトしてkernelのチェックをスキップすれば、
kernelコンパイルしなくてもNFS起動できるみたい。

NFSサーバー設定の、/etc/exportsも設定する必要があるが、
/home 192.168.1.0/255.255.255.0(rw,no_subtree_check)
とりあえず起動テストだけの適当設定だが、こんな感じ。
注意点は、設定方法調べると、
IP(ホスト名)の後ろにオプションをつけるわけだが、
(の前にスペースいれちゃダメらしい。
ダメ設定教えてるサイトが多くて困る。
あと、
no_subtree_check(subtree_checkでもいいはず)
を付けないと警告出る。

とりあえず、これで警告でなくなった。
(NFS以外にまだ一箇所起動時に警告出てる)

まだ実際のマウントは試してない。
共有ストレージにするつもりのSDカードは注文した。



sudoできるように

sudoできるようにvisudoでユーザー設定したが、sudoできねえ・・・

けど、解決した。
/etc/hosts

127.0.1.1
に端末のhost名を設定すればいいみたい。
ホスト名解決ができないとsudoできないらしい。

SSHとユーザー追加

nfsの前に、まずsshだな。
ってわけだが、
rootでログインすんのもどうかだし、ユーザー追加・・・

ってわけなんだが、
adduserで追加してもログインしてもすぐ切断されちゃう・・・

ってわけでハマったが、
/etc/sysctl.d/10-process-security.conf
の数字部分を、32768にしないとリモートからユーザーログインできない?
設定したら入れた。

SSHはとりあえず接続できる。
パスワードめんどいから、公開鍵認証にしたいところだが、めんどいからこんどでいいや。
先に、追加したユーザーでsudoできるようにだな。

SheevaPlug届いた

やっとSheevaPlug届きました。

マニュアルとか入ってないんだね。
公式からドキュメントも落とせないし・・・
先人ページなかったら絶対無理だわw

まあ、まずは、
LANケーブルつなぐ。
USBケーブルつなぐ。
電源ケーブルつなぐ。
で、
母艦のLinuxからシリアル接続。

シリアル端末は、メイン機に最初からscreenって端末が入ってたんで、それ使う。
母艦の/dev見て、ttyUSB0ってのがあったんで、それでやってみたらつながった。
screen /dev/ttyUSB0 115200

U-Bootっブートローダが入ってるが、
ブート画面でキー押してキャンセルして、
Marvell>>
って出る画面で、U-Bootのコマンドが使える。

インストールされてるU-Bootのバージョンは、
U-Boot 1.1.4 (Jul 14 2009 - 06:46:57) Marvell version: 3.4.16
だった。

ブートローダから使えるコマンド一覧は、
?[Enter](help[Enter]でも)
見れる。

boot[Enter]
で起動。
説明書ないから困るが、
初期のrootパスワードがnosoup4u
とりあえずリブート。

Marvell>> printenv
baudrate=115200
loads_echo=0
rootpath=/mnt/ARM_FS/
console=console=ttyS0,115200 mtdparts=nand_mtd:0xc0000@0(uboot)ro,0x1ff00000@0x100000(root)
CASset=min
MALLOC_len=1
ethprime=egiga0
bootargs_root=root=/dev/nfs rw
bootargs_end=:::DB88FXX81:eth0:none
image_name=uImage
standalone=fsload 0x2000000 $(image_name);setenv bootargs $(console) root=/dev/mtdblock0 rw ip=$(ipaddr):$(serverip)$(bootargs_end) $(mvPhoneConfig); bootm 0x2000000;
ethmtu=1500
mvPhoneConfig=mv_phone_config=dev0:fxs,dev1:fxs
mvNetConfig=mv_net_config=(00:11:88:0f:62:81,0:1:2:3),mtu=1500
usb0Mode=host
yuk_ethaddr=00:00:00:EE:51:81
nandEcc=1bit
netretry=no
rcvrip=169.254.100.100
loadaddr=0x02000000
autoload=no
ethact=egiga0
filesize=202588
fileaddr=2000000
netmask=255.255.255.0
ipaddr=10.4.50.4
serverip=10.4.50.5
tun_diag=yes
run_diag=no
bootargs=console=ttyS0,115200 mtdparts=nand_mtd:0x400000@0x100000(uImage),0x1fb00000@0x500000(rootfs) rw root=/dev/mtdblock1 rw ip=10.4.50.4:10.4.50.5:10.4.50.5:255.255.255.0:DB88FXX81:eth0:none
bootcmd=nand read.e 0x800000 0x100000 0x400000; bootm 0x800000
ethaddr=F0:AD:4E:00:BB:59
stdin=serial
stdout=serial
stderr=serial
mainlineLinux=no
enaMonExt=no
enaCpuStream=no
enaWrAllo=no
pexMode=RC
disL2Cache=no
setL2CacheWT=yes
disL2Prefetch=yes
enaICPref=yes
enaDCPref=yes
sata_dma_mode=yes
netbsd_en=no
vxworks_en=no
bootdelay=3
disaMvPnp=no
enaAutoRecovery=yes

Environment size: 1374/131068 bytes
printenvコマンドでU-Bootの環境変数が見れるんで、メモ。
またboot

まず、ルータからIPアドレスは取得出来てるんだが、
DNSからドメインが取得できない。
127.0.0.1
がネームサーバーになっちゃってる。
/etc/dhcp3/dhclient.conf
の、
supersede domain-name-servers 127.0.0.1;
って行をコメントアウトしてreboot。
pingで適当なドメインで確認。成功。

U-Bootはアップデート失敗すると怖いから初期バージョンのままにしておくつもりだが、
kernelはアップデートしたいんだが、
http://sheeva.with-linux.com/sheeva/
↑コミュニティーサイト?
にSheevaPlug用のkernelがたくさんあって好きなバージョンを入れられる。
README-PLUG-UPDATE.sh
が、READMEのくせに.shの実行ファイルになってて、これで簡単にインストール出来るらしい。
モジュールも入れてくれるみたい。

USBメモリをext3でフォーマットして、
README-PLUG-UPDATE.sh
をUSBメモリに入れて、SheevaPlugでマウント。
USBつないだら/dev/sda1がでてきたんで、/dev/sda1がUSBストレージぽい。
mkdir /mnt/usb
mount -t ext3 /dev/sda1 /mnt/usb
マウント成功。

cd /mnt/usb
chmod 0755 README-PLUG-UPDATE.sh
で実行権限付加

で、実行だが、
怪しいもんいきなり実行するのもあれだから、内容確認。
知らないコマンドも入ってるが、204行のシェルスクリプトだからなんとなくわかる。
パラメータ2個で実行して、
1個目のパラメータがカーネルバージョン。
2個目のパラメータが、--nandkernelか--rootkernel
--nandkernelだと内蔵フラッシュのカーネルを更新。
--rootkernelだと実行中カーネルを更新
と思う。
バージョンは2系列で一番新しい、2.6.39.4にした。

と思ったが、実行できない。
wgetがないらしい。
Ubuntu 9.04はリポジトリ移動してるから変更しなきゃいけない。
と思ったが、apt-cache search wgetでコマンド通るね。
けど、apt-get install wgetでエラー。
/var/cache/apt/archives
がないって怒られる。
mkdir /var/cache/apt/archives
さらに、
/var/cache/apt/archives/partial
がないって怒られる・・・
mkdir /var/cache/apt/archives/partial

で、今度はapt-getできたんだが、
やっぱリポジトリつながらねえわw
apt-cacheはリポジトリつながないんだね。
/etc/apt/sources.list
が、
deb http://ports.ubuntu.com jaunty main restricted universe multiverse
ってなってるのを、
#deb http://ports.ubuntu.com jaunty main restricted universe multiverse
deb http://old-releases.ubuntu.com/ubuntu/ jaunty main restricted universe multiverse
に変更。
apt-get update
で接続成功。
apt-get install wget
でwgetインストール。

./README-PLUG-UPDATE.sh 2.6.39.4 --nandkernel
でカーネルアップデートして、
READMEに書いてあるが、
U-Bootの設定変更しなきゃいけないらしいんで、
setenv mainlineLinux yes
setenv arcNumber 2097
setenv bootargs rootfstype=jffs2 console=ttyS0,115200 mtdparts=orion_nand:0x400000@0x100000(uImage),0x1fb00000@0x500000(rootfs) rw root=/dev/mtdblock1
saveenv
reset
で変更して再起動で、起動成功。
nfsマウント?の謎のIPとか付いてたのは要らなそうだから削除。
uname -a
でカーネル確認。
新しいのになってた。

起動時に余計なことしてるみたいで、
/etc/rc.local

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
#insmod /boot/fat.ko
#insmod /boot/vfat.ko
mkdir -p /var/cache/apt/archives/partial
#/root/discoverd
#cd /
#./demo.sh
#date 012618002009
#hwclock -w

exit 0
な感じに変更。
母艦だと、
exit 0
しかないんだが、
さっきmkdirした、
/var/cache/apt/archives/partial
がなくなってた。
dfでtmpfsなってるけど、tmpfsはRAMなんだな。
起動時にfatのエラーが出てたが、このファイル変更で消えた。

あとは、起動時に、
Starting kernel log daemon
ってエラー出るんだが、とりあえず後回し。

時刻が日本時間になってなかったんで設定。
langage-packはaptでインストール出来なかった。
locale-gen ja_JP.UTF-8
echo 'LANG="ja_JP.UTF-8"' > /etc/default/locale
dpkg-reconfigure tzdata
でAsia→Tokyoってすればいいらしい。
ローカル時間に変わった。
/etc/ntp.conf
がなかったんだが、サーバー設定しなくても、
ntpdateするとき
ntpdate  ntp.nict.jp
ってすればいいかな。


とりあえずここまでにしとく。
あとでまた続き。
nfsをやりたい。



RAYTHORフリント式パイプ用ガスライター



ヤスリ縦回転のパイプ用ガスライター
昔のフリント式100円ライターに近い形状で、
火が斜めに出て、ガス注入式のライターです。


フリント式ガスライターは、横回転の物ばっかだが、
左右反対ならいいと思うんだが、
どれも左利き用しかなく使いにくい。

電子式ライターは半年もすればカチカチに寿命が来ちゃうが、
サロメPSP3に使える長さのカチカチが最近入手しにくいみたいで、
自力修理も難しくなってる感じ。

ってわけで買いました。


これも注入口は共用ボンベサイズの100円ガスで入ったが、
やっぱ漏れる。
最初に買ったJOBONは完全フィットだったんだが、
それ以外は手持ちライター全部漏れちゃう。

使いやすさは今のところ予定通り。
斜めってよりも真横に火が出て欲しかったものだが、まあ問題なさそう。