안녕하세요!
약 1시간 전 10분의 관심을 받으면 강좌를 올리겠단 약속한 프리빌리지입니다.
처음 올리는 글에 행여 질타 받을까 두려운 마음을 안고 소심한 글을 올렸으나
맛클회원분들의 따듯한 관심에 힘입어 강좌를 올릴 생각을 하게 되었습니다.
일단 완성품의 모습을 살짝 보여드릴게요.
(생각보다 그림이 크게 들어갔는데 수정하는 방법을 잘 몰라 그냥 두겠습니다. 제가 초보라 ㅠㅠ
양해 부탁드려요.)
이건 갤럭시S에서 그대로 캡쳐한 이미지입니다. 보시다시피 본연의 컴퓨터에서 쓰이는 운영체제가 그대로 들어간것이 보일것입니다.
(저의 경우 운영체제 화소를 800x480으로 맞췄으나 좀더 고화질의 화소를 바라는 분들은
숫자를 올려잡아도 됩니다. (다시말해 갤럭시탭 유저분들도 화소만 바꾸면 사용가능해요).
위에 사진은 GUI, 곧 그래픽 유저 인터페이스 (다시말해 시각적인 사용자 환경)을 적용한 상태구요, 여러분들도 적용 전까지는
이렇게 개발자분들께는 익숙하실 터미널,
사용자분들껜 다소 생소한 (윈도우의 cmd창이나 맥OS의 터미널과 같은 용도에요) 모습의 창
에서 작업해야 해요.
걱정은 마세요 ㅋㅋ
제가 모든 과정을 Step by Step으로 가르쳐드릴테니까요!
이 강좌는 제가 할수 있는만큼 쉽게 설명했구요,
질문이 있으시다면 언제든지 쪽지보내세요! 아무리 늦어도 매주말에는 확인하고 답장드릴게요.
그럼 소개는 이 정도 하고 강좌 시작해볼까요?
-----------------------------------------------------------------------------------------------------------------------------------------
리눅스 그리고 우분투에 관한 간단한 소개 (모르시는 분들을 위한!) - 뛰어넘어도 상관없습니다만..
리눅스는 쉽게 말해서 운영체제입니다.
과거 유닉스 운영체제가 판을 칠때
오픈소스로 유닉스를 재현하고 싶어한 리누스 토발즈 (Linus Torvalds)가
프로그래밍한 운영체제입니다.
아시는 분들은 아시겠지만
우리 스마트폰의 안드로이드는 리눅스 커널을 바탕으로 한 운영체제입니다.
(안드로이드가 리눅스라면 Unix를 바탕으로 둔 Mac OS에 바탕을 둔 iOS는 유닉스가 되나요? 키득. 재미없는 조크 죄송...)
안드로이드 스마트폰을 사용할 때와
안드로이드용 어플리케이션을 만들때에도 리눅스는 (있으면 좋지만) 필요는 없습니다.
하지만 (릴리나이저님, 레이븐님, 테그라크님 처럼) 안드로이드의 펌웨어나 롬을 커스터마이즈 (수정)하고 싶으시면 리눅스가 있어야하죠.
물론 개발자가 아닌 사람들도 오픈소스이기에 공짜인 우분투나 페도라 같은 리눅스 배포판을 사용하는 사람들은 많습니다!
우분투는 데스크탑용으로 나온 리눅스 배포판이며 리눅스 배포판중 사용자수가 가장 높아요.
우리의 목적은 이 우분투를 휴대기기인 안드로이드 위에 설치하는것입니다.
------------------------------------------------------------------------------------------------------------------------------------------
으앙. 쓰던 글이 홀랑 날아가버려서 여기부턴 다시 쓰게 되네요 ㅠㅠ
글쓰는거 힘드네요. 글 쓰시는 모든 분들께 깊은 감사 드리고 다시 시작합니다.
준비과정!
안드로이드에는
1. Busybox - 안드로이드 마켓에서 다운받아주세요. (무료)
2. Android Terminal Emulator - 안드로이드 마켓에서 다운받아주세요. (무료)
3. Android VNC Viewer - 구글 코드에서 설치해주세요.
컴퓨터에는
*이 것이 1.5기가 정도 되는데 우리는 adb (android debug bridge)만 사용할꺼니까
꽤 많은 코드들을 갤럭시s 키보드로 치실 자신이 있으시다면
Android Terminal Emulator만 사용하셔도 괜찮아요.
2. 이 강좌에 사용 될 스크립트파일들 및 우분투 이미지파일 - 메가업로드에서 다운받아주세요. 영어 모르시는분들은 45초 기다렸다가 Regular Download 눌러서 다운받으시면 되요.
3. Snakehult님이 수정해주신 스크립트파일들 - 여기에서 다운받아주세요. 위 파일들은 넥서스원용으로 제작된 것이라 갤럭시S 사용시 이 파일을 쓰셔야합니다. (Snakehult님께 감사드려요.)
스마트폰을 켜시고
환경설정 -> 응용프로그램 -> 개발 -> USB디버깅 에 체크해주세요.
Busybox 어플리케이션을 실행하시고 busybox를 설치해주세요.
순정파 분들껜 정말 죄송하지만 루팅이 필요한 작업입니다. 루팅을 이미 하지 않으셨다면
우분투를 스마트폰으로 넣는 과정:
컴퓨터준비 2번에서 다운받은 압축폴더의 압축을 풀고 그 안에 컴퓨터준비 3번에서 다운받은 수정 스크립트파일들을 집어 넣어 덮어 씌워주세요. 완성된 폴더는 갤럭시S 바로안에 넣어주세요.
외장메모리가 아니라 내장메모리입니다! 주의하세요. 내장메모리 최상위폴더에다가 ubuntu폴더를 넣어주세요. 하고나면 컴퓨터에서 이동식메모리를 누르면 바로 ubuntu 폴더가 보여야합니다.
------------------------------------------------------------------------------------------------------------------------------------------
본 강좌! 1번.
1. ADB를 사용하실 생각이라면
윈도우 사용자분들 -1. sdk안의 tools 폴더 내로 가서 주소창에 있는 주소를 카피하세요.
2. 시작메뉴 -> 실행 -> cmd 로 코맨드창을 실행해주세요.
3. 그대로 "cd 붙여넣기" 해주세요. 대략 "cd c:sdktools"이렇게 보일겁니다.
3. 엔터 쳐주세요.
4. "adb shell"이라고 쓰시고 엔터 쳐주세요.
맥 사용자분들 - 1.spotlight에 terminal을 쓰시고 터미널을 실행하세요.
2. cd 라고 쓰세요.
3. sdk 안의 platform tools 폴더를 터미널 위로 끌어주세요.
4. 엔터를 치세요.
5. "./adb shell" 라고 입력하시고 엔터쳐주세요.
리눅스 사용자분들 - 맥 처럼 하시고 5번이 안 먹힌다면 "sudo ./adb shell"입니다.
잘 하셨으면 # 가 보일겁니다. (혹은 $)
2. 사용안하실 생각이시면 그냥 android terminal emulator 켜시면 #혹은 $가 보일겁니다.
(다시말해 #나 $가 보이면 안드로이드 내부라는 뜻이에요.)
이제부터 신중히 해주세요. 본인이 실수로 휴대폰을 날린다 해도 전 책임 질수 없습니다...
2 번
$su 를 입력해주세요.
휴대폰에서 superuser가 어떤 프로그램이 슈퍼유저 권한을 원한다고 합니다. Allow눌러줍시다.
#가 보일겁니다.
#cd /sdcard/ubuntu
이 명령어는 우분투 폴더로 데려가줍니다 (보이진않지만)
#sh ./ubuntu.sh
이 명령어는 ubuntu.sh 스크립트파일을 실행합니다.
bootubuntu
이 명령어는 bootubuntu 파일을 실행시켜 우분투를 실행합니다.
localhost라는 말이 보이면 이미 성공입니다.
우분투가 실행되었단 증거에요.
3 번
이제 GUI를 주어 진짜 컴퓨터 모니터로 보이는 모습을 볼 차례입니다.
일단
apt-get update를 입력하여 우분투를 업데이트합니다.
apt-get install tightvncserver lxde openssh-server
를 입력하여 tightvncserver, lxde, 그리고 openssh-server를 설치합니다.
vnc 비밀번호를 입력하라고 나오는데 기억하실수있는 비밀번호를 입력하세요.
view-only비밀번호는 상관없습니다.
passwd root
을 입력하여 유닉스 비밀번호를 입력하세요.
export USER=root
를 입력하세요. USER는 모두 대문자여야 합니다.
vncserver -geometry 800x480
를 입력하시면 vncserver를 구동시키며 저 뒤 800x480의 숫자를 바꾸면 화소도 바뀝니다.
가로픽셀수 x 세로픽셀수에요.
그럼 New 'X' desktop is localhost:1 같은게 뜰텐데 언제나 로컬호스트가 1이 아닙니다. 뜨는 숫자를 기억해주세요.
cat > /root/.vnc/xstartup
#!/bin/sh
xrdb $HOME/.Xresources
xsetroot -solid grey
icewm &
lxsession를 입력해주세요. (참고로 cat 명령어 입력 후에는 #나 $가 뜨지않습니다. 바로 명령어 입력하시면 됩니다)
이제 컨트롤 + D를 두번 (android terminal emulator 쓰신다면 왼쪽밑 하드웨어 버튼으로 메뉴 불르고 preference 누르시고 Control Key 누르시고 볼륨 위 아니면 아래 맘대로 (위라고 가정하겠습니다) 설정하시고 다시 뒤로나와 그 볼륨 위로 키를 누르면서 D를 누르시면 됩니다)
누르셔서 우분투를 종료합니다.
에뮬레이터에서 나와서 android VNC view를 켜주세요.
이름은 아무거나 지어주시고
password에는 아까 vncserver 비밀번호 설정하신것 넣어주시고 밑에 Port에
아까 localhost:1이었다면 5901
localhost:2였다면 5902
localhost:12였다면 5912
이런식으로 포트 숫자를 바꿔주세요.
Connect 를 누르시면 감격적으로 우분투 화면이 보일것입니다.
감격은 뒤로 미뤄두고 다시 에뮬레이터로 들어가서
$ su
#bootubuntu
를 입력하세요. (앞으로도 이렇게만 하면 우분투가 구동됩니다. 너무 아름답지않나요 ㅠㅠ)
cat > front
export USER=root
cd /
rm -r -f tmp
mkdir tmp
cd /
vncserver -geometry 800x480이라고 입력해주세요. 물론 이때도 저 숫자들을 바꾸면 픽셀이 바뀝니다.
(참고로 cat 명령어 입력 후에는 #나 $가 뜨지않습니다. 바로 명령어 입력하시면 됩니다)
끝난후 컨트롤 D 두번으로 빠져나온후 에뮬레이터 나갔다가 다시들어와서 우분투 켜주세요.
cat front /root/.bashrc > tempcp temp /root/.bashrc
라고 입력하시면 이제 드디어 끝입니다.
마지막에 들어와서 한 작업은
우분투 실행시 자동으로 VNC서버를 실행시키도록 한것입니다. 물론 앞으로도 localhost:숫자 의 숫자를 기억하셔야 하구요.
이제부터 컴퓨터가 없더라 해도
안드로이드 터미널 에뮬레이터 안에서
su
bootubuntu하면 우분투가 켜지고
exit하면 우분투가 종료됩니다.
이제 휴대폰을 넘어 컴퓨터가 된 안드로이드를 활용하시는건 여러분의 다음 과제랍니다. ^^
제 글대로 실행하시는 분들,
다른 맛클회원분들도 이 글을 보고 실행할수 있도록
혹시 제 글을 따라하시는 분들, 추천 한방씩만 눌러주실렵니까?
그리고 맛클회원분들! 제가 아직 모르는게 많으니 앞으로도 잘 가르쳐주세요!
공부 열심히 해서 커스텀롬 및 패치들로 여러분들의 스마트라이프를 윤택하게 하는
여러 맛클개발자분들처럼 (+테그라크님) 도움을 드릴수 있게 되고싶네요!
수정해야할점 분명 많을테니 댓글로 남겨주세요. 고치도록 할게요!
~~~baby ~~위처럼 똑같이 나오고 제껀 밑네 몇줄 더나오면서 그다음 구문이 안되네요 ㅠㅠ
can\'t execute /bin/bash ~~~
shutdown ~~
fail
fail
fail
fail
이렇게뜸니다 ㅠㅠ 제생각에는 bash를 실행할수 없다고 뜨는거 같은데 ... 일단 제폰에 /bin폴더에는 bash라는 파일이 없습니다 .. 제친구 폰 겔스에는 있는데요... 참고로 루팅 비지박스등 모두 설치했습니다.
제폰은 옵티머스 2x입니다 .. 구글링해보니까 겔스말고도 다른폰도 다된다고 나와있는데 말이죠 ㅠ