mirror of
https://gitlab.com/buildroot.org/buildroot.git
synced 2026-09-19 16:40:46 -09:00
Actually DTB_LIST accepts only file and not files with relative path preprended. This leads to have vfat without .dtb files and so Linux doesn't start. Let's fix this by including slash in sed command as done for mxc as well as basename in front of $dt.dtb to remove possible useless folders present in the dts path. Let's also add set -e at the top of the script to make it more verbose on error and modify this section according to spellcheck as done for mxc. This commit align this "mxs/post-image.sh" with its "imx/post-image.sh" counterpart which was improved for arm64 in commit [1]. [1]4755bf2bd4Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com> [Julien: - change space indentation to tabs for consistency - add note in commit log about imx/post-image.sh ] Signed-off-by: Julien Olivain <ju.o@free.fr> (cherry picked from commit50297207a8) Signed-off-by: Thomas Perale <thomas.perale@mind.be>
59 lines
1.2 KiB
Bash
Executable File
59 lines
1.2 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
set -e
|
|
|
|
#
|
|
# dtb_list extracts the list of DTB files from BR2_LINUX_KERNEL_INTREE_DTS_NAME
|
|
# in ${BR_CONFIG}, then prints the corresponding list of file names for the
|
|
# genimage configuration file
|
|
#
|
|
dtb_list()
|
|
{
|
|
local DTB_LIST
|
|
|
|
DTB_LIST="$(sed -n 's/^BR2_LINUX_KERNEL_INTREE_DTS_NAME="\([\/a-z0-9 \-]*\)"$/\1/p' "${BR2_CONFIG}")"
|
|
|
|
for dt in $DTB_LIST; do
|
|
echo -n "\"$(basename "${dt}").dtb\", "
|
|
done
|
|
}
|
|
|
|
#
|
|
# linux_image extracts the Linux image format from BR2_LINUX_KERNEL_UIMAGE in
|
|
# ${BR_CONFIG}, then prints the corresponding file name for the genimage
|
|
# configuration file
|
|
#
|
|
linux_image()
|
|
{
|
|
if grep -Eq "^BR2_LINUX_KERNEL_UIMAGE=y$" ${BR2_CONFIG}; then
|
|
echo "\"uImage\""
|
|
else
|
|
echo "\"zImage\""
|
|
fi
|
|
}
|
|
|
|
main()
|
|
{
|
|
local FILES="$(dtb_list) $(linux_image)"
|
|
local GENIMAGE_CFG="$(mktemp --suffix genimage.cfg)"
|
|
local GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp"
|
|
|
|
sed -e "s/%FILES%/${FILES}/" \
|
|
board/freescale/common/mxs/genimage.cfg.template > ${GENIMAGE_CFG}
|
|
|
|
rm -rf "${GENIMAGE_TMP}"
|
|
|
|
genimage \
|
|
--rootpath "${TARGET_DIR}" \
|
|
--tmppath "${GENIMAGE_TMP}" \
|
|
--inputpath "${BINARIES_DIR}" \
|
|
--outputpath "${BINARIES_DIR}" \
|
|
--config "${GENIMAGE_CFG}"
|
|
|
|
rm -f ${GENIMAGE_CFG}
|
|
|
|
exit $?
|
|
}
|
|
|
|
main $@
|