ºìÁªLinuxÃÅ»§
Linux°ïÖú

Android ROM¿ª·¢Ö®AndroidÔ´Âë´î½¨Óë±àÒë

·¢²¼Ê±¼ä:2014-06-17 15:07:58À´Ô´:ºìÁª×÷Õß:velcbo
ÒòΪ¹¤×÷ÉϵÄһЩÐèÒª£¬ÐèÒª½øÐÐAndroidƽ̨µÄROM¿ª·¢£¬¿ª·¢¹ý³ÌÖз¢ÏÖ¹Ù·½ÎĵµÊ®·Ö¼òµ¥²¢ÇÒ´æÔںܶàÎÊÌ⣬ËùÒÔÏÖÔÚÕûÀíÒ»ÏÂÍêÕûµÄ¸öÈË¿ª·¢Á÷³Ì£¬¹²Ïí¸ø´ó¼Ò£¬ÓÐÎÊÌ⻹Çë¶à¶àÖ¸Õý¡£
ΪÁ˱àÒë×Ô¶¨ÒåµÄAndroid ROM£¬µÚÒ»²½ÊǴһ¸öºÏÀíµÄÓ²¼þºÍÈí¼þ¿ª·¢»·¾³¡£

Ò»¡¢Ó²¼þ¿ª·¢»·¾³£º
16GÒÔÉÏÄÚ´æ¡¢¸ßÐÔÄÜCPU£ºÊ¹ÓÃIntel i7Äںˣ¬8GÄÚ´æµÄPC±àÒëAndroid 2.3Ê×´ÎÐèÒª°ëСʱ×óÓÒ£¬Ð¡·¶Î§ÐÞ¸ÄÖØÐ±àÒëÔÚ5·ÖÖÓ×óÓÒ£»±àÒëAndroid 4.2Ê״αàÒëÐèÒª80·ÖÖÓ×óÓÒ¡£Èç¹û¿ª·¢Android2.3 ROMʹÓÃÉÏÊöÅäÖü´¿É£¬Èç¹û±àÒëAndroid 4.0 ROMÐèÒª¸ü¸ß¼¶µÄÅäÖ㬿¼Âǵ½Android4.2µÄÔ´ÂëÔÚ10G×óÓÒ£¬Ìá¸ßÄÚ´æÓ¦¸Ã¿ÉÒÔÌáÉý±àÒëËÙ¶È£¬Òò´ËÀûÓÃÏÐÖõÄ64GÄÚ´æ¡¢2¿Å 64λE5620 CPUµÄServer½øÐпª·¢¡£
64λ»úÆ÷£ºÎªÁ˱àÒëAndroid 2.3.xÒÔÉϰ汾£¬CPUÒªÇóÊÇ64ºË¡£
µ¥¸öAndoid°æ±¾ÐèÒª100G×óÓÒÓ²Å̿ռ䣺ÿ¸öAndroid°æ±¾ÐèÒª100G×óÓҿռ䣬Ö÷ÒªÊDZàÒëºóµÄÁÙʱÎļþ£¬Ã¿¸ö°æ±¾Õë¶Ôÿ¸öµ¥¶ÀµÄÉ豸ÐèÒªµ¥¶À±àÒ룬µ¥¸öÉ豸±àÒëÐèÒª30G×óÓÒ£¬ÎªÁ˼æÈÝËùÓлúÐͱàÒëÐèÒª100G×óÓÒÓ²Å̿ռ䡣

¶þ¡¢Èí¼þ¿ª·¢»·¾³£º
²Ù×÷ϵͳ£º±È½ÏÎȶ¨µÄÊÇUbuntu 10.04 64-bit Desktop£¬ÓÉÓÚUbuntu 10.04ÒѲ»ÔÚά»¤£¬GoogleÕýÔÚUbuntu LTS(12.04 64-bit)ÉϽøÐпª·¢²âÊÔ¡£½¨ÒéÑ¡ÔñUbuntu 10.04 64-bit¡£
×¢1£ºÈç¹ûÔÚаæµÄ±Ê¼Ç±¾Éϰ²×°Ë«ÏµÍ³»òÕßUbuntu³öÏÖÎÊÌâʱ£¬Ê¹ÓÃubuntuά»¤Å̵ÄGParted¹¤¾ßÀ´É¾³ýÔ­ÉúWindowsϵͳµÄ·ÖÇø±í²¢¸ñʽ»¯Õû¸öÓ²ÅÌ¡£
×¢2£º·þÎñÆ÷ÅäÖã¬ÓÉÓÚ¸÷ÖÖÔ­Òò£¬Ö»ÄÜʹÓ÷þÎñÆ÷À´½øÐпª·¢£¬ËùÒÔÐèÒª½øÐÐÒ»Ð©ÍøÂçÅäÖúÍVNCÅäÖÃ
ÍøÂç»·¾³£º
ÅäÖÃIPÓëDNS
vim /etc/networking/interfaces

auto eth0
iface eth0 inet static
address 10.109.254.15
netmask 255.255.255.0
gateway 10.109.254.1
#dns-nameservers 10.3.9.4 10.3.9.5


ÅäÖÃDNS
vim /etc/resolv.conf

nameserver 10.3.9.4
nameserver 10.3.9.5


ÖØÆôÍøÂç
/etc/init.d/networking restart

°²×°ssh
sudo apt-get install ssh

°²×°VNC

sudo apt-get install vnc4server

vncserver :3

¼ì²éÓ²¼þ»·¾³
ʹÓÃdf -h¼ì²é¸÷´ÅÅ̿ռäʹÓÃÇé¿ö£¬±£Ö¤/home×ã¹»¿Õ¼ä¡£

Èí¼þ»·¾³
python£ºÒªÇó2.6»òÕß2.7
GNU Make£ºÑϸñÒªÇó3.8.1
JDK 1.6
ÓÉÓÚUbuntu 12.04²»Ö§³ÖOracle JDKµÄapt°²×°£¬ÏÂÃæÌṩ°²×°·½Ê½

sudo add-apt-repository ppa:webupd8team/java

sudo apt-get update

sudo apt-get install oracle-java6-installer

˵Ã÷£º1.6 JDK 69MÏÂÔØÐèÒª½Ï³¤Ê±¼ä10¡«30·ÖÖÓ¡£
Git 1.8.1ÒÔÉÏ
Ö§³Öhttps·½Ê½Í¬²½git
ÏÂÃæÌṩ×îаægitµÄ°²×°·½Ê½

sudo add-apt-repository ppa:git-core/ppa
sudo apt-get update
sudo apt-get install git
˵Ã÷£º23MÏÂÔØÐèÒª½Ï³¤Ê±¼ä5¡«10·ÖÖÓ£¬ÆÚ´ýÐµİ²×°·½·¨
°²×°ÍêºóÐèÅäÖÃglobalÉèÖÃ
git config --global user.email "you@example.com"
git config --global user.name "Your Name"
ccache
sudo apt-get install ccache
ÉèÖÃPATH
vim ~/.bashrcÌí¼Ó
export USE_CCACHE=1
source ~/.bashrc
²âÊÔÉèÖóɹ¦£º
echo $USE_CCACHE
°²×°Ïà¹ØÒÀÀµpackage
sudo apt-get install git-core gnupg flex bison gperf build-essential \

zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs \

x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev \

libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown \

libxml2-utils xsltproc

Èý¡¢´î½¨AndroidÔ´Âë»·¾³

ÏÂÔØAndroid·ÖÖ§Ô´Â룬´Ë´¦Ñ¡Ôñaosp-2.3.x·ÖÖ§

ÅäÖÃrepo£ºrepo»ùÓÚgit¿ª·¢µÄÒ»Ì×Ô´ÂëÏÂÔØ¹¤¾ß£¬¿ÉÒÔʵÏÖ²¢ÐÐÏÂÔØ¡£

mkdir ~/bin

ÔÚ~/.bashrcÖÐÔö¼ÓPATH=~/bin:$PATH²¢Ê¹ÓÃsource ~/.bashrc½øÐиüÐÂ

sudo apt-get install curl
curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
chmod a+x ~/bin/repo

¡¾×¢£º´Ë´¦Èô±»Ç½£¬IPV6¿ÉÒÔÌí¼Óhosts£¬²Î¿¼ipv6 hosts£¬·ñÔò½øÐÐÔ´Âë°²×°¡¿
ÏÂÔØÔ´Â룺

mkdir -p ~/android/aosp-2.3.x

cd ~/android/aosp-2.3.x

repo init -u https://android.googlesource.com/platform/manifest.git -b gingerbread

repo sync

²é¿´CPUµÄºËÊý·½±ã½øÐжàºË±àÒë
cat /proc/cpuinfo |grep "cores"|uniq
cpu cores : 4

±àÒ룺

source build/envelop.sh

lunch full_eng
make -j8£¨jX£¬XÒ»±éΪCPUºËÊýµÄ2±¶£¬´Ë´¦Îª4ºËËùÒÔÑ¡Ôñ8£©

³öÈ¥Ô˶¯Ô˶¯°É£¬ÐÝÏ¢Ò»»á¡£

×¢£ºÈç¹ûʹÓÃemulatorÄ£ÄâÆ÷½øÐпª·¢£¬ÔÚandroid 2.3.x»·¾³ÏÂÐèÒª¸üÐÂemulatorµÄºË
repo forall platform/external/qemu -c git checkout aosp/tools_r12
make

ËÄ¡¢ÐéÄâ»úÔËÐУ¨ÊµÌå»ú´ýÐø£©
vim run.sh

out/host/linux-x86/bin/emulator -sysdir out/target/product/generic/ -system system.img -ramdisk out/target/product/generic/ramdisk.img -data out/target/product/generic/userdata.img -kernel prebuilt/android-arm/kernel/kernel-qemu-armv7 -sdcard sdcard.img -skindir sdk/emulator/skins -skin WQVGA400 -memory 512 -partition-size 1024

chmod a+x run.sh
./run.sh

ÐéÄâ»úÆô¶¯³É¹¦£¬Android×Ô¶¯¼ÓÔØ£¬´ó¹¦¸æ³É¡£

²Î¿¼×ÊÁÏ£º
1. ÉñÊé¡¶Embedded Android¡·
2. Java°²×°
http://linuxg.net/how-to-install-Oracle-java-jdk-678-on-Ubuntu-13-04-12-10-12-04/

3. Kernel¸ü»»

http://source.android.com/source/known-issues.html

4.Google¹Ù·½×ÊÁÏ
http://source.android.com


¸½Â¼£º
±àÒëµÄÕû¸ö¹ý³ÌÖУ¬Åöµ½Á˺ܶàÎÊÌ⣬¼Ç¼ÈÕ־ȻºóÅжϴíÎó¡¢ËÑË÷´íÎóÊÇΨһ·½·¨¡£
¸½ÉÏһЩÈÕÖ¾£º



2013-09-16/15:45 sync start

2013-09-16/16:15 download 4G
--> it seems to finish the job in 5 hours
2013-09-16/19:15 finishing download less than 3 hours[Don't know when stop]


2013-09-17/10:18 android-4.1.2_r1 [Nexus S, Galaxy Nexus, Nexus 7]
2013-09-17/14:03 download finished[Don't know when stop]
2013-09-17/14:05 start make -j4
2013-09-17/16:25 end make. sum up to 140 minutes
2013-09-17/16:40 set_stuff_for_environment

2013-09-22/09:14 start building CM
2013-09-22/10:00 start building Android 2.3.x Gingerbell xx erro
2013-09-22/14:03 start building Android 2.3.x [make clear and then build again]
2013-09-22/14:33 building over; [error: bad workspace: cannot find prebuilt kernel]
2013-09-22/15:20 start building Android 2.3.x Gingerbell [different in so much terminals xx]

2013-09-22/15:55 end building, start android device

2013-09-22/16:19 run the device totally black

×÷Õߣºqingfengkl
ÎÄÕÂÆÀÂÛ

¹²ÓÐ 0 ÌõÆÀÂÛ