2016年9月29日の日記の1番目の記事へのコメント
■Raspberry Pi 3
昨日、自宅のサーバにポートフォワーディングするようにしたことで、リモートからsshでログインできるようになったRaspberry Pi 3ですが、いきなりリモート接続で設定を書き換えるのはちょっと怖いんで、手元で実験できるように、エミュレーション環境を整えてみました。
手順としては、こちらのサイトの情報ほぼそのままですが、一応メモとして残しておきます。
fdiskでディスクイメージの中のLinux用のパーティションの位置を確認。
% fdisk -l 2016-05-27-raspbian-jessie.img 中略 Device Boot Start End Sectors Size Id Type 2016-05-27-raspbian-jessie.img1 8192 137215 129024 63M c W95 FAT32 ( 2016-05-27-raspbian-jessie.img2 137216 7849983 7712768 3.7G 83 Linux
Linuxの方のパーティションのStartの値 (137216) を512倍した 70254592を指定して、イメージをマウント。
% mkdir -p raspbian % sudo mount -o offset=70254592 -t ext4 2016-05-27-raspbian-jessie.img raspbian
マウントした中の ld.so.preloadを開いて、libarmmem.so を読み込まないようにコメントアウトして保存。
% sudo vi raspbian/etc/ld.so.preload (/usr/lib/arm-linux-gnueabihf/libarmmem.soの行頭に「#」をつけてコメントアウト)
90-qemu.rulesを新規に作成。
% sudo vi raspbian/etc/udev/rules.d/90-qemu.rules (ファイルを下記3行の内容で新規作成) KERNEL=="sda", SYMLINK+="mmcblk0" KERNEL=="sda?", SYMLINK+="mmcblk0p%n" KERNEL=="sda2", SYMLINK+="root"
あとはアンマウントして実行するだけ。
% sudo umount raspbian % qemu-system-aarch64 -kernel kernel-qemu-4.4.13-jessie \ -cpu arm1176 -m 256 -machine versatilepb -no-reboot -serial stdio \ -append "root=/dev/sda2 panic=1 rootfstype=ext4 rw" \ -hda 2016-05-27-raspbian-jessie.img
結構ちゃんと動いてくれたんで、これを利用して、コネクションが切れたらautosshで再接続するような設定のテストを行い、実際にリモートで実機にも適用したりしたんですが、夜になって再度ネットワークが死んでしまったらしく、外から入れない状態になってしまいました。やむを得ず、電源を入れ直してもらったんですが、どうもOSが上がってこない状態の模様。うーん、ハード的に何か問題起きたかな・・・。
2016年9月29日の日記の1番目の記事へのコメント
[コメントを書く]