mirror of
				https://github.com/qemu/qemu.git
				synced 2025-10-31 12:07:31 +00:00 
			
		
		
		
	 d994cc5449
			
		
	
	
		d994cc5449
		
	
	
	
	
		
			
			There is a bit more out there including Aurelien's excellent write up and older Debian images here: https://www.aurel32.net/info/debian_arm_qemu.php https://people.debian.org/~aurel32/qemu/armel/ However the web is transitory and git is forever so lets add something to the fine manual. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Cc: Anders Roxell <anders.roxell@linaro.org> Cc: Aurelien Jarno <aurelien@aurel32.net> Message-Id: <20210202134001.25738-16-alex.bennee@linaro.org>
		
			
				
	
	
		
			64 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
			
		
		
	
	
			64 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
| Arm Versatile boards (``versatileab``, ``versatilepb``)
 | |
| =======================================================
 | |
| 
 | |
| The Arm Versatile baseboard is emulated with the following devices:
 | |
| 
 | |
| -  ARM926E, ARM1136 or Cortex-A8 CPU
 | |
| 
 | |
| -  PL190 Vectored Interrupt Controller
 | |
| 
 | |
| -  Four PL011 UARTs
 | |
| 
 | |
| -  SMC 91c111 Ethernet adapter
 | |
| 
 | |
| -  PL110 LCD controller
 | |
| 
 | |
| -  PL050 KMI with PS/2 keyboard and mouse.
 | |
| 
 | |
| -  PCI host bridge. Note the emulated PCI bridge only provides access
 | |
|    to PCI memory space. It does not provide access to PCI IO space. This
 | |
|    means some devices (eg. ne2k_pci NIC) are not usable, and others (eg.
 | |
|    rtl8139 NIC) are only usable when the guest drivers use the memory
 | |
|    mapped control registers.
 | |
| 
 | |
| -  PCI OHCI USB controller.
 | |
| 
 | |
| -  LSI53C895A PCI SCSI Host Bus Adapter with hard disk and CD-ROM
 | |
|    devices.
 | |
| 
 | |
| -  PL181 MultiMedia Card Interface with SD card.
 | |
| 
 | |
| Booting a Linux kernel
 | |
| ----------------------
 | |
| 
 | |
| Building a current Linux kernel with ``versatile_defconfig`` should be
 | |
| enough to get something running. Nowadays an out-of-tree build is
 | |
| recommended (and also useful if you build a lot of different targets).
 | |
| In the following example $BLD points to the build directory and $SRC
 | |
| points to the root of the Linux source tree. You can drop $SRC if you
 | |
| are running from there.
 | |
| 
 | |
| .. code-block:: bash
 | |
| 
 | |
|   $ make O=$BLD -C $SRC ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- versatile_defconfig
 | |
|   $ make O=$BLD -C $SRC ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-
 | |
| 
 | |
| You may want to enable some additional modules if you want to boot
 | |
| something from the SCSI interface::
 | |
| 
 | |
|   CONFIG_PCI=y
 | |
|   CONFIG_PCI_VERSATILE=y
 | |
|   CONFIG_SCSI=y
 | |
|   CONFIG_SCSI_SYM53C8XX_2=y
 | |
| 
 | |
| You can then boot with a command line like:
 | |
| 
 | |
| .. code-block:: bash
 | |
| 
 | |
|   $ qemu-system-arm -machine type=versatilepb \
 | |
|       -serial mon:stdio \
 | |
|       -drive if=scsi,driver=file,filename=debian-buster-armel-rootfs.ext4 \
 | |
|       -kernel zImage \
 | |
|       -dtb versatile-pb.dtb  \
 | |
|       -append "console=ttyAMA0 ro root=/dev/sda"
 |