Reputation: 932
I was trying to emulate an angstrom image for beaglexm in qemu on my Ubuntu 12.04 laptop. In a new window the image boots up and autologins into GNOME shell. But keyboard and mouse remains unresponsive.
I gave the following command:
qemu-system-arm -M beaglexm -m 1024 -sd Angstrom-TI-GNOME-image-eglibc-ipk-v2012.01-core-beagleboard-2012.01.11.img -clock unix -serial stdio -device usb-mouse -device usb-kbd -net nic -net user,hostfwd=::2222-:22
As the emulation starts, following log is generated on the parent terminal
Warning: vlan 0 with no nics
Warning: requested NIC (anonymous, model unspecified) was not created (not supported by this machine?)
U-Boot SPL 2011.12-00006-gb1fd369 (Dec 30 2011 - 09:48:45)
OMAP SD/MMC: 0
reading u-boot.img
.
U-Boot 2011.12-00006-gb1fd369 (Dec 30 2011 - 09:48:45)
OMAP36XX/37XX-GP ES1.1, CPU-OPP2, L3-165MHz, Max CPU Clock 1 Ghz
OMAP3 Beagle board + LPDDR/NAND
I2C: ready
DRAM: 512 MiB
NAND: 256 MiB
MMC: OMAP SD/MMC: 0
*** Warning - bad CRC, using default environment
.
ERROR : Unsupport USB mode
Check that mini-B USB cable is attached to the device
In: serial
Out: serial
Err: serial
Beagle xM Rev A
No EEPROM on expansion board
No EEPROM on expansion board
Die ID #51454d5551454d555400000051454d55
Net: Net Initialization Skipped
No ethernet found.
Hit any key to stop autoboot: 0
The user button is currently NOT pressed.
SD/MMC found on device 0
reading uEnv.txt
.
13 bytes read
Loaded environment from uEnv.txt
Importing environment from mmc ...
Loading file "/boot/uImage" from mmc device 0:2 (xxa2)
3372316 bytes read
Booting from mmc ...
## Booting kernel from Legacy Image at 80200000 ...
Image Name: Angstrom/3.0.14/beagleboard
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 3372252 Bytes = 3.2 MiB
Load Address: 80008000
Entry Point: 80008000
Verifying Checksum ... OK
Loading Kernel Image ... OK
OK
.
Starting kernel ...
.
Uncompressing Linux... done, booting the kernel.
omap2_inth_read: Bad register 0x000020
omap_i2c_write: Bad register 0x0000d0
omap_i2c_write: Bad register 0x0000d0
omap_i2c_write: Bad register 0x0000d0
omap_i2c_write: Bad register 0x0000d0
omap_i2c_write: Bad register 0x0000d0
After the image completely boots up into shell, the keystroke is not responsive but logs the following in the parent terminal:
usb-kbd: warning: key event queue full
I tried a solution given here by building latest linaro-qemu from scratch but same result.
Also I am not able to ssh into this running image. I issued the following command
ssh -p 2222 root@localhost
It is simply refusing the connection
Upvotes: 3
Views: 6024
Reputation: 1268
The reason for this unresponsive keyboard and mouse is that, you need to specify host's USB bus number with device number for USB Pass-Through.
$ lsusb
My keyboard bus number is 002 and address is 001. So, change your command based on your device number and address.
Assuming the same keyboard number and address, your command will be as follows:
qemu-system-arm -M beaglexm -m 1024 -sd Angstrom-TI-GNOME-image-eglibc-ipk-v2012.01-core-beagleboard-2012.01.11.img -clock unix -serial stdio -serial stdio -usb -device usb-host,hostbus=2,hostaddr=1
Add your mouse in the same way as keyboard. If there is no cursor pointer you can add -show-cursor
to your command.
Upvotes: 1