
BeagleBone Blackに接続されているSDカードにRaspbian Linuxイメージをインストールしています。後で私のRaspberry Piでこれを使用します。
これを行うには、MacBook Proで(ssh経由)ddコマンドを使用します。
dd if=/Users/user/Downloads/2014-09-09-wheezy-raspbian.img | ssh [email protected] "dd of=/dev/mmcblk0"
最初は、コマンドを実行すると次のように動作するように見えました。
Debian GNU/Linux 7
BeagleBoard.org BeagleBone Debian Image 2014-04-23
Support/FAQ: http://elinux.org/Beagleboard:BeagleBoneBlack_Debian
その間、別のターミナルウィンドウを介してビーグルボーンにSSHを介してアクセスし、再度rootとしてログインできますssh 192.168.7.2 -l root
。これで、ddコマンドを使用して.imgファイルが/ dev / mmcblk0にコピーされることをどのように監視できますか?
残念ながら、SDカードがいっぱいになっているようではありません(/dev/mmcblk0p1は5分以上後に15Kを使用します)。
root@beaglebone:/dev# df -ah
Filesystem Size Used Avail Use% Mounted on
rootfs 3.4G 1.5G 1.9G 44% /
sysfs 0 0 0 - /sys
proc 0 0 0 - /proc
udev 10M 0 10M 0% /dev
devpts 0 0 0 - /dev/pts
tmpfs 100M 624K 99M 1% /run
/dev/disk/by-uuid/88d655b6-c63d-4922-9b0e-340b5ece0b8c 3.4G 1.5G 1.9G 44% /
tmpfs 249M 0 249M 0% /dev/shm
tmpfs 249M 0 249M 0% /sys/fs/cgroup
cgroup 0 0 0 - /sys/fs/cgroup/systemd
cgroup 0 0 0 - /sys/fs/cgroup/cpu,cpuacct
cgroup 0 0 0 - /sys/fs/cgroup/memory
cgroup 0 0 0 - /sys/fs/cgroup/blkio
systemd-1 0 0 0 - /proc/sys/fs/binfmt_misc
tmpfs 5.0M 0 5.0M 0% /run/lock
debugfs 0 0 0 - /sys/kernel/debug
tmpfs 100M 0 100M 0% /run/user
mqueue 0 0 0 - /dev/mqueue
securityfs 0 0 0 - /sys/kernel/security
fusectl 0 0 0 - /sys/fs/fuse/connections
/dev/mmcblk1p1 96M 74M 23M 77% /boot/uboot
binfmt_misc 0 0 0 - /proc/sys/fs/binfmt_misc
/dev/mmcblk0p1 15G 32K 15G 1% /media/6461-6136
root@beaglebone:/dev#
答え1
答えを見つけたようです。しかし、覚えやすくなるもう一つの事実は
killall -USR1 dd
(これはすべてのddプロセスにシグナルを送信します。通常は1つだけを送信します。)
既存の「dd」コマンドにシグナルを送信し、ddにはそのシグナルを受信すると進行状況をstderrにダンプする機能があるため、元のウィンドウに出力が表示されます。
また、現在マウントされているパーティションを上書きしているように見えることも指摘したいと思います。これは非常に悪いことであり、このようにファイルシステムを破損する可能性があります。上書きする前にパーティションをマウント解除する必要があります。
また、時にはより大きなブロックサイズを提供してddを高速化することができます(sshがファイルから直接インポートされるようにする)。たとえば、コマンドを次のように変更します。
ssh [email protected] "dd of=/dev/mmcblk0 bs=1M" < /Users/user/Downloads/2014-09-09-wheezy-raspbian.img
答え2
このコマンドはついに動作し、私のビーグルボーンからrootとして実行されました。
pkill -USR1 -n -x dd
コマンドは引き続き実行でき、更新されます(転送速度が遅い)。
興味深いことに、更新は次に表示されます。その他端末ウィンドウ(つまり、ddコマンドが実行されるウィンドウ):
Debian GNU/Linux 7
BeagleBoard.org BeagleBone Debian Image 2014-04-23
Support/FAQ: http://elinux.org/Beagleboard:BeagleBoneBlack_Debian
39136+0 records in
39136+0 records out
20037632 bytes (20 MB) copied, 5.6016 s, 3.6 MB/s
89376+0 records in
89376+0 records out
45760512 bytes (46 MB) copied, 12.3178 s, 3.7 MB/s
205152+0 records in
205152+0 records out
105037824 bytes (105 MB) copied, 27.7496 s, 3.8 MB/s
296608+0 records in
296608+0 records out
151863296 bytes (152 MB) copied, 40.7469 s, 3.7 MB/s
361184+0 records in
361184+0 records out
184926208 bytes (185 MB) copied, 49.3917 s, 3.7 MB/s
432672+0 records in
432672+0 records out
221528064 bytes (222 MB) copied, 58.9498 s, 3.8 MB/s
648529+0 records in
648529+0 records out
332046848 bytes (332 MB) copied, 88.3797 s, 3.8 MB/s
702289+0 records in
702289+0 records out
359571968 bytes (360 MB) copied, 103.606 s, 3.5 MB/s
987329+0 records in
987329+0 records out
505512448 bytes (506 MB) copied, 194.866 s, 2.6 MB/s
991001+0 records in
991001+0 records out
507392512 bytes (507 MB) copied, 197.19 s, 2.6 MB/s
答え3
進行中のファイル転送を監視するために使用するツール(たとえば、RetroPieからSDカードからUSBドライブへのROMコピーを追跡したことがあります)progress
。
「現在のシステムで実行されている基本コマンド(、、、、/ coreutils
、cp
などmv
)dd
をtar
見つけてコピーされたデータの割合を表示する、小さくて汚いLinuxおよびOSX専用のCコマンドです。gzip
gunzip
cat
rsync
sudo apt install progress
()をインストールしてから使用する必要があるかもしれませんsudo
。
-m
監視および更新するには、コマンドを追加することをお勧めします。
sudo progress -m