环境及结论
- 大环境的搭建思路可参考嵌入式linux环境搭建-主机端
- gateway ip
10.0.0.138
- PC windows: win10 64bit, ip
10.0.0.98
- PC linux(最终版本): ubuntu server 16.04 32 bit, ip
10.0.0.100
- Embedded Linux: jz2440v3 ip
10.0.0.111
- 目的是尝试不同linux系统下的环境搭建
- 使用环境: CentOS7 64bit (安装在win10的虚拟机内)
- kernel make 失败
- 彻底死机一次
- 没法直接安装 u-boot-tools
- 彻底放弃! 转战Ubuntu
- 不知是 centos 做 2440 的交叉编译兼容性不好, 还是64bit linux的兼容性不好. 或者两者皆有!
安装必要的软件
静态ip, 安装向导时, 就设置了.
yum install net-tools yum install bzip2 yum install patch yum install gcc
yum install glibc.i686 yum install libstdc++.so.6
|
安装nfs客户端
可以参考: NFS server and client installation on CentOS 7
yum install nfs-utils
mkdir -p /mnt/nfs/study mkdir -p /mnt/nfs/work
systemctl enable rpcbind systemctl enable nfs-server systemctl enable nfs-lock systemctl enable nfs-idmap systemctl start rpcbind systemctl start nfs-server systemctl start nfs-lock systemctl start nfs-idmap
mount -t nfs 10.0.0.98:/study /mnt/nfs/study/ mount -t nfs 10.0.0.98:/work /mnt/nfs/work/
df -kh
vi /etc/fstab 10.0.0.98:/study /mnt/nfs/study nfs defaults 0 0 10.0.0.98:/work /mnt/nfs/work nfs defaults 0 0
// 建立软连接(快捷方式) cd /home/user/ sudo ln -s /mnt/nfs/study study sudo ln -s /mnt/nfs/work work
|
安装 mkyaffs2image
该工具用于制作文件系统镜像文件
文件系统烧录到开发板flash时需要使用镜像文件
cp mkyaffs2image /bin/ chmod +x /bin/mkyaffs2image mkyaffs2image
|
安装及使用交叉编译工具gcc
安装 arm-linux-gcc-3.4.5
使用指定的 arm-linux-gcc-3.4.5-glibc-2.3.6
. 不要用新版本, 有坑.
mv arm-linux-gcc-3.4.5-glibc-2.3.6.tar.bz2 /usr/local/arm/ cd /usr/local/arm/ tar -xjf arm-linux-gcc-3.4.5-glibc-2.3.6.tar.bz2
vi /etc/bashrc if [ -d /usr/local/arm/gcc-3.4.5-glibc-2.3.6 ] ; then PATH=/usr/local/arm/gcc-3.4.5-glibc-2.3.6/bin:"${PATH}" fi
source /etc/bashrc echo $PATH arm-linux-gcc -v
|
遇到问题
在centos下, 内核 make clean 会报错: Makefile‘混和的隐含和普通规则’
我想还是因为 2440 内核文件使用的makefile太老了. 和centos兼容性不好.
按下述方法改了一点后, 最后make还是失败了. 因而放弃 centos 系统.
/ %/: prepare scripts FORCE $(Q)$(MAKE) KBUILD_MODULES=$(if $(CONFIG_MODULES),1) \ $(build)=$(build-dir)
/: prepare scripts FORCE $(Q)$(MAKE) KBUILD_MODULES=$(if $(CONFIG_MODULES),1) \ $(build)=$(build-dir) %/: prepare scripts FORCE $(Q)$(MAKE) KBUILD_MODULES=$(if $(CONFIG_MODULES),1) \ $(build)=$(build-dir)
config %config: scripts_basic outputmakefile FORCE $(Q)mkdir -p include/linux include/config $(Q)$(MAKE) $(build)=scripts/kconfig $@
config: scripts_basic outputmakefile FORCE $(Q)mkdir -p include/linux include/config $(Q)$(MAKE) $(build)=scripts/kconfig $@ %config: scripts_basic outputmakefile FORCE $(Q)mkdir -p include/linux include/config $(Q)$(MAKE) $(build)=scripts/kconfig $@
|
原创于 DRA&PHO