diff options
Diffstat (limited to 'meta/classes/kernel-fitimage.bbclass')
| -rw-r--r-- | meta/classes/kernel-fitimage.bbclass | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/meta/classes/kernel-fitimage.bbclass b/meta/classes/kernel-fitimage.bbclass index 9661b4ff78..9fa302a5c8 100644 --- a/meta/classes/kernel-fitimage.bbclass +++ b/meta/classes/kernel-fitimage.bbclass | |||
| @@ -75,6 +75,9 @@ FIT_KEY_SIGN_PKCS ?= "-x509" | |||
| 75 | # Description string | 75 | # Description string |
| 76 | FIT_DESC ?= "U-Boot fitImage for ${DISTRO_NAME}/${PV}/${MACHINE}" | 76 | FIT_DESC ?= "U-Boot fitImage for ${DISTRO_NAME}/${PV}/${MACHINE}" |
| 77 | 77 | ||
| 78 | # Sign individual images as well | ||
| 79 | FIT_SIGN_INDIVIDUAL ?= "0" | ||
| 80 | |||
| 78 | # mkimage command | 81 | # mkimage command |
| 79 | UBOOT_MKIMAGE ?= "uboot-mkimage" | 82 | UBOOT_MKIMAGE ?= "uboot-mkimage" |
| 80 | UBOOT_MKIMAGE_SIGN ?= "${UBOOT_MKIMAGE}" | 83 | UBOOT_MKIMAGE_SIGN ?= "${UBOOT_MKIMAGE}" |
| @@ -142,6 +145,8 @@ EOF | |||
| 142 | fitimage_emit_section_kernel() { | 145 | fitimage_emit_section_kernel() { |
| 143 | 146 | ||
| 144 | kernel_csum="${FIT_HASH_ALG}" | 147 | kernel_csum="${FIT_HASH_ALG}" |
| 148 | kernel_sign_algo="${FIT_SIGN_ALG}" | ||
| 149 | kernel_sign_keyname="${UBOOT_SIGN_KEYNAME}" | ||
| 145 | 150 | ||
| 146 | ENTRYPOINT="${UBOOT_ENTRYPOINT}" | 151 | ENTRYPOINT="${UBOOT_ENTRYPOINT}" |
| 147 | if [ -n "${UBOOT_ENTRYSYMBOL}" ]; then | 152 | if [ -n "${UBOOT_ENTRYSYMBOL}" ]; then |
| @@ -164,6 +169,17 @@ fitimage_emit_section_kernel() { | |||
| 164 | }; | 169 | }; |
| 165 | }; | 170 | }; |
| 166 | EOF | 171 | EOF |
| 172 | |||
| 173 | if [ "${UBOOT_SIGN_ENABLE}" = "1" -a "${FIT_SIGN_INDIVIDUAL}" = "1" -a -n "${kernel_sign_keyname}" ] ; then | ||
| 174 | sed -i '$ d' ${1} | ||
| 175 | cat << EOF >> ${1} | ||
| 176 | signature@1 { | ||
| 177 | algo = "${kernel_csum},${kernel_sign_algo}"; | ||
| 178 | key-name-hint = "${kernel_sign_keyname}"; | ||
| 179 | }; | ||
| 180 | }; | ||
| 181 | EOF | ||
| 182 | fi | ||
| 167 | } | 183 | } |
| 168 | 184 | ||
| 169 | # | 185 | # |
| @@ -175,6 +191,8 @@ EOF | |||
| 175 | fitimage_emit_section_dtb() { | 191 | fitimage_emit_section_dtb() { |
| 176 | 192 | ||
| 177 | dtb_csum="${FIT_HASH_ALG}" | 193 | dtb_csum="${FIT_HASH_ALG}" |
| 194 | dtb_sign_algo="${FIT_SIGN_ALG}" | ||
| 195 | dtb_sign_keyname="${UBOOT_SIGN_KEYNAME}" | ||
| 178 | 196 | ||
| 179 | dtb_loadline="" | 197 | dtb_loadline="" |
| 180 | dtb_ext=${DTB##*.} | 198 | dtb_ext=${DTB##*.} |
| @@ -198,6 +216,17 @@ fitimage_emit_section_dtb() { | |||
| 198 | }; | 216 | }; |
| 199 | }; | 217 | }; |
| 200 | EOF | 218 | EOF |
| 219 | |||
| 220 | if [ "${UBOOT_SIGN_ENABLE}" = "1" -a "${FIT_SIGN_INDIVIDUAL}" = "1" -a -n "${dtb_sign_keyname}" ] ; then | ||
| 221 | sed -i '$ d' ${1} | ||
| 222 | cat << EOF >> ${1} | ||
| 223 | signature@1 { | ||
| 224 | algo = "${dtb_csum},${dtb_sign_algo}"; | ||
| 225 | key-name-hint = "${dtb_sign_keyname}"; | ||
| 226 | }; | ||
| 227 | }; | ||
| 228 | EOF | ||
| 229 | fi | ||
| 201 | } | 230 | } |
| 202 | 231 | ||
| 203 | # | 232 | # |
| @@ -236,6 +265,8 @@ EOF | |||
| 236 | fitimage_emit_section_ramdisk() { | 265 | fitimage_emit_section_ramdisk() { |
| 237 | 266 | ||
| 238 | ramdisk_csum="${FIT_HASH_ALG}" | 267 | ramdisk_csum="${FIT_HASH_ALG}" |
| 268 | ramdisk_sign_algo="${FIT_SIGN_ALG}" | ||
| 269 | ramdisk_sign_keyname="${UBOOT_SIGN_KEYNAME}" | ||
| 239 | ramdisk_loadline="" | 270 | ramdisk_loadline="" |
| 240 | ramdisk_entryline="" | 271 | ramdisk_entryline="" |
| 241 | 272 | ||
| @@ -261,6 +292,17 @@ fitimage_emit_section_ramdisk() { | |||
| 261 | }; | 292 | }; |
| 262 | }; | 293 | }; |
| 263 | EOF | 294 | EOF |
| 295 | |||
| 296 | if [ "${UBOOT_SIGN_ENABLE}" = "1" -a "${FIT_SIGN_INDIVIDUAL}" = "1" -a -n "${ramdisk_sign_keyname}" ] ; then | ||
| 297 | sed -i '$ d' ${1} | ||
| 298 | cat << EOF >> ${1} | ||
| 299 | signature@1 { | ||
| 300 | algo = "${ramdisk_csum},${ramdisk_sign_algo}"; | ||
| 301 | key-name-hint = "${ramdisk_sign_keyname}"; | ||
| 302 | }; | ||
| 303 | }; | ||
| 304 | EOF | ||
| 305 | fi | ||
| 264 | } | 306 | } |
| 265 | 307 | ||
| 266 | # | 308 | # |
