- QEMU 설치
ubuntu 기본 패키지로 설치되는 qemu로 실행에 문제가 있어 직접 소스코드를 컴파일
http://wiki.qemu.org/Download
$ ./configure
$ make & make install


- Kernel Compile
kernel.org에서 최신 vanilla 커널을 구한다.
$ w get ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.35.6.tar.gz
$ tar xzvf linux-2.6.35.6.tar.gz
// configure
$ make ARCH=arm versatile_defconfig
$ make ARCH=arm menuconfig
==> menuconfig에서 module support를 삭제하고 EABI support를 enable 시킨다

// build (앞선 post에서 작성한 GNU/LINUX toolchain을 사용한다)
$ make ARCH=arm CROSS_COMPILE=arm-unknown-linux-gnueabi- all

// qemu에 빌드된 zImage 올리기
$ qemu-system-arm -M versatilepb -m 128M  -kernel linux-2.6.35.6/arch/arm/boot/zImage
==> root file system이 없기 때문에 에러가 발생함

// 간단한 root file system 만들기
$ vi simple_rootfs.c
-----------------------------------------------
#include <stdio.h>
void main()
{
    printf("Welcome to QEMU!\n");
    while(1);
}
-----------------------------------------------
$ arm-unknown-linux-gnueabi-gcc -static simple_rootfs.c -o simple_rootfs
$ echo simple_rootfs | cpio -o --format=newc > rootfs
$ qemu-system-arm -M versatilepb -m 128M -kernel linux-2.6.35.6/arch/arm/boot/zImage -initrd rootfs -append "root=/dev/ram rdinit=/simple_rootfs"

==> 커널 booting 후, root file system을 mount하고 simple_rootfs를 실행하여 "Welcome to QEMU"를 찍고 멈춰있게 된다




2010/09/27 10:18 2010/09/27 10:18
Posted by scott
TAG ,

트랙백 주소 :: 이 글에는 트랙백을 보낼 수 없습니다