- 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"를 찍고 멈춰있게 된다 |
|