
場合によっては、標準のブートイメージを編集したり、多数のRaspberry Piボードへの後続の複製を使用してシステムを構成したりする必要があります。 このような問題を解決するには、qemu-user-staticおよびbinfmt-supportパッケージを使用すると便利です。
ターミナルを起動し、qemu-user-staticおよびbinfmt-supportパッケージをインストールします。
sudo apt-get install qemu qemu-user-static binfmt-support
qemu-user-staticモードのQEMUを使用すると、異なるアーキテクチャのプロセッサを使用して、1つのプロセッサ用にコンパイルされたバイナリファイルを実行できます。 binfmt-supportパッケージを使用すると、バイナリファイルを直接実行できます。
インストール後、サポートされているバイナリファイルのリストを確認します。
update-binfmts --display
qemu-aarch64(有効): ...... qemu-microblaze(有効): ...... qemu-arm(有効): ...... qemu-m68k(有効): ...... qemu-ppc64abi32(有効): ...... qemu-sparc64(有効): ...... qemu-sparc(有効): ...... qemu-sh4(有効): ...... qemu-sh4eb(有効): ...... qemu-sparc32plus(有効): ...... qemu-ppc64(有効): ...... qemu-ppc(有効): ...... qemu-mipsel(有効): ...... qemu-alpha(有効): ...... qemu-mips(有効): ...... qemu-cris(有効): ...... qemu-s390x(有効): ...... qemu-armeb(有効): ......
ご覧のとおり、ARMファイルのサポートが有効になっています-qemu-arm(有効)。
www.raspberrypi.org/downloadsページに移動し、目的のシステムを選択します。 Raspbian Wheezyを例にとると、現在のバージョンは2015-05-05-raspbian-wheezy.imgです。
アーカイブをダウンロードして解凍します。
sudo mkdir ~/rpi_image cd ~/rpi_image sudo wget http://downloads.raspberrypi.org/raspbian/images/raspbian-2015-05-07/2015-05-05-raspbian-wheezy.zip sudo unzip 2015-05-05-raspbian-wheezy.zip sudo rm 2015-05-05-raspbian-wheezy.zip
まず、画像情報を取得します。
sudo fdisk -lu 2015-05-05-raspbian-wheezy.img
ディスク2015-05-05-raspbian-wheezy.img:3276 MB、3276800000バイト 255ヘッド、63セクター/トラック、398シリンダー、合計6,400,000セクター 単位= 1 * 512 = 512バイトのセクター セクターサイズ(論理/物理):512バイト/ 512バイト I / Oサイズ(最小/最適):512バイト/ 512バイト ドライブID:0xa6202af7 デバイスZagr開始終了ブロックIDシステム 2015-05-05-raspbian-wheezy.img1 8192 122879 57344 with W95 FAT32(LBA) 2015-05-05-raspbian-wheezy.img2 122880 6399999 3138560 83 Linux
画像に1Gbを追加します。
sudo chmod 775 2015-05-05-raspbian-wheezy.img sudo dd if=/dev/zero bs=1M count=1024 >> 2015-05-05-raspbian-wheezy.img
イメージ全体をデバイスloop0にフックし、2番目のセクション(セクター122880から始まり、各セクターはそれぞれ512バイト)をloop1にフックします。
sudo losetup -f --show 2015-05-05-raspbian-wheezy.img sudo losetup -f --show -o $((122880*512)) 2015-05-05-raspbian-wheezy.img
これにより、デバイス/ dev / loop0がイメージ全体に接続され、/ dev / loop1が拡張するパーティションに接続されます。
partedを開始し、device / dev / loop0の2番目のセクションを削除して、新しいサイズで作成します。
sudo parted /dev/loop0
GNU Parted 2.3 / dev / loop0によって使用されます GNU Partedへようこそ! 「ヘルプ」と入力して、コマンドのリストを表示します
(parted) print
モデル:ループバックデバイス(ループ) ディスク/ dev / loop0:4351MB セクターサイズ(論理/物理):512B / 512B パーティションテーブル:msdos 番号開始終了サイズタイプファイルシステムフラグ 1 4194kB 62.9MB 58.7MB一次脂肪16 lba 2 62.9MB 3277MB 3214MBプライマリext4
(parted) rm 2 (parted) mkpart primary 62.9 4351 (parted) print
モデル:ループバックデバイス(ループ) ディスク/ dev / loop0:4351MB セクターサイズ(論理/物理):512B / 512B パーティションテーブル:msdos 番号開始終了サイズタイプファイルシステムフラグ 1 4194kB 62.9MB 58.7MB一次脂肪16 lba 2 62.9MB 4351MB 4288MBプライマリext4
(parted) quit
次に、新しいパーティションを確認してサイズを変更します。
sudo e2fsck -f /dev/loop1
e2fsck 1.42.9(2014年2月4日) パス1:iノード、ブロック、サイズの確認 パス2:ディレクトリ構造の確認 パス3:接続ディレクトリの確認 パス4:参照カウントの確認 パス5:グループ概要情報の確認 / dev / loop1:86233/196224ファイル(0.1%不連続)、630146/784640ブロック
sudo resize2fs /dev/loop1
resize2fs 1.42.9(4-Feb-2014) / dev / loop1のファイルシステムのサイズを1046784(4k)ブロックに変更します。 / dev / loop1のファイルシステムは現在1046784ブロック長です。
次に、新しいパーティションのサイズが1 Gb増加したことを確認します。
sudo parted /dev/loop0
GNU Parted 2.3 / dev / loop0によって使用されます GNU Partedへようこそ! コマンドのリストを表示するには、「help」と入力します。
(parted) print
モデル:ループバックデバイス(ループ) ディスク/ dev / loop0:4351MB セクターサイズ(論理/物理):512B / 512B パーティションテーブル:msdos 番号開始終了サイズタイプファイルシステムフラグ 1 4194kB 62.9MB 58.7MB一次脂肪16 lba 2 62.9MB 4351MB 4288MBプライマリext4
(parted) quit
ループデバイスをクリアしましょう。
losetup -d /dev/loop0 /dev/loop1
イメージをマウントします。
sudo mkdir ~/rpi_mnt sudo mount ~/rpi_image/2015-05-05-raspbian-wheezy.img -o loop,offset=$((122880*512)),rw ~/rpi_mnt
(オプション)マウント/ブート:
sudo mount ~/rpi_image/2015-05-05-raspbian-wheezy.img -o loop,offset=$((8192*512)),rw ~/rpi_mnt/boot
(オプション):
cd ~/rpi_mnt sudo mount --bind /dev dev/ sudo mount --bind /sys sys/ sudo mount --bind /proc proc/ sudo mount --bind /dev/pts dev/pts
すべてが正しく機能するように(ネットワークなど)、ルートディレクトリを変更する前に、ファイル〜/ rpi_mnt / etc / ld.so.preloadのすべての行をコメント化する必要があります。
sudo vi ~/rpi_mnt/etc/ld.so.preload
編集するには、iを押し、各行の前に#を入力し、ESCを押します:wq ENTER
ルートディレクトリ(CHROOT)の変更。
まず、ルートファイルシステムを変更したらすぐにbinfmt-supportがコードを実行することを確認する必要があります。 これを行うには、ファイルをイメージのルートディレクトリにコピーします。
sudo cp /usr/bin/qemu-arm-static ~/rpi_mnt/usr/bin
ルートを変更します。
cd ~/rpi_mnt sudo chroot . bin/bash
ルートディレクトリの変更を確認します。
uname -a
Linux simm-UX32VD 3.19.0-33-generic#38〜14.04.1-Ubuntu SMP Fri Nov 6 18:17:28 UTC 2015 armv7l GNU / Linux
これで、モニターやキーボードを個々のボードに接続することなく、プログラムを追加および削除し、システムを構成して、結果のイメージを多くのRaspberry Piデバイスにコピーできます。
Raspberry Pi構成メニューに入る:
sudo raspi-config
デスクトップ環境の削除:
apt-get remove --dry-run --auto-remove --purge libx11-.*
リストに不要なパッケージがないことを確認し、「-dry-run」なしで再実行します。
システム更新。 新しいバージョン(たとえば、jessie、stretchなど)にアップグレードするには、/ bootをマウントする必要があります(/etc/apt/sources.list.d内のすべてのファイルをチェックして更新する必要があります)。 更新する前に、必要な構成ファイルを保存します。
sed -i 's/wheezy/jessie/g' /etc/apt/sources.list apt-get update apt-get dist-upgrade -o Dpkg::Options::="--force-confold"
SDカードに画像を書き込むには、次のことを行う必要があります。
1. CHROOTを終了します(exitと入力)
2. /etc/ld.so.preloadファイルの行のコメントを解除します。
sudo vi ~/rpi_mnt/etc/ld.so.preload
以前に追加された#文字をxで削除し、ESCを押す:wq ENTER
3.すべてのセクションをアンマウントします。
sudo umount ~/rpi_mnt/sys sudo umount ~/rpi_mnt/proc sudo umount ~/rpi_mnt/dev/pts sudo umount ~/rpi_mnt/boot sudo umount ~/rpi_mnt/dev cd .. sudo umount ~/rpi_mnt
SDカードを挿入し、パスを見て画像を記録します。
sudo fdisk -l sudo dd if=~/rpi_image/2015-05-05-raspbian-wheezy.img of=/dev/mmcblk0
PDFで記事をダウンロード-http://prom-electric.ru/media/raspi_img_edit.pdf