ssh session with qemu-arm using busybox
Nick Kossifidis
mick at ics.forth.gr
Mon Mar 11 14:28:37 EDT 2019
Στις 2019-03-11 16:34, Pintu Agarwal έγραψε:
> Hi,
>
> I have a qemu-arm setup with busybox which I normally use to test my
> kernel changes.
> I use this command to boot it:
>
> QEMU-ARM$
> qemu-system-arm -M vexpress-a9 -m 1024M -kernel
> ../KERNEL/linux/arch/arm/boot/zImage -dtb
> ../KERNEL/linux/arch/arm/boot/dts/vexpress-v2p-ca9.dtb -initrd
> rootfs.img.gz -append "console=ttyAMA0 root=/dev/ram rdinit=/sbin/init
> ip=dhcp" -nographic -smp 4
>
> This includes, my own custom kernel and rootfs build.
> For rootfs I use busybox and create cpio image and use it as initrd.
>
> But, every time, if I have to copy some files inside qemu, I need to
> create create roofs image.
> This is painful.
>
> So, now I am exploring how to transfer files from my ubuntu pc to
> qemu-session using "ssh".
> I know this is possible, but I am still not successful, and bit lazy
> to explore these.
>
> I am sure, many of you people would have explored already "how to use
> ssh over qemu" and found a easy method.
> So, if anybody have easy setup please share with me.
>
> I could see that after adding "ip=dhcp" I get the eth0 interface like
> this:
> / # ifconfig
> eth0 Link encap:Ethernet HWaddr 52:54:00:12:34:56
> inet addr:10.0.2.15 Bcast:10.0.2.255 Mask:255.255.255.0
> UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
> RX packets:2 errors:0 dropped:0 overruns:0 frame:0
> TX packets:2 errors:0 dropped:0 overruns:0 carrier:0
> collisions:0 txqueuelen:1000
> RX bytes:1180 (1.1 KiB) TX bytes:1180 (1.1 KiB)
> Interrupt:22
>
> lo Link encap:Local Loopback
> inet addr:127.0.0.1 Mask:255.0.0.0
> UP LOOPBACK RUNNING MTU:65536 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:1000
> RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
>
> But I could not ping it from ubuntu PC.
>
>
> Regards,
> Pintu
>
> _______________________________________________
> linux-riscv mailing list
> linux-riscv at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-riscv
You may use the hostfw argument on qemu, e.g...
-netdev user,id=unet,hostfwd=tcp::2222-:22 \
-net user \
and you 'll get guest's port 22 to be forwarded to hosts port 2222, so
you can do
ssh root at localhost:2222
from the host.
Regards,
Nick
More information about the Kernelnewbies
mailing list