以下方式参考官方资料,下面给出来源,提前记录以下,后面需要在树莓派上运行,如过程中有问题会及时更新,测试完成后会贴图。
https://wiki.automotivelinux.org/agl-distro/agl-raspberrypi
https://docs.automotivelinux.org/docs/en/master/getting_started/reference/getting-started/getting-started-welcome.html
简介
Automotive Grade Linux旨在成为未来车载系统开源标准平台,现将其安装在树莓派4B上测试。
主要的构建和安装流程见下图:
准备主机
主机只支持LINUX操作系统,如果需要在windows和OS下使用,只能使用虚拟机,对于LINUX操作系统这里选择Ubuntu 16.04(LTS),当然也可以用其他操作系统,可以从以下网址对照自己的操作系统版本是否支持: 支持的操作系统.
官方要求主机至少分配50G的存储
需要准备以下工具:Git18.3.1以上、Tar1.27以上、Python3.4.0以上
安装主机所需的软件安装包,这里给出了Ubuntu的shell脚本,其他系统的官方也给出了脚本: 软件安装脚本.
$ sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib \
build-essential chrpath socat cpio python python3 python3-pip python3-pexpect \
xz-utils debianutils iputils-ping libsdl1.2-dev xterm
剩下还需要安装curl,对于Ubuntu来说就很简单了:
sudo apt install curl
下载AGL软件
创建工作目录
首先我们将在HOME下创建工作目录workspace_agl,然后将该目录倒入环境变脸AGL_TOP,以下脚本可以完成:
export AGL_TOP=$HOME/workspace_agl
mkdir -p $AGL_TOP
准备Repo工具
mkdir -p ~/bin
export PATH=~/bin:$PATH
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo
下载源代码
你可以选择下载的版本,这里选择最新版本,当然你也可以下载一个稳定的版本
cd $AGL_TOP
$ repo init -u https://gerrit.automotivelinux.org/gerrit/AGL/AGL-repo
$ repo sync
初始化build环境
你可以在工作目录中找到aglsetup.sh的脚本:
$AGL_TOP/meta-agl/scripts/aglsetup.sh
该脚本接受许多选项,这些选项使您可以定义构建参数,例如目标硬件(树莓派4B),构建目录等。 使用以下命令查看可用的选项和脚本语法:
$ bash
$ cd $AGL_TOP
$ source meta-agl/scripts/aglsetup.sh -h
下面给出支持的电路板硬件,这里可以看到AGL除了支持树莓派还支持其他硬件:
在运行aglsetup.sh之前,您应该了解要包含在图像中的哪些AGL功能。 脚本的帮助输出列出了可用的功能,并向您显示了它们所在的层。
这里给出树莓派4B的构建命令:
source meta-agl/scripts/aglsetup.sh -m raspberrypi4 agl-demo agl-netboot agl-appfw-smack
导入树莓派
将image拷贝到树莓派
构建完成后,将image文件复制到SD卡上
确保你知道SD卡的驱动名称
可以使用以下命令来发现你的SD卡的名称
$ dmesg | tail -4
[ 1971.462160] sd 6:0:0:0: [sdc] Mode Sense: 03 00 00 00
[ 1971.462277] sd 6:0:0:0: [sdc] No Caching mode page found
[ 1971.462278] sd 6:0:0:0: [sdc] Assuming drive cache: write through
[ 1971.463870] sdc: sdc1 sdc2
按照上面输出确定你的SD卡驱动名称是/dev/sdc
当然你可以使用lsblk来展示你所有的驱动,如下:
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 167,7G 0 disk
├─sda1 8:1 0 512M 0 part /boot/efi
├─sda2 8:2 0 159,3G 0 part /
└─sda3 8:3 0 7,9G 0 part [SWAP]
sdb 8:16 0 931,5G 0 disk
└─sdb1 8:17 0 931,5G 0 part /media/storage
sdc 8:32 1 14,9G 0 disk
├─sdc1 8:33 1 40M 0 part
└─sdc2 8:34 1 788M 0 part
将image写入到SD卡,<sdcard_device_name>是SD卡的驱动名称,<image_name>是实际映像名词
$ sudo umount <sdcard_device_name>
$ xzcat <image_name> | sudo dd of=<sdcard_device_name> bs=4M
$ sync
使用触摸屏
如果已连接官方的Raspberry Pi Touch显示器,则可以通过编辑weston.ini文件来配置显示器。
以下给出配置示例:
#cd /etc/xdg/weston
#cat weston.ini
[core]
backend=drm-backend.so
shell=desktop-shell.so
[shell]
locking=true
# Uncomment below to hide panel
#panel-location=none
[launcher]
icon=/usr/share/weston/terminal.png
path=/usr/bin/weston-terminal
[launcher]
icon=/usr/share/weston/icon_flower.png
path=/usr/bin/weston-flower
[output]
name=DSI-1
transform=270
调试树莓派
可以使用树莓派自带串口调试树莓派