Linux

如何在我的 Beaglebone 上看到另一個 root 實例正在執行的程序

  • April 21, 2020

我正在將 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

引用自:https://unix.stackexchange.com/questions/163057