qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] Help needed to run Exynos 4210 linux kernel on qemu?


From: Jean-Christophe DUBOIS
Subject: Re: [Qemu-devel] Help needed to run Exynos 4210 linux kernel on qemu?
Date: Wed, 05 Sep 2012 20:50:06 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:15.0) Gecko/20120827 Thunderbird/15.0

Hello Igor,

Thanks for you reply and your time.

JC

On 09/05/2012 02:38 PM, Igor Mitsyanko wrote:
On 09/04/2012 02:13 AM, Jean-Christophe DUBOIS wrote:

Hello, Jean!

I've just tried to do the same thing you're trying to do, it works for me if I remove earlyprintk from append.

Yes, I found out about this in the mean time.

Probably this is due to the fact that kernel expects uart0 to be configured by u-boot prior to kernel start execution. Interestingly, if you change default exynos4_defconfig CONFIG_DEBUG_S3C_UART0 to, for example, CONFIG_DEBUG_S3C_UART2 in linux kernel configuration, everything starting to work fine even with earlyprintk.

Seems strange. It would be nice if "earlyprintk" was not hanging though (is it possible to work around the actual LSP expectation?).


But using ramdisks is always a pain for me, I would suggest you two different approaches:

Ramdisk is fine for what I need to do at this time.


1) The most convenient way is to use emulated SD card for rootfs storage. There is no SD card support for exynos4210 in current QEMU master, but you can apply SD host controller patches I attached to this email to get this support. These patches already have been thoroughly reviewed in qemu-devel mailing list and hopefully would be applied to QEMU master soon enough. If you want to use SD card instead of RAMDISK, apply these patches to QEMU master with "git am", and enable MMC/SD support in linux kernel configuration (it is disabled by default in exynos4_defconfig). You need to check CONFIG_MMC, CONFIG_MMC_SDHC, CONFIG_MMC_SDHCI_S3C and ONFIG_MMC_SDHCI_S3C_DMA. Then you can launch QEMU with -sd /path/to/your/rootfs and, for example, append line -append "root=/dev/mmcblk0 rootfstype=ext4 rw rootwait".

Thanks. That seems interesting but I don't need it right now. I can wait for this patch to hit mainline.


2) If you want to work only with what current QEMU master has, you can use network filesystem as rootfs, but only for smdkc210 board (nuri board doesn't have any net devices). You're gonna have to check these options in Linux configuration: CONFIG_NET, CONFIG_PACKET, CONFIG_INET, CONFIG_IP_PNP, CONFIG_IP_PNP_DHCP, CONFIG_NETDEVICES, CONFIG_SMSC911X, CONFIG_NFS_FS, CONFIG_ROOT_NFS. Then, if, for example, you have directory /mnt/nfsroot exported by NFS server on your host machine, you can launch QEMU guest with following command line:

qemu-system-arm -kernel ./zImage -M smdkc210 -append "console=ttySAC0,115200n8 ip=dhcp root=/dev/nfs nfsroot=10.0.2.2:/mnt/nfsroot/ rw" -serial stdio

Unfortunately, network will have to wait too. But it will come in a second step.


Also, maybe you noticed, graphic support is disabled in exynos4_defconfig by default. To enable it, check these options in Linux configuration: CONFIG_DRM, CONFIG_DRM_EXYNOS, CONFIG_DRM_EXYNOS_DMABUF, CONFIG_DRM_EXYNOS_FIMD. You can also check CONFIG_LOGO to get a fancy penguins during guest VM startup. And if you need to start X server on your guest VM, you also need to enable UNIX domain sockets in linux kernel CONFIG_UNIX.

Thanks. I'll look at this later. No graphic is needed for now. A serial console is all I need.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]