- This topic has 2개 답변, 2명 참여, and was last updated 15 years, 8 months 전에 by
인베인. This post has been viewed 572 times
-
-
우리는 지금까지 X86기반으로 페도라 배포판을 사용하여왔다.
ARM의 아키텍쳐 이해 및 ARM용 페도라 배포판 제작을 하는 방법을 실험해보도록 하고자 한다.여기서 작업은 http://ftp.linux.org.uk의 영국 웹사이트를 이용하여 시험해보도록 한다.
http://ftp.linux.org.uk/pub/linux/arm/fedora/pub/fedora/linux/releases/10/Everything/arm/os/Packages/ 에서
Fedora 10 +ARM용 RPM 파일들을 다운로드 가능하다.이미 작업된 rootFS(Binary for ARM)을 이용하고자 한다면 아래의 rootfs-f10.tar.bz2 을 이용하면 된다.
http://ftp.linux.org.uk/pub/linux/arm/fedora/rootfs/rootfs-f10.tar.bz2Fedora/ARM용 크로스 툴체인 사용 방법이다.
fedora10#> cd /etc/yum.repos.d/
fedora10#> wget https://fedora-arm.wantstofly.org/cross/cross.repo
fedora10#> yum install armv5tel-redhat-linux-gnueabi-gccfedora10#> armv5tel-redhat-linux-gnueabi-gcc -Wall -o hello hello.c
fedora10#> vi ./Makefile
ARCH ?= arm
CROSS_COMPILE ?= armv5tel-redhat-linux-gnueabi-자, 이제 qemu를 이용하여 fedora10/arm을 구동하여보자.
fedora10#> yum install qemu
fedora10#> grep CONFIG_TUN= /boot/config-`uname -r`
fedora10#> mknod /dev/net/tun c 10 200
fedora10#> yum install bridge-utils
/usr/sbin/brctl addbr br0
/sbin/ifconfig eth0 0.0.0.0 promisc up
/usr/sbin/brctl addif br0 eth0
/sbin/dhclient br0
/sbin/iptables -F FORWARDfedora10#> vi ./script-qemu-ifup
#!/bin/sh
/sbin/ifconfig $1 0.0.0.0 promisc up
/usr/sbin/brctl addif br0 $1미리 맛만 보기 위해 빌드가 된 커널 이미지를 다운로드 하도록 한다.
fedora10#> wget http://ftp.linux.org.uk/pub/linux/arm/fedora/qemu/zImage-versatile-2.6.24-rc7.armv5tel
fedora10#> wget http://ftp.linux.org.uk/pub/linux/arm/fedora/qemu/zImage-versatile-2.6.23-rc4
fedora10#> wget http://ftp.linux.org.uk/pub/linux/arm/fedora/qemu/zImage-versatile-2.6.22fedora10#> export arch=ARM
fedora10#> export CROSS_COMPILE=arm-none-linux-gnueabi-fedora10#> cp arch/arm/configs/versatile_defconfig .config
fedora10#> make menuconfigmake menuconfig을 실행하면 선택할수 있는 커널피쳐 메뉴들이 보인다.
인터넷이 가능하도록 하기위해서 여기서 아래의 메뉴들을 체크해야만 한다.
Enable DHCP Support (CONFIG_IP_PNP_DHCP). It is under Networking -> Networking Support
-> Networking Options ->TCP/IP Networking -> IP: Kernel Level autoconfiguration.Enable Universal Tun/Tap Driver Support (CONFIG_TUN). It is under Device Drivers
-> Network Device Support ->Network Device Support.Enable ARM EABI Support (CONFIG_AEABI). It is under Kernel Features.
Enable tmpfs support (CONFIG_TMPFS). It is under File Systems -> Pseudo File Systems.
커널 소스를 빌드하자.
fedora10#> makefedora10#> http://ftp.linux.org.uk/pub/linux/arm/fedora/rootfs/rootfs-f10.tar.bz2
fedora10#> dd if=/dev/zero of=rootfs-f10-dev bs=1024k count=4096
fedora10#> mkfs.ext3 rootfs-f10-dev -L arm
fedora10#> mount rootfs-f10-dev /mnt/ARM_FS -o loop
fedora10#> tar -xjf rootfs-f10.tar.bz2 -C /mnt/ARM_FS
fedora10#> mv /mnt/ARM_FS/rootfs-f10/* /mnt/ARM_FS
fedora10#> rm -rf /mnt/ARM_FS/rootfs-f10
fedora10#> umount rootfs-f10-devfedora10#> vi /etc/exports
/mnt/ARM_FS/ *(rw,sync,no_root_squash)fedora10#> /sbin/service nfs restart
fedora10#> qemu-system-arm -M versatilepb -kernel zImage-versatile -append root="/dev/nfs \
nfsroot=:/mnt/ARM_FS rw ip=dhcp" \
-net nic,vlan=0 -net tap,vlan=0,ifname=tap0,script=./qemu-ifup* 오픈소스는 Open Innovationa & 윈윈전략을 도모할 지언정 절대 공짜(무료)임을 뜻하지 않는다.치
- 답변은 로그인 후 가능합니다.