SSD201环境搭建 以及源码编译
虚拟机版本ubuntu16.04 64位
下载下面所需要的内容 拷贝带虚拟机下
开发板使用的 sigmastarSSD201/202核心板\开发板
本文以sigmastar官方SSD201环境搭建以及源码编译 为参考成功搭建开发环境
原文链接:https://blog.csdn.net/ami82/article/details/110818999
一、源码下载
下载 kernel 源码
从 https://mirrors.edge.kernel.org/pub/linux/kernel/v4.x/ 上下载 linux-4.9.84.tar.gz。
下载 uboot 源码
从 ftp://ftp.denx.de/pub/u-boot/ 下载 u-boot-2015.01.tar.bz2。
下载 buildroot 源码
从 https://buildroot.org/downloads/ 下载 buildroot-2020.05.tar.bz2。
SSD20X资料百度网盘链接如下:
链接:https://pan.baidu.com/s/1SuN5QLcpg3NqAVQTZ4mCkA
提取码:wgqp
1. 下载 project
从百度云链接下载 source/project.tar.bz2。
2. 下载 source/Release_to_customer.sh
3. 下载交叉编译工具
从百度云链接下载 source/gcc-arm-8.2-2018.08-x86_64-arm-linux-gnueabihf.tar.gz
4. 下载 patch
从百度云链接下载 patch/ssd201_kernel_4.9.84.patch和 patch/ssd201_u_boot_2015.01.patch
ubuntu安装交叉编译链
解压gcc-arm-8.2-2018.08-x86_64-arm-linux-gnueabihf.tar.gz
# tar -xvf gcc-arm-8.2-2018.08-x86_64-arm-linux-gnueabihf.tar.gz -C .
修改环境变量
结合自己的路径设置环境变量:
/home/hu/ssd201
为自己保存上面文件的路径
# vim ~/.bashrc
# export PATH=/home/hu/ssd201/gcc-arm-8.2-2018.08-x86_64-arm-linux-gnueabihf/bin:$PATH
验证
# source ~/.bashrc
# which arm-linux-gnueabihf-gcc
安装SDK源码
将“源码下载”步骤下载的文件放在Linux系统同一个目录下,接着执行以下步骤完成SDK源码的安装。
安装uboot源码
# tar -jxvf u-boot-2015.01.tar.bz2 -C .
# cd u-boot-2015.01
# patch -p1 < ../ssd201_u_boot_2015.01.patch
# chmod a+x create_img.sh mz mkimage
解压kernel源码
# tar -xvf linux-4.9.84.tar.gz -C .
# cd linux-4.9.84
# patch -p1 < ../ssd201_kernel_4.9.84.patch
# chmod a+x ms_pack_modules.sh
解压project源码
# tar -jxvf project.tar.bz2 -C .
二、源码编译
编译脚本为 Release_to_customer.sh,通过它可以编译整个工程,包括 uboot、 kernel 和 rootfs。在运行前需要对其修改配置:
配置编译脚本
# vim Release_to_customer.sh
注意:按照自己的路径改
-
修改镜像保存路径,镜像保存于${RELEASEDIR}/images/目录下;
-
修改 ARCH 为 arm #exportARCH=arm
-
优化编译速度
开始编译
可以看到Release_to_customer.sh脚本执行时需要传递3个参数(-f、-p、-q);-f 表示flash的类型,可选nand、nor;
-p 表示芯片型号,可选ssd201、ssd202;
-q 表示快速启动模式,可选fastboot或空;
注意:64位的虚拟机需要下载32位的库来支持编译环境
# sudo apt-get install lib32z1*
# sudo apt-get install libncurses5-dev
这里以nand+ssd202为例,开始编译源码:
# ./Release_to_customer.sh -f nand -p ssd202
在编译过一次后,如果不换芯片型号,可以把Release_to_customer.sh中uboot和kernel的make clean 注释掉
编译 buildroot
Release_to_customer.sh没有包含buildroot的配置,因此buildroot需要单独配置。
# tar -jxvf buildroot-2020.05.tar.bz2 -C .
# cd buildroot-2020.05/
# make menuconfig
出现如下配置界面
对应上面序号 1 进入做修改 然后保存
对应上面序号 2 进入做修改 然后保存
编译完成后,将在output/target/目录下生成我们需要的文件系统。