一、EC20环境搭建问题汇总

系统选择

官方推荐使用Ubuntu14.04,64位,安装使用Ubuntu14.04.4能编译,但是制作文件系统时出现问题Python的编码问题,原因在于交叉编译器内部使用了2.7版本的Python,而系统本身的Python版本已经是3以上版本。只能更换系统,重新选择了Ubuntu12.04.4,问题解决。

制作文件系统使用了fakeroot和mksquashfs两个工具,fakeroot用于模拟root权限,mksquashfs则用于制作嵌入式文件系统。Ubuntu12.04.4没有包含两个工具,同时使用官方的软件源无法安装这两个工具。fakeroot的解决方法一,直接使用root用户运行;解决方法二,更换软件源,使用阿里云的软件源再重新安装。mksquashfs需要下载源码编译安装:

wget https://nchc.dl.sourceforge.net/project/squashfs/squashfs/squashfs4.3/squashfs4.3.tar.gz
tar -zxvf squashfs4.3.tar.gz
cd squashfs4.3/squashfs-tools
sudo make && sudo make install

在编译过程之中出现如下问题:

gzip_wrapper.c:23:18: fatal error: zlib.h: No such file or directory compilation terminated.

make: *** [gzip_wrapper.o] Error 1

网上 https://yq.aliyun.com/ziliao/264282 说需要安装 sudo apt-get install zlib1g-dev

尝试安装,安装失败。

接着更改软件源到阿里云,/etc/apt/source.list

deb http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse

运行apt-get update

接着再重新安装zlib1g-dev,成功。安装mksquashfs成功。

apt-get install zlib1g-dev

接着重新安装fakeroot也成功了。根文件系统制作成功。

 

制作根文件系统前需要先编译内核。

内核编译

清除编译文件
make disclean

生成.config文件
make ARCH=arm mdm9607-perf_defconfig O=build
make ARCH=arm CC=arm-oe-linux-gnueabi-gcc LD=arm-oe-linux gnueabi-ld.bfd -j 4 O=build

生成zImage文件目录
/build/arch/arm/boot
生成mdm9607-mtp.dtb文件目录
/build/arch/arm/boot/dts/qcom/

制作文件系统,flash块大小4K,也就是4096
mdm9607-perf-sysfs.ubi
./ql-ol-extsdk/tools/quectel_ubi/mkfs.ubifs -r ql-ol-rootfs -o mdm9607-perf-sysfs.ubifs -m 4096 -e 253952 -c 2146 -F
./ql-ol-extsdk/tools/quectel_ubi/ubinize -o mdm9607-perf-sysfs.ubi -m 4096 -p 256KiB -s 4096 ql-ol-extsdk/tools/quectel_ubi/ubinize.cfg

 

 

其他问题

error while loading shared libraries: liblzo2.so.2: cannot open shared object file: No such file or directory

需要安装
apt-get install liblzo2*

 

adb乱码

运行:alias ls='busybox ls --color=never'  可以解决

 

安装完增强工具并设置共享文件夹名称为share后,挂接到Linux命令
sudo mount -t vboxsf share /mnt

 

64位系统安装32位工具链,需要安装支出包。安装支持包前需要执行
sudo apt-get install
sudo apt-get update
接着安装支持包
sudo apt-get install lib32z1 lib32ncurses5


编译内核时出现
解决libstdc++.so.6: cannot open shared object file: No such file or directory:
原因在于,在13.10 版本中,ia32_libs 被废弃了导致没有32位的lib库。
解决方法
sudo apt-get install lib32stdc++6
sudo apt-get install lib32z1

 

 

 

 

你可能感兴趣的:(EC20)