SemiDrive X9H 平台 Linux 系统环境搭建

一、搭建编译环境
 
① 安装 Yocto 所必须的软件包
sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib build-essential chrpath socat libsdl1.2-dev texinfo
 
② 安装 Semidrive 所需要的软件包
sudo apt-get install libsdl1.2-dev xterm sed cvs subversion coreutils texi2html

sudo apt-get install docbook-utils python-pysqlite2 help2man make gcc g++ desktop-file-utils

sudo apt-get install libgl1-mesa-dev libglu1-mesa-dev mercurial autoconf automake groff curl lzop asciidoc

sudo apt-get install abootimg jq bc​
注:支持的系统版本为 Ubuntu 16.04,Gnu Make 版本至少 4.1 版本
 
③ 将官方提供的编译工具链 gcc_linaro_7.3.1.tar 解压到 /tool 目录下
添加编译工具链路径,~/.bashrc 文件中添加如下内容
export PATH="$PATH:/tool/gcc_linaro/gcc-arm-none-eabi-7.3.1/bin:/tool/gcc_linaro/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-elf/bin"
 
执行 source 添加修改
source .bashrc
 
注:这个没有执行时,执行下面的 source 命令会有如下报错:
[ERROR] gcc-arm-none-eabi-7.3.1 HAS NOT INSTALLED, please install in path: /tool/gcc_linaro/gcc-arm-none-eabi-7.3.1/bin 
[ERROR] gcc-linaro-7.3.1-2018.05-x86_64_aarch64-elf HAS NOT INSTALLED, please install in path: /tool/gcc_linaro/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-elf/bin
 
④ 设置 git 账号属性
git config --global user.name ipual 
git config --global user.email pual.lin@wpi-group.com
git config --list
 
 
二、Linux 系统搭建
 
当前芯驰提供的一键编译方式还没有涵盖 Native Linux 整体系统的编译和打包,他们将会在下一个发布中将 Native Linux 添加进来。目前采用的是 Yocto 来进行 Linux 编译和镜像生成。
 
① 选择一个 yocto 的根目录,使用下面命令来进行运行环境设置
DISTRO=cluster-qt MACHINE=x9h_ref_serdes source sd_setup.sh -b build-x9ref
 
支持列表:
  1. x9h_ref: 使用 LVDS 1&2 输出接口
  2. x9h_ref_cluster: 使用 LVDS 3&4 输出接口
  3. x9h_ref_serdes: 使用 LVDS 1&2 输出接口,并且使用 serdes 作为显示连接方式
  4. x9h_ref_cluster_serdes: 使用 LVDS 3&4 输出接口,并且使用 serdes 作为显示连接方式
 
DISTRO 支持列表
  1. minimal-console
  2. cluster-qt
 
两个 DISTRO 最大的区别是,cluster-qt 包含了 opengl 模块以及一些图形测试程序。
-b 命令指定编译生成文件夹名称
如果不指定的话,使用默认的 build 目录,运行成功后会自动进入 build-x9ref 目录
 
 
② 选择 Semidrive 工程镜像包名称,本版本仅支持以下 Image,首选 core-image-base
Image name
Target
Provided by layer
core-image-minimal
A small image that only allows a device to boot.
poky
core-image-base
A console-only image that fully supports the target device hardware.
poky
 
运行命令开始编译
bitbake virtual/kernel 
bitbake lk
bitbake safety
bitbake core-image-base
bitbake baremetal
 
出错:UTF-8
pual@ubuntu16:/home/host/buildsystem-x9-ptg3.8/yocto/build-x9ref$ bitbake virtual/kernel
Please use a locale setting which supports UTF-8 (such as LANG=en_US.UTF-8).
Python can't change the filesystem locale after loading so we need a UTF-8 when Python starts or things won't work.
 
执行如下命令解决
sudo apt-get install locales
sudo dpkg-reconfigure locales
sudo locale-gen en_US.UTF-8
sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
export LANG=en_US.UTF-8
 
编译完成后,生成的 Image 保存在以下目录中:/tmp/deploy/images/
目录中包含 Linux 内核 Image, modules, dtb,bootloader,preloader,spl, system, safety 和 rootfs
 
③ 打包镜像
利用打包工具可以生成完整的下载包
1)生成 emmc 的 pac 包
cd meta-semidrive/scripts
./make_emmc_pac.sh
emmc 的包位于/global.pac

2)生成 ospi 的 pac 包
cd meta-semidrive/scripts
./make_ospi_pac.sh
ospi 的包位于/ospi_safety.pa

 

三、镜像烧录
 
烧录过程请参考前面一篇博文 《X9H 平台 Android 系统环境搭建》
 
完成烧录,启动开发板可以看到仪表工作正常
 
 
 
四、参考文献
 
《SD_X9_SDK_User_Manual》
《SD_X9_SDK_Quick_Start》
《SD_X9_PTG3.8_release_notes》

★博文内容均由个人提供,与平台无关,如有违法或侵权,请与网站管理员联系。

★文明上网,请理性发言。内容一周内被举报5次,发文人进小黑屋喔~

评论

发粪涂墙

发粪涂墙

2022年7月18日
Hello mm11751,可以将您的问题及需求发至邮箱:pual.lin@wpi-group.com,谢谢!
mm11751

mm11751

2022年7月11日
可以留个联系方式吗? 有问题请教,谢谢
mm11751

mm11751

2022年7月11日
可以留个联系方式吗? 有问题请教,谢谢
mm11751

mm11751

2022年7月11日
可以留个联系方式吗? 有问题请教,谢谢