-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat(yocto): add support for RPi 3B +
- Loading branch information
1 parent
01f9d09
commit 1ac4491
Showing
15 changed files
with
634 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,71 @@ | ||
# Raspberry Pi 3B+ | ||
|
||
|
||
## Prerequisites | ||
|
||
* [extra2000/xilinx-toolkit v3.x image](https://github.com/extra2000/xilinx-toolkit) | ||
* SDCard with at least 4GB. | ||
* Digilent Analog Discovery 2 for accessing serial console through UART pins. | ||
|
||
|
||
## Building | ||
|
||
Allow source files to be mounted into container: | ||
``` | ||
chcon -R -t container_file_t project | ||
``` | ||
|
||
Create container: | ||
``` | ||
podman run -it --rm \ | ||
--network=host \ | ||
--userns="keep-id:uid=1000,gid=1000" \ | ||
-v ${PWD}/project:${PWD}/project:rw \ | ||
--workdir ${PWD}/project/yocto/rpi3bp \ | ||
--security-opt label=type:xilinx_toolkit_podman.process \ | ||
localhost/extra2000/xilinx-toolkit:latest \ | ||
bash | ||
source layers/poky/oe-init-build-env build | ||
``` | ||
|
||
Check dependencies: | ||
``` | ||
bitbake -p ros-core | ||
``` | ||
|
||
Build: | ||
``` | ||
bitbake ros-image-core | ||
``` | ||
|
||
Flash to SD card: | ||
``` | ||
bzcat project/yocto/rpi3bp/build/tmp/deploy/images/raspberrypi3-64/ros-image-core-humble-raspberrypi3-64-*.rootfs.wic.bz2 | sudo dd bs=4M iflag=fullblock oflag=direct status=progress of=/dev/sdX; sudo sync | ||
``` | ||
|
||
|
||
## Testing | ||
|
||
Insert SD card and power on Raspberry Pi 3B+. Access serial console and login with `root` user. Then, follow [Testing](common/testing.md) instructions. | ||
|
||
|
||
## Cleaning Up | ||
|
||
To clean build: | ||
``` | ||
rm -rf project/yocto/rpi3bp/build/{sstate-cache,tmp} | ||
``` | ||
|
||
|
||
## Known Issues | ||
|
||
When entering ROS2 environment using command: | ||
``` | ||
source /etc/profile.d/ros/setup.bash | ||
``` | ||
|
||
there will be errors such that: | ||
``` | ||
Usage: head [OPTIONS] [FILE]... | ||
head: invalid option -- 'c' | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
# POKY_BBLAYERS_CONF_VERSION is increased each time build/conf/bblayers.conf | ||
# changes incompatibly | ||
POKY_BBLAYERS_CONF_VERSION = "2" | ||
|
||
ROS_OE_RELEASE_SERIES = "honister" | ||
ROS_DISTRO = "humble" | ||
|
||
YOCTOROOT = "${@os.path.abspath(os.path.join("${TOPDIR}", os.pardir))}" | ||
|
||
BBPATH = "${TOPDIR}" | ||
BBFILES ?= "" | ||
|
||
BBLAYERS ?= " \ | ||
${YOCTOROOT}/layers/poky/meta \ | ||
${YOCTOROOT}/layers/poky/meta-poky \ | ||
${YOCTOROOT}/layers/poky/meta-yocto-bsp \ | ||
${YOCTOROOT}/layers/meta-openembedded/meta-oe \ | ||
${YOCTOROOT}/layers/meta-openembedded/meta-multimedia \ | ||
${YOCTOROOT}/layers/meta-openembedded/meta-networking \ | ||
${YOCTOROOT}/layers/meta-openembedded/meta-python \ | ||
${YOCTOROOT}/layers/meta-raspberrypi \ | ||
${YOCTOROOT}/layers/meta-ros/meta-ros-common \ | ||
${YOCTOROOT}/layers/meta-ros/meta-ros2 \ | ||
${YOCTOROOT}/layers/meta-ros/meta-ros2-humble \ | ||
${YOCTOROOT}/layers/meta-user \ | ||
" |
Oops, something went wrong.