私はフォローしています このガイド 仮想ARM環境をUbuntuにインストールします。
_Sudo add-apt-repository ppa:linaro-maintainers/tools
_
_Sudo apt-get install linaro-image-tools qemu-user-static qemu-system
_
_Sudo apt-get install gcc-arm-linux-gnueabi g++-arm-linux-gnueabi
_
_wget http://releases.linaro.org/platform/linaro-n/nano/alpha-3/linaro-natty-nano-tar-20110302-0.tar.gz
_
_wget http://releases.linaro.org/platform/linaro-n/hwpacks/alpha-3/hwpack_linaro-vexpress_20110302-0_armel_supported.tar.gz
_
_linaro-media-create --image_file vexpress.img --dev vexpress \
_
_--binary linaro-natty-nano-tar-20110302-0.tar.gz \
_
_--hwpack hwpack_linaro-vexpress_20110302-0_armel_supported.tar.gz
_
カーネルとinitrdの抽出に失敗しています。指示は実行するように言っています:
Sudo mount -o loop,offset="$(file vexpress.img | awk 'BEGIN { RS=";"; } /partition 2/ { print $7*512; }')" \
_-t auto vexpress.img /mnt/tmp
_
しかし、エラーが発生します:
マウント:マウントオプションの解析に失敗しました
ガイドには次のようなメモがあります。
ファイルの実際の名前は、ビルドによって若干異なる場合があります。
では、Ubuntuに合うようにこの最後の行を変更する方法を知っている人はいますか?
Sudo mount -o loop,offset="$(file vexpress.img | awk 'BEGIN { RS=";"; } \
/partition 2/ { print $7*512; }')" \
-t auto vexpress.img /mnt/tmp
上記のコマンドが実行していることは実際には単純です。イメージのパーティション2の開始セクターを見つけますvexpress.img
、512を掛け、その結果をオフセットとして取り、ループデバイスとしてマウントします。
mount
コマンドは、byteのオフセット値を受け入れます。各セクターには512バイトがあるため、開始セクターオフセットに512を掛けると、開始オフセットがバイト単位で生成されます。
これを行う別の方法は次のとおりです:(例として生のラズビアン画像を取り上げます)
オフセットを見つけます:
$ fdisk -lu 2016-09-23-raspbian-jessie-lite.img
Disk 2016-09-23-raspbian-jessie-lite.img: 1.3 GiB, 1389363200 bytes, 2713600 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x5a7089a1
Device Boot Start End Sectors Size Id Type
2016-09-23-raspbian-jessie-lite.img1 8192 137215 129024 63M c W95 FAT32 (LBA)
2016-09-23-raspbian-jessie-lite.img2 137216 2713599 2576384 1.2G 83 Linux
パーティション2の開始オフセットは137216
。あなたのみたいに vexpress.img
、パーティション2は、関心のあるルートパーティションです。
簡単な数学:
$ Perl -e "print 137216*512"
70254592
それをマウントします:
Sudo mount -o loop,offset=70254592 vexpress.img /mnt/tmp