FREEDOM. FRIENDS. FEATURES. FIRST.
페도라 한국 사용자 모임

ARM용 Fedora10 제작 및 qemu으로 실행방법

게시판 Tech/Tip ARM용 Fedora10 제작 및 qemu으로 실행방법

  • This topic has 2개 답변, 2명 참여, and was last updated 11 years 전에 by 인베인. This post has been viewed 20 times
  • 만든이
    게시글
  • #12061
    인베인
    참가자
    • 게시글141
    • 댓글379
    • 총합520
    • ★★
    @leemgs

    우리는 지금까지 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.bz2

    Fedora/ARM용 크로스 툴체인 사용 방법이다.
    fedora10#>  cd /etc/yum.repos.d/
    fedora10#>  w get http://fedora-arm.wantstofly.org/cross/cross.repo
    fedora10#>  yum install armv5tel-redhat-linux-gnueabi-gcc

    fedora10#>  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 FORWARD

    fedora10#>  vi ./script-qemu-ifup
    #!/bin/sh
    /sbin/ifconfig $1 0.0.0.0 promisc up
    /usr/sbin/brctl addif br0 $1

    미리 맛만 보기 위해 빌드가 된 커널 이미지를 다운로드 하도록 한다.
    fedora10#> w get http://ftp.linux.org.uk/pub/linux/arm/fedora/qemu/zImage-versatile-2.6.24-rc7.armv5tel
    fedora10#> w get http://ftp.linux.org.uk/pub/linux/arm/fedora/qemu/zImage-versatile-2.6.23-rc4
    fedora10#> w get http://ftp.linux.org.uk/pub/linux/arm/fedora/qemu/zImage-versatile-2.6.22

    fedora10#> export arch=ARM
    fedora10#> export CROSS_COMPILE=arm-none-linux-gnueabi-

    fedora10#> cp arch/arm/configs/versatile_defconfig .config
    fedora10#> make menuconfig

    make 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#> make

    fedora10#> 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-dev

    fedora10#> 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 & 윈윈전략을 도모할 지언정 절대 공짜(무료)임을 뜻하지 않는다.치

1 답변 글타래를 보이고 있습니다
  • 글쓴이
    답변
    • #12630
      ELem
      참가자
      • 게시글67
      • 댓글672
      • 총합739
      • ★★
      @Bardisch

      MIPS용으로 페도라 빌드해서 제 iStation T43 Dic PMP에 넣고싶군요...
      iStation PMP 커널이 리눅스던데 -ㅅ-
      KDE랑 비슷한듯.
      큐토피아라고 QT라이브러리쓰는 자체개발 세션 쓰나봐요 ㅇㅅㅇ

    • #12631
      인베인
      참가자
      참가자
      • 게시글141
      • 댓글379
      • 총합520
      • ★★
      @leemgs

      아직은 ARM용 배포판 작업이 대중적일겁니다. 사실 우분투 진영은 벌써 ARM용 우분투리눅스 배포판을 *.img 형식으로 배포하고 있습니다.  서버쪽은 페도라가 괜찮은데 데스크탑으로 오면 좀 열악한게 부정할수 없는 사실인거 같습니다.

       

      * 오픈소스는 Open Innovationa & 윈윈전략을 도모할 지언정 절대 공짜(무료)임을 뜻하지 않는다.치

1 답변 글타래를 보이고 있습니다
  • 답변은 로그인 후 가능합니다.