Я хочу передать файл на виртуальную машину PowerPC на базе QEMU (имитирующую MPC8544DS от Freescale). Я использовал buildroot для сборки ядра и rootfs. Я вызываю виртуальную машину так:
qemu-system-ppc -nographic -M mpc8544ds -m 512 -kernel ~/CrossCompilation/zImage -hda ~/CrossCompilation/rootfs.cpio -append "root=/dev/sda rw" -redir tcp:2222::22
Однако мне не удалось передать файл, и он выдавал следующие журналы и ошибку:
Executing: program /usr/bin/ssh host localhost, user root, command scp -v -t ~/.
OpenSSH_6.0p1 Debian-4+deb7u2, OpenSSL 1.0.1e 11 Feb 2013
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to localhost [::1] port 2222.
debug1: connect to address ::1 port 2222: Connection refused
debug1: Connecting to localhost [127.0.0.1] port 2222.
debug1: Connection established.
debug1: identity file ~/.ssh/id_rsa type -1
debug1: identity file ~/.ssh/id_rsa-cert type -1
debug1: identity file ~/.ssh/id_dsa type -1
debug1: identity file ~/.ssh/id_dsa-cert type -1
debug1: identity file ~/.ssh/id_ecdsa type -1
debug1: identity file ~/.ssh/id_ecdsa-cert type -1
ssh_exchange_identification: Connection closed by remote host
lost connection
Я предположил, что, поскольку моя виртуальная машина, похоже, не имеет физического сетевого адаптера, работа в сети будет невозможна. Поэтому я вызываю QEMU так:
/qemu-system-ppc -nographic -M mpc8544ds -m 512 -kernel ~/CrossCompilation/zImage -hda ~/CrossCompilation/rootfs.cpio -netdev user,id=network0 -device e1000,netdev=network0 -append "root=/dev/sda rw" -redir tcp:2222::22
Пока не повезло. Фактически, это даже не добавляет никакого нового физического адаптера Ethernet (как я думал). Единственный «живой» адаптер, как и раньше, - это адаптер обратной петли.
ifconfig
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Раньше у меня создалось впечатление, что, возможно, это происходит, поскольку на виртуальной машине не работает ssh deamon, поэтому я добавил Dropbear
в список целевых пакетов, и он запускается во время загрузки виртуальной машины (он отображается как часть журнала запуска) . Тем не менее, он терпит неудачу с той же ошибкой. Очевидно, это не кажется виновным.
Я не уверен, связано ли это с настройкой сети на моей виртуальной машине или, возможно, что-то нужно добавить в rootfs (busybox).
Жду, чтобы услышать.
interfaces
, добавляя ручную запись для eth0. Но, по-видимому, сама виртуальная машина не имеет настоящего eth0. - person HighOnMeat   schedule 06.12.2014-net nic -net tap
? Это создастtapX
на хосте, который вы можете настроить с помощью _3 _... - person F. Hauri   schedule 12.04.2015