blob: 08e1730b5d3d69fd23746ec55920731bb7dc1d84 (
plain)
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
|
require u-boot-rockchip.inc
FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
SRC_URI:append:rk-u-boot-env = " file://rockchip-enable-environment-mmc.cfg"
DEPENDS:append:rk3308 = " u-boot-tools-native"
DEPENDS:append:rock-pi-4 = " gnutls-native"
DEPENDS:append:rk-u-boot-env = " u-boot-mkenvimage-native"
do_compile:append:rock2-square () {
# copy to default search path
if [ "${SPL_BINARY}" = "u-boot-spl-dtb.bin" ]; then
cp ${B}/spl/${SPL_BINARY} ${B}
fi
}
python rk_no_env() {
if bb.utils.contains('MACHINE_FEATURES', 'rk-u-boot-env', True, False, d):
bb.warn("the rk-u-boot-env MACHINE_FEATURE is not supported for this build")
}
rk_generate_env() {
if [ ! -f "${B}/.config" ]; then
echo "U-Boot .config not found, can't determine environment size"
return 1
fi
cat ${B}/.config | grep "^CONFIG_ENV_SIZE=" > /dev/null
if [ $? -ne 0 ]; then
echo "can not find CONFIG_ENV_SIZE value in U-Boot .config"
return 1
fi
UBOOT_ENV_SIZE="$(cat ${B}/.config | grep "^CONFIG_ENV_SIZE=" | cut -d'=' -f2)"
# linux user-space U-Boot env config file
echo "/dev/disk/by-partlabel/uboot_env 0x0000 ${UBOOT_ENV_SIZE}" > ${UNPACKDIR}/fw_env.config
# convert text-based environment to binary suitable for image
if [ "${@bb.utils.to_boolean(d.getVar('RK_IMAGE_INCLUDES_UBOOT_ENV'), False)}" = "True" ]; then
if [ ! -f ${B}/u-boot-initial-env ]; then
echo "initial, text-formatted U-Boot environment file \"${B}/u-boot-initial-env\" not found"
return 1
fi
mkenvimage -s ${UBOOT_ENV_SIZE} ${B}/u-boot-initial-env -o ${B}/u-boot.env
fi
}
do_compile[postfuncs] += "${@'rk_generate_env' if 'rk-u-boot-env' in d.getVar('MACHINEOVERRIDES').split(':') else 'rk_no_env'}"
do_deploy:append:rk-u-boot-env() {
if [ -f ${B}/u-boot.env -a "${@bb.utils.to_boolean(d.getVar('RK_IMAGE_INCLUDES_UBOOT_ENV'),False)}" = "True" ]; then
install -d ${DEPLOYDIR}
install -m 0644 ${B}/u-boot.env ${DEPLOYDIR}
fi
}
|