I have just installed QEMU and compiled linux kernel with ARM support but when I run below command
qemu-system-arm -M versatilepb -m 128M -kernel /home/arit/
For SINGH's question
what make ARCH=arm versatile_defconfig will do?
1) when you compiling kernel the 1st question is for which architecture are you building?
suppose if you are building for x86 architecture you no need to give ARCH=x86 ,by default it takes x86 and for x86 you dont need any cross-compiler , native compiler takes care compiling . You can verify it in Top-level Makefile.
if u give command ` make menuconfig' then by default it takes /boot/config-x.x.x this is for x86.
So present configuration of system is written to .config from /boot/config-x.x.x
But what for arm architecture which you are building on x86 architecture having native compiler?
here you should need cross-compiler tool cahin to compile kernel for ARM.
so from this background its clear y u need to provide ARCH and CROSS_COMPILE variables.?
when make ARCH=arm versatile_defconfig
Top-level makefile read this command that architecture is arm copies versatile_defconfig which is present in arch/arm/configs/versatile_defconfig
and writes to .config.
Here you ll get minimum configuration ,Next using menuconfig you enable your required things.