How to Setup build environment for JB4.2
1,安装Ubuntu 12.04 64bit
2,安装openssh
a> $sudo apt-get install ssh
b> 检查ssh 服务是否已经启动
$ servicessh status
c> 在windows上用secureCRT或者putty登录到build server
3,安装samba
a> 原始的安装版本是没有samba的,需要以如下命令安装
$ sudoapt-get install samba
b> 检查smb服务是否启动
$ servicesmbd status
c> 添加samba用户,并且用windows连接
$smbpasswd -a mstar
d> 编辑samba的共享权限
$ sudo vi/etc/samba/smb.conf
将[homes]这一节的注释解开
e> 重启smbd服务
$ sudoservice smbd restart
f> 在windows中访问 \\172.20.121.66\mstar
密码就是之前在samba -a的时候输入的密码。
g> Samba的缺省的其他设置应该是没有问题的,如果发现速度很慢,应该跟Linux的网卡有关系,请更换网卡再做测试。
4,安装sun-java, 本段仅供参考,如果已经安装成功,请跳过。
a> 下载jdk-6u37-linux-x64.bin
b> copy到你要安装的目录 比如/opt
$ sudo cp./jdk-6u37-linux-x64.bin /opt
c> 安装
$ cd /opt
$ sudochmod a+x ./jdk-6u37-linux-x64.bin
$ sudo./jdk-6u37-linux-x64.bin
d> 配置
安装会在本地建立一个目录jdk1.6.0_37
e> 设置sun-Java替代openJdk(这步很多余,不过先这么做,胜在简单,不用update PATH)
1> 如果没有安装openjdk,安装之,
$sudoapt-get install openjdk
2> 如果没有安装过alternative configurator,安装之
我是在Unbuntu Software Center下装的。
3> 打开alternative configurator,选到Java
4> Java的设定不限于此,需要另外设定环境变量JAVA_HOME, JRE_HOME, CLASSPATH
把这些环境变量加入到/etc/profile中
$sudo vi /etc/profile
在末尾加上这么几行,具体根据你的设定
export JAVA_HOME=/opt/jdk1.6.0_37
exportJRE_HOME=/opt/jdk1.6.0_37/jre
exportCLASSPATH=/opt/jdk1.6.0_37/lib
exportPATH=$JAVA_HOME/bin:$PATH:$JRE_HOME/bin
如果不想重新登录,就用以下命令设定
$source/etc/profile
验证:请确保以下五个项全部都正确
5,安装必要的包,
a>
$ sudoapt-get install git-core gnupg flex bison gperf libsdl-dev libesd0-devlibwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev
$ sudoapt-get install uuid-dev uuid-runtime
$ sudoapt-get install uuid
--> 这行是后加的,如果不加这个,编译jb会报错。“/usr/bin/ld: cannot find -luuid”
UUID的另外一个问题,这样装完之后,没有/usr/lib/libuuid.so或者/lib/libuuid.so,所以必须建立符号链接
$ sudo ln-s /lib/x86_64-linux-gnu/libuuid.so.1.3.0 ./libuuid.so
b> 64bit系统需要安装(要在64bit的平台上执行32bit的程序,以下的包必须安装)
$ sudoapt-get install ia32-libs
$ sudoapt-get install libc6-dev-i386
$ sudoapt-get install g++-multilib lib32z-dev lib32ncurses5-dev lib32gmp3-dev
c> 安装perl,编译Supernova的时候会用
$ sudoapt-get install perl
d> 安装dos2unix工具,编译Supernova的时候会用
$ sudoapt-get install dos2unix
e> 安装liblzo2-dev 编译ICS用----可能不用
$ sudoapt-get install liblzo2-dev
$ sudo ln-s /usr/lib/x86_64-linux-gnu/liblzo2.so.2 /usr/lib/lzo2.so.2
f> according tosource.android.com
$ sudoapt-get install git-core gnupg flex bison gperf build-essential \
zip curl libc6-dev libncurses5-dev:i386x11proto-core-dev \
libx11-dev:i386 libreadline6-dev:i386libgl1-mesa-glx:i386 \
libgl1-mesa-dev g++-multilib mingw32openjdk-6-jdk tofrodos \
python-markdown libxml2-utils xsltproczlib1g-dev:i386
$ sudo ln-s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so
g> libncurses5-dev 和 libncurses5-dev:i386有冲突不能共存,这是Unbutu社区在讨论的问题,
Kernel在make menuconfig的时候,需要libncurses5-dev
Jb4.2在make的时候需要libncurses5-dev:i386
绕过这个可以通过安装
$sudoapt-get install lib32ncurses5-dev libncurses5-dev
实现。
h> build jb4.2需要lzop
$sudoapt-get install lzop:i386
7,安装toolchain,安装完toolchain,必须加以验证。
ARM ToolChain
1,Mboot:arm-2011.03-42-arm-none-eabi-i686-pc-linux-gnu.tar.bz2
2,Kernal/Supernova-TVOS new_arm-2010.09.tgz
验证:
1,Mboot:arm-2011.03-42-arm-none-eabi-i686-pc-linux-gnu.tar.bz2
2,Supernova-TVOS/Kernel:new_arm-2010.09.tgz
9,gcc的降级
10, 因为脚本不兼容性,请将Ubuntu下缺省的sh从dash改成bash
$ ll/bin/sh
$ sudo rm/bin/sh
$ sudo ln-s /bin/bash /bin/sh
$ ll/bin/sh
如果没有root权限,就只能修改自己的shell
#chsh
11, 升级make version,确保在3.8.2以上
$ sudoapt-get install make
$ make -v