Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

scripts/image: build an image for each UBOOT_SYSTEM #3470

Merged
merged 5 commits into from
May 1, 2019

Conversation

Kwiboo
Copy link
Member

@Kwiboo Kwiboo commented Apr 29, 2019

This PR makes it possible to build multiple images based on the same .kernel and .system files.

When is multiple images built?

Building of multiple images is only activated when BOOTLOADER is u-boot, UBOOT_SYSTEM is empty, DEVICE is set and boards is defined in scripts/uboot_helper.

How is images built?

The u-boot package is built with empty UBOOT_SYSTEM and only update.sh, canupdate.sh and dtbs is installed into .system file at /usr/share/bootloader.
The device universal update <IMAGE_NAME>.tar file is created

For each uboot system returned by scripts/uboot_helper <PROJECT> <DEVICE>:

  • u-boot package is re-built and re-installed with UBOOT_SYSTEM set
  • bootloader/release is invoked to copy the u-boot files to 3rdparty/bootloader
  • scripts/mkimage is invoked and will generate a <IMAGE_NAME>-<UBOOT_SYSTEM>.img.gz image

How does images differ?

The images produced will differ slightly from an image built with UBOOT_SYSTEM set:

  • u-boot files installed by bootloader/install is not added to the final image
  • using these images to upgrade a device will not upgrade u-boot

Example

Running PROJECT=Rockchip ARCH=arm DEVICE=RK3328 make image will produce:

LibreELEC-RK3328.arm-9.1-devel-20190429010728-13da320-box.img.gz
LibreELEC-RK3328.arm-9.1-devel-20190429010728-13da320-box.img.gz.sha256
LibreELEC-RK3328.arm-9.1-devel-20190429010728-13da320-box-trn9.img.gz
LibreELEC-RK3328.arm-9.1-devel-20190429010728-13da320-box-trn9.img.gz.sha256
LibreELEC-RK3328.arm-9.1-devel-20190429010728-13da320-box-z28.img.gz
LibreELEC-RK3328.arm-9.1-devel-20190429010728-13da320-box-z28.img.gz.sha256
LibreELEC-RK3328.arm-9.1-devel-20190429010728-13da320.kernel
LibreELEC-RK3328.arm-9.1-devel-20190429010728-13da320-roc-cc.img.gz
LibreELEC-RK3328.arm-9.1-devel-20190429010728-13da320-roc-cc.img.gz.sha256
LibreELEC-RK3328.arm-9.1-devel-20190429010728-13da320-rock64.img.gz
LibreELEC-RK3328.arm-9.1-devel-20190429010728-13da320-rock64.img.gz.sha256
LibreELEC-RK3328.arm-9.1-devel-20190429010728-13da320-rockbox.img.gz
LibreELEC-RK3328.arm-9.1-devel-20190429010728-13da320-rockbox.img.gz.sha256
LibreELEC-RK3328.arm-9.1-devel-20190429010728-13da320.system
LibreELEC-RK3328.arm-9.1-devel-20190429010728-13da320.tar
LibreELEC-RK3328.arm-9.1-devel-20190429010728-13da320.tar.sha256

@CvH CvH added the LE 10.0 label May 1, 2019
@Kwiboo
Copy link
Member Author

Kwiboo commented May 1, 2019

I did an update to remove the requirement of empty UBOOT_VERSION and replaced it with a condition to only build multiple images when scripts/uboot_helper <PROJECT> <DEVICE> return a list of boards.

@jernejsk jernejsk merged commit feb42c3 into LibreELEC:master May 1, 2019
@Kwiboo Kwiboo deleted the multiple-images branch May 1, 2019 17:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants