1. SAM A5 Linux移植实验
1.1 实验目的
· 掌握Linux内核的配置、编译和安装方法,U-Boot引导内核启动;
· 掌握文件系统制作,能够启动图形界面;
1.2 实验内容
· 配置、编译和安装Linux kernel
· 制作Yocto 系统到SD卡
· 启动Yocto系统
1.3 步骤与现象
· 内核制作
1. 从空享文件夹把内核压缩包复制到 /home/SAMA5/hello_world目录下
2. 进入/home/SAMA5/hello_world目录,解压
3. 进入内核源码目录
4. 设置交叉编译环境
5. 配置内核 make ARCH=arm sama5_defconfig
6. 编译内核 make ARCH=arm
7. 编译内核出错,出现fatal error: openssl/名单.h: No such file or directory。
原因是libssl-dev~没有安装libssl-dev包含libraries, header files and manpages,是openssl的一部分。
8. sudo apt-get install libssl-dev来安装libssl-dev
9. 内核编译完成,拷贝内核镜像zImage和设备树文件at91-sama5d4_xplained.dtb到共享文件夹
10. 复制内核到SD卡,启动内核
1.4 关键代码分析
(1) 命令提醒
tar.gz格式的压缩文件
解压:[******] $ tar -zxvf FileName.tar.gz
压缩:[******] $ tar -zcvf FileName.tar.gz DirName
解压文件到指定目录:
[******]$ tar -zxvf FileName.tar.gz -C /***/***
(2) 应用测试:
· 在虚拟机上使用交叉编译工具链 arm-linux-gnueabi-gcc 编译生成的 helloarm 可执行文件,移植到开发板执行时报错:
· 确定文件权限没问题,输入 file hello 显示如下:
· 输入 ls -l
· 发现 ld-linux-armhf.so.3 是一个链接符号,指向 ,而 ld-linux.so.3也是一个链接符号,于是将 ld-linux.so.3也链接到 ,输入ln -s ld-linux.so.3,再输入ls -l ,输出如下结果:
· 执行./helloarm,可以正常运行