参照SDK中的文档步骤,install_notes(chs).txt。
注意事项:
---shell: 必须为bash
修改linux服务器默认sh为bash的方法
rm -f /bin/sh
ln -s /bin/bash /bin/sh
设置环境变量(文档中不推荐使用./setenv.sh):
.
./setenv.sh
安装交叉编译工具,需要root权限,执行时注意,可能有若干变异错误:
make build
[1] make build时报错:
搜索编译记录发现:
../../libtool: line 1088: arm-hisiv200-linux-ar: command not
found
make[6]: *** [liblzma.la] 错误 127
。
。
。
# define a special super cp and rm
# add suid for
mkfs.cramfs/genext2fs/mksquashfs/mkfs.jffs2/mkyaffs2image504/filecap
chown:
无法访问"/home/sc/Hi3716XV100R001C00SPC0A2/tools/linux/utils/mksquashfs":
没有那个文件或目录
make: *** [tools_install] 错误 1
查看当前env:
sc@sc:~/Hi3716XV100R001C00SPC0A2$
env | grep PATH
PATH=/opt/hisi-linux/x86-arm/arm-hisiv200-linux/target/bin:/opt/hisi-linux/x86-arm/gcc-3.4.3-uClibc-0.9.28/usr/bin:/opt/hisi-linux/x86-arm/gcc-3.4.3-csl-uClibc-0.9.30-softvfp/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
显示已经设置好了,/opt/hisi-linux/x86-arm/arm-hisiv200-linux/target/bin路径下是有该工具的。出现这个错误提示的原因就是执行make
build时使用了sudo,工作环境也变成了root的。
解决办法是:执行make build时,先执行sudo
-i,这样既可以使用root权限,又可以保留当前用户的环境。
sudo -i;make build
su 和 sudo 的区别:
1.共同点:都是root用户的权限;
2.不同点:su仅仅取得root权限,工作环境不变,还是在切换之前用户的工作环境;sudo是完全取得root的权限和root的工作环境。
注意:sudo su切换到root时原用户的环境变量也一并丢失。应使用sudo -i
[2] cannot find -lz
需要安装zlibc
sudo apt-get install zlib1g-dev