トップ «前の日記(2018-12-30(Sun)) 最新 次の日記(2019-01-04(Fri))» 編集

屑俺日記

僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。


2019-01-03(Thu) 2日ばかりすったもんだ

Debian PPC on QEMU

なんとなくインストールしたくなった。
Big Endian なシステムの動態保存くらいしか目的はないのだけど。

PPCで手軽に入手可能なのはやはりDebian/powerpcか。 Stretchは サポートを打ち切られている(現時点で日本語に訳されてないが)ので、Jessie。

Debian 9 regrettably removes support for the following architecture:
 
PowerPC (powerpc)

年末、でなく年初にに ディスクイメージを入手。細いテザリングで3.7GB落とすのに 4時間ほどかかってしまったはずだ。

インストール手法で 参考にしたサイト
間違ってるのはCD Imageの入手先(過去においては正しかったかも)と、 QEMUの起動オプションが-norebootでなく -no-rebootだった程度。

どうせ仮想マシンにするなら、powerpc以外でもよかったかしら。
Debian StretchにはBig Endianなアーキテクチャはなさげだが。

ブートローダーのインストールに失敗。grubもquikもうまくできず。
起動はできても、その先は色々。

ちゃんとドキュメントを読み直して

Debian PPC の起動と、ssh接続に成功。
ただし、ドキュメント通りでもうまくいかない箇所はあった。

vmliuxとinitrdをqcow2からホストにコピーするために、 別途rawディスクイメージを作成し、-hdb オプションに ファイル名を添えておく。
起動したらそちらの内部でパーティションを切り、 ファイルをコピーしてシャットダウン。
ディスクイメージはkpartxで難なくマウントと。

起動方法はドキュメントとほぼ同じ。
hdbとcdimageを追加しておく。

#!/bin/sh
qemu-system-ppc \
        -m 1024 \
        -hda ./powerpc32.img \
        -hdb ./hdb.img \
        -initrd initrd.img-3.16.0-6-powerpc \
        -kernel vmlinux-3.16.0-6-powerpc \
        -append  "root=/dev/sda3" \
        -redir tcp:7777::22 \
        -usb \
        -usbdevice disk:debian-8.11.0-powerpc-DVD-1.iso

ssh -p 7777 localhost とかで接続。
ようやくひと心地ついた。

$ uname -a
Linux debian-ppc32 3.16.0-6-powerpc #1
 Debian 3.16.56-1+deb8u1 (2018-05-08)
 ppc GNU/Linux
 
$ echo abcd | hexdump
0000000 6162 6364 0a00
0000005
$ uname -a
Linux PC 4.9.0-8-amd64 #1
 SMP Debian 4.9.130-2 (2018-10-27)
 x86_64 GNU/Linux
 
$ echo abcd | hexdump
0000000 6261 6463 000a                         
0000005

hexdump(1)には無いようだけど

エンディアンネスを変えるオプションが、od(1)にあった。

$ echo abcd | od -x --endian=little
0000000 6261 6463 000a
0000005
 
$ echo abcd | od -x --endian=big
0000000 6162 6364 0a00
0000005

dnsmasqのせいだった

lxcでvethの設定をしてやっても、 lxcbr0が作られず、 lxc-start できても 繋がらなかったのは。

dnsmasqを止めると解決したようだ。
何のために入ってるか分からなくなったので消した。
vagrantはlxcもlibvirtも異常ないようだ。


リンクはご自由にどうぞ。でもURLや内容が変った場合はあしからず。

index.htmlは ここから。