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