Go Back   AppleForum > Hardware > iPod & iPhone

 
 
thread_tools
2010-04-23, 04:52 AM   #1
Pojung
Senior Member
 
Pojung's Avatar
 
Registered: Dec 2006
My Mac: MacbookPro (late 2006), MacbookPro(i7, mid 2010)
Posts: 471
오프라인
아이폰 2g에서 안드로이드 설치 관련 글타래 (iDroid)

최근 알려진 아이폰 1세대에 안들이드 설치를 한번 시도해봤는데 저처럼 무턱대로 시도하다 어려움을 겪는 분이 많을까 해서 글타래를 통해 정보를 주고 받고자 합니다.

Linux on the iPhone: Android running on iPhone!
이 링크에서 필요한 정보를 받으 실 수 있구요.

아이폰에 타 os를 설치하는 내용 자체가 조금 문제시 될지도 모르겠지만 워런티도 끝나고 생명력을 다해가는 .. 버려지는 아이폰 1세대를 통한 실험 정도로 생각해주세요.

우선 필요한 장비(?)는 탈옥된 아이폰 1세대와 리눅스 시스템입니다. 저는 무턱대고 시작했다가 나중에 리눅스가 필요한걸 알고 parallels에 우분투 9.1을 설치해서 해결했습니다.

일단 위 링크에서 프리빌트된 이미지를 받으시구요. (최초 배포판의 openiboot.img3파일은 pwnagetool을 이용한 아이폰 사용자만 사용가능한 문제점이 있습니다만 현재 해결됐습니다.)

파일안에 README를 보시면 상당부분 생략된게 많아 초보자들은 어려움이 있을 수 있습니다.

Instructions for pre-built images
---------------------------------

If you have a prebuilt android.img.gz, ramdisk.img, system.img, userdata.img
and cache.img, you still need to follow the directions in the "Firmware"
section and add all the firmware files to

/lib/firmware in android.img.gz (it's a compressed ext2 image)

/etc/firmware in system.img (it's an uncompressed ext2 image)

After this, you can skip down to "Installation".

프리빌트 버젼 사용자들도 아이폰에서 멀티터치관련 펌웨어를 추출해야합니다. 저작권 문제로 프리빌트 이미지 안에 포함이 안되어 있죠. 물론 구글링을 하면 펌웨어가 포함된 이미지가 있을지도 모릅니다.



Firmware
--------

These can't be redistributed due to copyright laws. The multitouch firmware
will need to be extracted from your ioreg tree. Install iokittools from Cydia
and perform ioreg -l -w 0 and pipe the result to some file. Read this file and
look for entries under AppleMultitouchSPI for Firmware and A-Speed Firmware.
These contain a simple hexadecimal encoding for the bytes of the firmware
files. Convert and keep "Firmware" as zephyr_main.bin and "A-Speed Firmware"
as zephyr_aspeed.bin.

The firmware for the wi-fi can be found on Marvell's site at
Marvell: Support Under "Choose a platform", select "Linux
2.6 - Fedora" and click the Search button under the drop down box. The
SD-8686-* zip archive will contain the files. Rename helper_sd.bin to
sd8686_helper.bin and keep that and sd8686.bin.

So, you have zephyr_main.bin, zephyr_aspeed.bin, sd8686_helper.bin, and
sd8686.bin.

탈옥된 아이폰 1세대에 몇가지를 설치해야 추출이 가능한데요. 문제는 아이폰 3.1.2 에서는 추출이 안됩니다. 저같은 경우는 3.0 에서 추출을 했습니다.

추출을 위해서는 시디아에서 iotookkits, VI Improved, Core Utils을 설치하셔야 합니다.

설치후 ssh 로 아이폰에 접속 후 터미널에서
ioreg -l -w 0 | grep '"Firmware" =' | cut -d '<' -f2 | cut -d '>' -f1 | xxd -r -ps - zephyr_main.bin

ioreg -l -w 0 | grep '"A-Speed Firmware" =' | cut -d '<' -f2 | cut -d '>' -f1 | xxd -r -ps - zephyr_aspeed.bin

를 쳐주시면 추출이 가능합니다.

와이파이 펌웨어는 메뉴얼 설명으로 충분해 생략하구요.


추출된 펌웨어를

/lib/firmware in android.img.gz (it's a compressed ext2 image)

/etc/firmware in system.img (it's an uncompressed ext2 image)

이곳에 넣어주셔야 하는데 맥에서 하시려면 ext2 이미지를 마운트하는 것이 필요한데 상당히 귀찮습니다. 리눅스에서 해주시길 바랍니다.




Installation
------------

0. Jailbreak your iPhone.

1. Under the jailbroken environment, put ramdisk.img, system.img, ramdisk.img,
userdata.img, cache.img, android.img.gz, and zImage in /private/var.

2. Follow the instructions for installing openiboot.
- Essentially:
1. sudo ./loadibec openiboot.img3
2. Use Hold button to select Console
3. Push Home button
4. sudo ./oibc
5. Type install
- loadibec and oibc are compiled for x86 Linux.
- Need libusb, pthreads, readline.

이제 설치인데요. 물론 리눅스가 필요합니다. 유닉스 버젼으로 컴타일된 loadibec과 oibc도 있었지만 안되더군요.

리눅스에는 libusb 1.0.6의 설치가 필요합니다. (pthreads, readline은 대개 설치되어있으니..)

탈옥한 아이폰의 /private/var 폴더에 이미지 파일들을 넣어주세요 (용량이 상당하니 와이파이보단 iphone explorer등이 나을듯 합니다.)

그리고 아이폰을 복구모드로 바꿉니다. (전원을 끄시고 홈버튼을 누른상태에서 usb와 연결하면 몇초 후에 아이폰 화면이 아이튠즈와 연결을 하라는 화면으로 바뀝니다. 그때 홈버튼을 떼시면 됩니다.)

parallels를 사용하신다면 parallels의 환결설정에서 usb 쪽에서 항상 usb를 가상머신으로 연결하도록 하는게 좋을듯 합니다.

복구모드의 아이폰을 컴터와 연결하고 리눅스에서 터미널을 엽니다.

다운 받은 파일에 보시면 utils로 이동하셔서
루트 권한을 얻으신후 (>> sudo su)

>> ./loadibec ../prebuilt/openiboot.img3 을 하시면 아이폰의 화면에 openiboot화면이 뜹니다

아이폰 위의 홀드 버튼이 이동이니 선택을 밑으로 내리시고 홈버튼으로 선택을 하시면

-----------------------------------------------
welcome to openiboot
-----------------------------------------------
라는 말이 나중에 나올껍니다.

그때 리눅스 터미널에서
>> ./oibc
를 하시면 아이폰의 화면과 터미널의 화면이 동일해집니다.

그때 터미널에서
install
을 입력하고 엔터를 누르시면 이것 저것 설치하는 모습이 보입니다.

설치가 끝나면
Done with installation
Refreshed image list

라는 말이 나오는데 그 때

reboot
을 입력하고 엔터를 칩니다.

그럼 재부팅이 되면서 다시 openiboot 화면이 나옵니다. 이전처럼 밑의 아이콘을 선택합니다.

밑에를 홈버튼으로 누르시되 이번에는 2초 이상 누르고 계시면 안드로이드로 부팅이 됩니다.

Pojung 님께서 2010-04-23 05:12 AM 에 수정하셨습니다..
  Reply With Quote
2010-04-23, 06:54 AM   #2
Pojung
Senior Member
 
Pojung's Avatar
 
Registered: Dec 2006
My Mac: MacbookPro (late 2006), MacbookPro(i7, mid 2010)
Posts: 471
오프라인
한시간 정도 사용해본 결과... 정말 심심하신 분들만 설치하시길..;;;;; 그냥 안드로이드가 부팅된다의 의미정도 밖에 없습니다 물론 문자와 전화는 되지만 소리도 안나고 와이파이도 심하게 불안정하며 무엇보다도 폰이 슬립이 안됩니다;;
  Reply With Quote
2010-04-23, 11:53 AM   #3
mazzmoto
Veteran Member
 
mazzmoto's Avatar
 
Registered: Dec 2003
My Mac: intel Mac Pro Xeon 3.0GHz, intel New iMac 24ch, iPod touch 1G
Posts: 834
오프라인
2G가 있어야 하는데 없으므로 패스 ㅠ
__________________
:
iChat : ji9@me.com
Twitter : http://twitter.com/deerpark7
Facebook : http://www.facebook.com/deerpark8210
:
  Reply With Quote
지금 시각: 06:54 AM | Contact Us | 아카이브 | Top
SEO by vBSEO 3.0.0 RC5 All contents copyright © 2001~2012 by AppleForum and/or their respective owners.