arm-systemready-linux-distros.inc 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. SUMMARY = "Arm SystemReady Linux distros installation"
  2. DESCRIPTION = "Arm SystemReady Linux distro CD/DVD images and installation \
  3. target disk image"
  4. DISTRO_UNATTENDED_INST_TESTS ?= "0"
  5. require ${@oe.utils.vartrue("DISTRO_UNATTENDED_INST_TESTS", "arm-systemready-linux-distros-unattended.inc", "", d)}
  6. IMAGE_CLASSES:remove = "license_image create-spdx-image-3.0"
  7. IMAGE_CLASSES:remove = "${@oe.utils.vartrue("DISTRO_UNATTENDED_INST_TESTS", "", "testimage", d)}"
  8. BUILDHISTORY_FEATURES:remove = "image"
  9. INHIBIT_DEFAULT_DEPS = "1"
  10. COMPATIBLE_HOST = "aarch64-*"
  11. PACKAGE_ARCH = "${TARGET_ARCH}"
  12. inherit nopackages deploy rootfs-postcommands ${IMAGE_CLASSES}
  13. do_configure[noexec] = "1"
  14. do_compile[noexec] = "1"
  15. ISO_IMAGE_NAME = "${PN}-${PV}"
  16. IMAGE_LINK_NAME = "${PN}-${MACHINE}"
  17. ARM_SYSTEMREADY_LINUX_DISTRO_ISO_IMAGE = \
  18. "${DEPLOY_DIR_IMAGE}/${ISO_IMAGE_NAME}.iso"
  19. # Size of installation disk in MB
  20. ARM_SYSTEMREADY_LINUX_DISTRO_INSTALL_SIZE ?= "4096"
  21. S = "${UNPACKDIR}"
  22. do_image() {
  23. dd if=/dev/zero of=${WORKDIR}/${IMAGE_LINK_NAME}.wic \
  24. bs=1M count=${ARM_SYSTEMREADY_LINUX_DISTRO_INSTALL_SIZE} status=none
  25. }
  26. do_deploy() {
  27. # Deploy the iso and installation target disk image to the deploy folder
  28. install -m 644 ${UNPACKDIR}/${ISO_IMAGE_NAME}.iso ${DEPLOYDIR}
  29. install -m 644 ${WORKDIR}/${IMAGE_LINK_NAME}.wic ${DEPLOYDIR}
  30. }
  31. addtask image before do_install
  32. addtask deploy after do_install before do_image_complete
  33. # Post-process commands may write to IMGDEPLOYDIR
  34. IMGDEPLOYDIR = "${DEPLOY_DIR_IMAGE}"
  35. python do_image_complete() {
  36. # Run the image post-process commands
  37. from oe.utils import execute_pre_post_process
  38. post_process_cmds = d.getVar("IMAGE_POSTPROCESS_COMMAND")
  39. execute_pre_post_process(d, post_process_cmds)
  40. if d.getVar('DISTRO_UNATTENDED_INST_TESTS') == "1":
  41. # Ensure an empty rootfs manifest exists (required by testimage)
  42. fname = os.path.join(d.getVar('IMGDEPLOYDIR'), d.getVar('IMAGE_LINK_NAME') + ".manifest")
  43. open(fname, 'w').close()
  44. }
  45. do_image_complete[nostamp] = "1"
  46. addtask image_complete after do_deploy before do_build
  47. do_install[depends] += "arm-systemready-firmware:do_image_complete"