Linux
如何在我的 Beaglebone 上看到另一個 root 實例正在執行的程序
我正在將 Raspbian Linux 映像安裝到插入 BeagleBone Black 的 sd 卡上。稍後我將在我的 Raspberry Pi 中使用它。
為此,我使用 MacBook Pro 中的 dd 命令(通過 ssh)。
dd if=/Users/user/Downloads/2014-09-09-wheezy-raspbian.img | ssh root@192.168.7.2 "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 到我的 beaglebone,再次以 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#
看起來你已經找到了答案。但另一個可能更容易記住的是
killall -USR1 dd
(這將向每個 dd 程序發出信號,通常只有一個)
輸出顯示在原始視窗上,因為您正在向現有的“dd”命令發送信號,並且 dd 具有一個功能,當它收到該信號時,它會將進度轉儲到 stderr。
我還想指出,您似乎正在覆蓋目前安裝的分區。這是一件非常糟糕的事情,你很可能會像那樣破壞你的文件系統。在覆蓋之前始終解除安裝分區。
此外,您有時可以通過給它更大的塊大小來加速 dd(並讓 ssh 直接從文件中提取)。例如,將命令更改為
ssh root@192.168.7.2 "dd of=/dev/mmcblk0 bs=1M" < /Users/user/Downloads/2014-09-09-wheezy-raspbian.img