AndroidのUSBブートイメージをマウント
id:naka-3さんのITProの記事*1で紹介されている、Androidをx86でUSBブートするイメージ*2をマウントして、中身をのぞいてみたりをいぢったりのTips。grubがブートセクタにいるので、そのままではループバックマウントできない。なので、losetupを使ってループバックマウントしてみる。
$ sudo losetup /dev/loop0 android-usb.img $ sudo losetup -a /dev/loop0: [0811]:1421204 (android-usb.img)
fdiskで見てみる。
$ sudo fdisk -lu /dev/loop0 Disk /dev/loop0: 506 MB, 506986496 bytes 16 heads, 61 sectors/track, 1014 cylinders, total 990208 sectors Units = セクタ数 of 1 * 512 = 512 bytes Disk identifier: 0x8062678a デバイス Boot Start End Blocks Id System /dev/loop0p1 61 989663 494801+ 83 Linux
ext3パーティションは61セクタから。つまり31232バイトのオフセット。
$ sudo losetup -o 31232 /dev/loop1 android-usb.img $ sudo mount -t ext3 -o loop /dev/loop1 /mnt
アプリをインストールするなら、/mnt/data/app-privateにapkファイルをコピーする。ごにょごにょし終わったらアンマウント。最後のsyncはおまじない。
$ sudo umount /mnt $ sudo losetup -d /dev/loop1 $ sudo losetup -d /dev/loop0 $ sync
ところで。id:naka-3さん、すばらしい記事をお書きいただきありがとうございました。