-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpost-process.bbclass
More file actions
55 lines (50 loc) · 2.07 KB
/
post-process.bbclass
File metadata and controls
55 lines (50 loc) · 2.07 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
ROOTFS_POSTPROCESS_COMMAND += "deploy_manifest;"
ROOTFS_POSTPROCESS_COMMAND += "copy_scripts;"
ROOTFS_POSTPROCESS_COMMAND += "copy_dart_design;"
ROOTFS_POSTPROCESS_COMMAND += "set_env_vars;"
IMAGE_POSTPROCESS_COMMAND += "patch_pcap_devicetree;"
deploy_manifest () {
if [ -e "${IMAGE_MANIFEST}" ]; then
cp ${IMAGE_MANIFEST} ${IMAGE_ROOTFS}/home/root/rootfs.manifest
fi
}
copy_scripts () {
META_FRED_DIR="${TOPDIR}/../components/ext_source/meta-fred/"
if [ -e "${IMAGE_ROOTFS}" ]; then
cp ${META_FRED_DIR}/scripts/update_hw ${IMAGE_ROOTFS}/usr/bin/update_hw
cp ${META_FRED_DIR}/scripts/load_hw ${IMAGE_ROOTFS}/usr/bin/load_hw
fi
}
# if there is a fred.tar.gz in the base patalinux directory, this file will be inserted into the image
copy_dart_design () {
FRED_TAR_GZ="${TOPDIR}/../fred.tar.gz"
if [ -e "${FRED_TAR_GZ}" ]; then
mkdir -p ${IMAGE_ROOTFS}/opt/fredsys
cp ${FRED_TAR_GZ} ${IMAGE_ROOTFS}/opt/fredsys
cd ${IMAGE_ROOTFS}/opt/fredsys
tar xzf fred.tar.gz .
fi
}
# place your environment variables here
set_env_vars(){
mkdir -p ${IMAGE_ROOTFS}/etc/profile.d
#echo "export BOARD=${MACHINE}" > ${IMAGE_ROOTFS}/etc/profile.d/set_board_env
echo "alias ll='ls -lah'" > ${IMAGE_ROOTFS}/etc/profile.d/set_alias
echo "alias h='history | grep \$1'" >> ${IMAGE_ROOTFS}/etc/profile.d/set_alias
}
# executes the procedure recommended in
# https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18841676/U-Boot+Flattened+Device+Tree
# to patch the devicetree
patch_pcap_devicetree () {
PETA_DEPLOY_DIR="${TOPDIR}/../images/linux"
cd ${PETA_DEPLOY_DIR}
cp ../../components/ext_source/meta-fred/recipes-kernel/fpga-mgr-zynqmp-drv/image.its .
if [ -e "${PETA_DEPLOY_DIR}/system.dtb" ]; then
#cp system.dtb system-bkp.dtb
#cp image.ub image-bkp.ub
dtc -O dts -o system.dts -b 0 -@ system.dtb
sed -i 's/,zynqmp-pcap-fpga\"/,zynqmp-pcap-fpga-fmod\"/g' system.dts
dtc -O dtb -o system.dtb -b 0 -@ system.dts
/usr/bin/mkimage -f image.its image.ub
fi
}