조회 수 12482 댓글 3
?

단축키

Prev이전 문서

Next다음 문서

+ - Up Down Comment Print
?

단축키

Prev이전 문서

Next다음 문서

+ - Up Down Comment Print

안드로이드폰에 우분투 설치하기

먼저 Terminal Emulator와 busybox, su를 설치하여 Rooting을 한다. bootscript.sh열어 rootdev_type=external_sd로 정의한다. sd 메모리를 ext2 포맷으로 포맷한뒤 ubuntu rootfs 압축파일을 풀어넣는다.

linux on android를 에서 bootscript.sh을 이용하여 부팅한다.

sd메모리의 smileserv 디렉토리에 있는 bootscript.sh과 boot-ubuntu를 분석하여 설정값및 디렉토리를 조정한뒤 실행한다.


목차

1. 안드로이드폰에 우분투 12.04 설치하기
2. ubuntu.img 파일 생성하기
3. 우분투 설치 후 마무리하기


1. 안드로이드폰에 우분투 설치하기

사실 설치 방법은 간단합니다. 두 개의 파일(ubuntu.img, bootubuntu)을 생성한 후 이것들을 폰으로 옮겨주기만 하면 됩니다.


1) 첨부한 bootubuntu 파일을 내려받아 폰의 /system/bin 디렉토리로 복사한 후, 파일의 권한을 755(rwxr-xr-x)로 수정


  • 아시다시피 이 과정을 실행하기 위해서는 /system 파티션을 rw 모드로 remount 해야 합니다.


2) 우분투에서 ubuntu.img 파일을 만들어 폰의 /mnt/sdcard/ubuntu 디렉토리로 복사


  • 내 폰에 /mnt/sdcard/ubuntu 디렉토리가 존재하지 않으면 탐색기 등을 이용해 새 폴더를 만들어 줍니다.


여기까지 해주면 우분투 설치는 사실상 끝납니다. 별거 없습니다. 그러면 이제부터는 ubuntu.img 파일을 만들어 보겠습니다.


2. ubuntu.img 파일 생성하기

우분투 이미지 파일은 우분투에서 만들어 줍니다. 그래서 우선은 PC에 우분투가 준비되어 있어야 합니다. 우분투를 PC에 설치하는 방법은 여러 가지가 있습니다.


(1) 하드디스크에 별도의 파티션을 생성하여 직접 설치하는 방법,

(2) wubi를 이용하여 이미지 파일에 리눅스를 설치하는 방법,

(3) vmware나 VirtualBox 등의 가상머신에 설치하는 방법 등이 있습니다.


여기서는 가장 안전한 세 번째 방법을 추천합니다. VirtualBox와 우분투로 검색하면 자세한 설치 방법을 알아낼 수 있습니다.


우분투 OS가 준비되었으면 이제 ubuntu.img 파일을 생성하는데 이는 두 가지 방법이 있습니다.


1번 방법은 rootstock 명령으로 생성한 arm용 파일시스템을 이용한 방법이고,

2번 방법은 미리 준비된 arm용 파일시스템을 이용한 방법입니다.


1번 방법은 arm용 파일시스템을 만들어야 하지만 이 단계에서 자기가 원하는 패키지를 임의로 넣을 수 있고, 2번 방법은 미리 준비된 arm용 파일시스템이 최소한의 우분투 핵심 패키지만 설치된 상태입니다. 우분투를 쓰면서 불필요한 삽질을 조금이라도 줄이려면 1번 방법을, 조금 번거로워도 꼭 필요한 패키지만 그때그때 선택적으로 하나하나 설치하려면 2번 방법을 선택합니다.


1) rootstock 패키지를 이용한 이미지 파일 생성


  • 우분투 12.04에서 rootstock 패키지가 제외되었기 때문에 이 방법을 이용하기 위해서는 우선 rootstock 패키지를 별도로 내려받아 설치해야 합니다.


$ wget http://launchpadlibrarian.net/52888742/rootstock_0.1.99.4-0ubuntu1_i386.deb
$ sudo apt-get install qemu-kvm-extras-static qemu-kvm-extras debootstrap fuseext2 fuse-utils genext2fs
$ sudo dpkg -i rootstock_0.1.99.4-0ubuntu1_i386.deb

$ sudo rootstock -d precise --seed ubuntu-standard -x en_US.UTF-8 -f ubuntu -l ubuntu -p ubuntu -i 2G
  • 여기서 --seed ubuntu-standard,openssh,build-essential 옵션을 주면 ubuntu-standard, openssh, build-essential 패키지가 포함된 파일시스템을 만듭니다.


$ dd if=/dev/zero of=ubuntu.img bs=1MB count=0 seek=2048
$ mke2fs -F ubuntu.img
$ sudo mount -o loop ubuntu.img /mnt
$ sudo tar -C /mnt -zxf armel-rootfs-*.tgz

2) 우분투에서 제공하는 미리 준비된 arm용 파일시스템을 이용한 이미지 파일 생성

$ wget http://cdimage.ubuntu.com/ubuntu-core/releases/12.04.1/release/ubuntu-core-12.04.1-core-armhf.tar.gz

$ dd if=/dev/zero of=ubuntu.img bs=1MB count=0 seek=2048
$ mke2fs -F ubuntu.img
$ sudo mount -o loop ubuntu.img /mnt
$ sudo tar -C /mnt -zxf ubuntu-core-12.04.1-core-armhf.tar.gz
$ sudo umount /mnt

3. 우분투 설치 후 마무리하기

설치가 끝나면 터미널을 열어 우분투를 실행해봅니다. 터미널은 Play 스토어에서 Android Terminal Emulator를 검색해서 설치하면 됩니다.



$ su
# bootubuntu
...
Loading Ubuntu...

Welcome to Ubuntu 12.04!

# _


여기까지 성공적으로 끝나면 우분투 프롬프트를 확인할 수 있습니다. 그럼 이제부터 간단하게 설정을 해봅니다.


1) 한글 로케일을 설정합니다.

# locale-gen ko_KR.EUC-KR
# locale-gen ko_KR.UTF-8
# dpkg-reconfigure locales

2) ~/.bashrc 파일의 끝에 아래의 두 줄을 추가합니다.

umask 0022
cd

3) /data/local/tmp 디렉토리를 생성합니다.

# mkdir /data
# mkdir /data/local
# mkdir /data/local/tmp

4) initctl 명령을 무력화 시킵니다.

# dpkg-divert --local --rename --add /sbin/initctl
# ln -s /bin/true /sbin/initctl

5) 마지막으로 우분투를 업데이트 해봅니다.

# apt-get update
# apt-get upgrade


https://wiki.ubuntu.com/ARM/RootfsFromScratch

  • Dreamy 2014.05.09 10:40
    http://www.zdnet.co.kr/column/column_view.asp?artice_id=20120518070549
  • ZelKun 2014.09.07 15:25

    우분투 설치 후 자바를 설치 할 수 있을까요...?

  • Dreamy 2014.09.11 12:52
    ^^a 저도 아직 ubuntu 설치에 성공을 못해봐서 잘 모르겠네요..

Dreamy의 코드 스크랩

내가 모으고 내가 보는

List of Articles
번호 분류 제목 날짜 조회 수 추천 수
58 Android Gerrit 검색 쿼리 도움말 2012.04.30 18502 0
57 Android 자바 call stack을 임의로 보는 방법 2012.09.05 17676 0
56 Android 안드로이드에서 Database를 다뤄보자 2015.03.03 17264 0
55 Android adb 로 low battery 이벤트 날리기 2013.04.19 16807 0
54 Android adb로 db보기 2012.08.31 16477 0
53 Android ART(Android RunTime)에 대해 1 2014.02.10 16157 0
52 Android Git 사용자 설명서 2012.04.24 16018 0
51 Android 카톡 SDK 의 안드로이드 기기 unique ID 얻기 방법 2015.01.02 15740 0
50 Android adb monkey script 2014.07.30 14706 0
49 Android adb로 폰 화면 동영상 저장 - KK 전용 2013.12.17 14053 0
48 Android Perl 정리 요약 2013.08.13 14037 0
47 Android ADB Usage 번역 2013.07.10 13309 0
46 Android How to create OMA DRM v1.0 content 2012.05.24 13200 0
45 Android android pm 명령어 정리 2015.06.01 13142 0
44 Android [GIT 사용법] Git Log 활용하기 2012.05.08 12938 0
목록
Board Pagination ‹ Prev 1 2 3 4 5 6 Next ›
/ 6

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소

Designed by sketchbooks.co.kr / sketchbook5 board skin

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5